Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/datatable_jui.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/datatable_jui.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/datatable_jui.css	(revision 6286)
@@ -0,0 +1,521 @@
+/*
+ *  File:         demo_table_jui.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.
+ */
+
+
+/*
+ * jQuery UI specific styling
+ */
+
+.paging_two_button .ui-button {
+	float: left;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+.paging_full_numbers .ui-button {
+	padding: 2px 6px;
+	margin: 0;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+.dataTables_paginate .ui-button {
+	margin-right: -0.1em !important;
+}
+
+.paging_full_numbers {
+	width: 350px !important;
+}
+
+.dataTables_wrapper .ui-toolbar {
+	padding: 5px;
+}
+
+.dataTables_paginate {
+	width: auto;
+}
+
+.dataTables_info {
+	padding-top: 3px;
+}
+
+table.display thead th {
+	padding: 3px 0px 3px 10px;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+div.dataTables_wrapper .ui-widget-header {
+	font-weight: normal;
+}
+
+
+/*
+ * Sort arrow icon positioning
+ */
+table.display thead th div.DataTables_sort_wrapper {
+	position: relative;
+	padding-right: 20px;
+	padding-right: 20px;
+}
+
+table.display thead th div.DataTables_sort_wrapper span {
+	position: absolute;
+	top: 50%;
+	margin-top: -8px;
+	right: 0;
+}
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Everything below this line is the same as demo_table.css. This file is
+ * required for 'cleanliness' of the markup
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables features
+ */
+
+.dataTables_wrapper {
+	position: relative;
+	min-height: 302px;
+	_height: 302px;
+	clear: both;
+}
+
+.dataTables_processing {
+	position: absolute;
+	top: 0px;
+	left: 50%;
+	width: 250px;
+	margin-left: -125px;
+	border: 1px solid #ddd;
+	text-align: center;
+	color: #999;
+	font-size: 11px;
+	padding: 2px 0;
+}
+
+.dataTables_length {
+	width: 40%;
+	float: left;
+}
+
+.dataTables_filter {
+	width: 50%;
+	float: right;
+	text-align: right;
+}
+
+.dataTables_info {
+	width: 50%;
+	float: left;
+}
+
+.dataTables_paginate {
+	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;
+	border-collapse: collapse;
+}
+
+table.display tfoot th {
+	padding: 3px 0px 3px 10px;
+	font-weight: bold;
+	font-weight: normal;
+}
+
+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: #F0F0F0;
+}
+
+tr.even {
+	background-color: white;
+}
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Misc
+ */
+.dataTables_scroll {
+	clear: both;
+}
+
+.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 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: #FFDE5B;
+}
+
+tr.odd td.sorting_2 {
+	background-color: #DADCFF;
+}
+
+tr.odd td.sorting_3 {
+	background-color: #E0E2FF;
+}
+
+tr.even td.sorting_1 {
+	background-color: #FFF7E5;
+}
+
+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;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/ui-lightness/jquery-ui-1.8.12.custom.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/ui-lightness/jquery-ui-1.8.12.custom.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/ui-lightness/jquery-ui-1.8.12.custom.css	(revision 6286)
@@ -0,0 +1,578 @@
+/*
+ * jQuery UI CSS Framework 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
+.ui-widget-content a { color: #333333; }
+.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
+.ui-widget-header a { color: #ffffff; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-right {  -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
+.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
+ * jQuery UI Resizable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;
+	/* http://bugs.jqueryui.com/ticket/7233
+	 - Resizable: resizable handles fail to work in IE if transparent and content overlaps
+	*/
+	background-image:url(data:);
+}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }	
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.12
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+	list-style:none;
+	padding: 2px;
+	margin: 0;
+	display:block;
+	float: left;
+}
+.ui-menu .ui-menu {
+	margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+	margin:0;
+	padding: 0;
+	zoom: 1;
+	float: left;
+	clear: left;
+	width: 100%;
+}
+.ui-menu .ui-menu-item a {
+	text-decoration:none;
+	display:block;
+	padding:.2em .4em;
+	line-height:1.5;
+	zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+	font-weight: normal;
+	margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; } 
+button.ui-button-icons-only { width: 3.7em; } 
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4;  }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } 
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/ui-smoothness/jquery-ui-1.8.13.custom.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/ui-smoothness/jquery-ui-1.8.13.custom.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/css/ui-smoothness/jquery-ui-1.8.13.custom.css	(revision 6286)
@@ -0,0 +1,578 @@
+/*
+ * jQuery UI CSS Framework 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-right {  -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;
+	/* http://bugs.jqueryui.com/ticket/7233
+	 - Resizable: resizable handles fail to work in IE if transparent and content overlaps
+	*/
+	background-image:url(data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=);
+}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }
+/*
+ * jQuery UI Autocomplete 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }	
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu 1.8.13
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+	list-style:none;
+	padding: 2px;
+	margin: 0;
+	display:block;
+	float: left;
+}
+.ui-menu .ui-menu {
+	margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+	margin:0;
+	padding: 0;
+	zoom: 1;
+	float: left;
+	clear: left;
+	width: 100%;
+}
+.ui-menu .ui-menu-item a {
+	text-decoration:none;
+	display:block;
+	padding:.2em .4em;
+	line-height:1.5;
+	zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+	font-weight: normal;
+	margin: -1px;
+}
+/*
+ * jQuery UI Button 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; } 
+button.ui-button-icons-only { width: 3.7em; } 
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4;  }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } 
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/.gitignore
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/.gitignore	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/.gitignore	(revision 6286)
@@ -0,0 +1,1 @@
+extras
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/Readme.txt
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/Readme.txt	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/Readme.txt	(revision 6286)
@@ -0,0 +1,11 @@
+This DataTables plugin (v1.7.x) for jQuery was developed out of the desire to allow highly configurable access to HTML tables with advanced access features.
+
+For detailed installation, usage and API instructions, please refer to the DataTables web-pages: http://www.datatables.net
+
+Questions, feature requests and bug reports (etc) can all be asked on the DataTables forums: http://www.datatables.net/forums/
+
+The DataTables source can be found in the media/js/ directory of this archive.
+
+DataTables is released with dual licensing, using the GPL v2 (license-gpl2.txt) and an BSD style license (license-bsd.txt). Please see the corresponding license file for details of these licenses. You are free to use, modify and distribute this software, but all copyright information must remain.
+
+If you discover any bugs in DataTables, have any suggestions for improvements or even if you just like using it, please free to get in touch with me: www.datatables.net/contact
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/column_render.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/column_render.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/column_render.html	(revision 6286)
@@ -0,0 +1,580 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"aoColumnDefs": [ 
+						{
+							"fnRender": function ( oObj ) {
+								return oObj.aData[0] +' '+ oObj.aData[3];
+							},
+							"aTargets": [ 0 ]
+						},
+						{ "bVisible": false,  "aTargets": [ 3 ] },
+						{ "sClass": "center", "aTargets": [ 4 ] }
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> with column rendering
+			</div>
+
+			<h1>Preamble</h1>
+			<p>You may specify a function for each column to render the available data in a specific manner which will be called when the table is drawn. In this example I've appended the rendering engine version to the rendering engine name in the first column, and hidden the version column.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"aoColumnDefs": [ 
+			{
+				"fnRender": function ( oObj ) {
+					return oObj.aData[0] +' '+ oObj.aData[3];
+				},
+				"aTargets": [ 0 ]
+			},
+			{ "bVisible": false,  "aTargets": [ 3 ] },
+			{ "sClass": "center", "aTargets": [ 4 ] }
+		]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/complex_header.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/complex_header.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/complex_header.html	(revision 6286)
@@ -0,0 +1,583 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.bt { border-top: 1px solid black; }
+			.br { border-right: 1px solid black; }
+			.bb { border-bottom: 1px solid black; }
+			.bl { border-left: 1px solid black; }
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> complex header example (row and colspans)
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When using tables to display data, you will often wish to display column information in groups. DataTables fully supports colspan and rowspans in the header, assigning the required sorting listeners to the TH element suitable for that column. Each column must have one TH cell (and only one) which is unique to it for the listeners to be added. The example shown below has the core browser information grouped together.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th rowspan="2" class="bl bt">Rendering engine</th>
+			<th colspan="3" class="bl br bt">Browser details</th>
+			<th rowspan="2" class="br bt">CSS grade</th>
+		</tr>
+		<tr>
+			<th class="bl">Browser</th>
+			<th>Platform(s)</th>
+			<th class="br">Engine version</th>
+		</tr>
+		<!--
+		<tr>
+			<th rowspan="2">Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th rowspan="2">CSS grade</th>
+		</tr>
+		<tr>
+			<th colspan="3">Browser details</th>
+		</tr>
+		-->
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/dom_multiple_elements.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/dom_multiple_elements.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/dom_multiple_elements.html	(revision 6286)
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			div.dataTables_info {
+				padding-bottom: 10px;
+			}
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sDom": '<"top"iflp<"clear">>rt<"bottom"iflp<"clear">>'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> DOM positioning - multiple instances example
+			</div>
+
+			<h1>Preamble</h1>
+			<p>As is described by the basic <a href="../basic_init/dom.html">DOM positioning example</a> you can use the sDom initialisation parameter to move DataTables features around the table to where you want them. However you can also use sDom to create multiple instances of these table controls. Simply include the feature's identification letter where you want it to appear, as many times as you wish, and the controls will all sync up.</p>
+			<p>This is shown in the demo below where for four key build-in features are duplicated above and below the table. Note that obviously the table ('t') should be included only once.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>
+				Internet
+				 Explorer 
+				4.0
+				</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sDom": '&lt;"top"iflp&lt;"clear"&gt;&gt;rt&lt;"bottom"iflp&lt;"clear"&gt;&gt;'
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/dom_toolbar.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/dom_toolbar.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/dom_toolbar.html	(revision 6286)
@@ -0,0 +1,578 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			div.dataTables_info {
+				padding-bottom: 10px;
+			}
+			.toolbar {
+				float: left;
+			}
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sDom": '<"toolbar">frtip'
+				} );
+				$("div.toolbar").html('<b>Custom tool bar! Text/images etc.</b>');
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> Custom DOM additions
+			</div>
+
+			<h1>Preamble</h1>
+			<p>DataTables inserts DOM elements around the table to control DataTables features, and you can make use of this mechanism as well to insert your own custom elements. In this example a DIV with a class of 'toolbar' is created using sDom, and then HTML is inserted into the created DIV once the table has been initialised. You could put whatever HTML you want into the toolbar and add event handlers etc.</p>
+			<p>For more complex DOM manipulation around the table, you might want to consider making use of DataTables <a href="/development/features">feature plug-in API</a>, which is used for <a href="/release-datatables/extras/TableTools/">TableTools</a> and other DataTables plug-ins.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>
+				Internet
+				 Explorer 
+				4.0
+				</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sDom": '&lt;"toolbar"&gt;frtip'
+	} );
+	$("div.toolbar").html('<b>Custom tool bar! Text/images etc.</b>');
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/events_post_init.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/events_post_init.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/events_post_init.html	(revision 6286)
@@ -0,0 +1,628 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "../examples_support/jquery.tooltip.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../examples_support/jquery.tooltip.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				/*
+				 * First step is to create title attributes for the rows in the table
+				 * This isn't needed if the required 'title' attribute is already set in the HTML in the
+				 * DOM 
+				 */
+				$('#example tbody tr').each( function() {
+					var sTitle;
+					var nTds = $('td', this);
+					var sBrowser = $(nTds[1]).text();
+					var sGrade = $(nTds[4]).text();
+					
+					if ( sGrade == "A" )
+						sTitle =  sBrowser+' will provide a first class (A) level of CSS support.';
+					else if ( sGrade == "C" )
+						sTitle = sBrowser+' will provide a core (C) level of CSS support.';
+					else if ( sGrade == "X" )
+						sTitle = sBrowser+' does not provide CSS support or has a broken implementation. Block CSS.';
+					else
+						sTitle = sBrowser+' will provide an undefined level of CSS support.';
+					
+					this.setAttribute( 'title', sTitle );
+				} );
+				
+				/* Init DataTables */
+				var oTable = $('#example').dataTable();
+				
+				/* Apply the tooltips */
+				$( oTable.fnGetNodes() ).tooltip( {
+					"delay": 0,
+					"track": true,
+					"fade": 250
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> events (post-initialisation) example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Events which are assigned to the table elements are retained by <i>DataTables</i> such that they will still work as you would expect, even after changing the sort order etc. (no need to reapply the event handlers). You can do this at any time, although if you apply the handlers after the table has been initialised there is an extra set. Rather then queriing the DOM to get all rows (since they aren't there) you need to use the <b>fnGetNodes()</b> API function. This is shown in this example.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 
+				4.0
+				</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	/*
+	 * First step is to create title attributes for the rows in the table
+	 * This isn't needed if the required 'title' attribute is already set in the HTML in the
+	 * DOM 
+	 */
+	$('#example tbody tr').each( function() {
+		var sTitle;
+		var nTds = $('td', this);
+		var sBrowser = $(nTds[1]).text();
+		var sGrade = $(nTds[4]).text();
+		
+		if ( sGrade == "A" )
+			sTitle =  sBrowser+' will provide a first class (A) level of CSS support.';
+		else if ( sGrade == "C" )
+			sTitle = sBrowser+' will provide a core (C) level of CSS support.';
+		else if ( sGrade == "X" )
+			sTitle = sBrowser+' does not provide CSS support or has a broken implementation. Block CSS.';
+		else
+			sTitle = sBrowser+' will provide an undefined level of CSS support.';
+		
+		this.setAttribute( 'title', sTitle );
+	} );
+	
+	/* Init DataTables */
+	var oTable = $('#example').dataTable();
+	
+	/* Apply the tooltips */
+	$( oTable.fnGetNodes() ).tooltip( {
+		"delay": 0,
+		"track": true,
+		"fade": 250
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/events_pre_init.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/events_pre_init.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/events_pre_init.html	(revision 6286)
@@ -0,0 +1,628 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "../examples_support/jquery.tooltip.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../examples_support/jquery.tooltip.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				/*
+				 * First step is to create title attributes for the rows in the table
+				 * This isn't needed if the required 'title' attribute is already set in the HTML in the
+				 * DOM 
+				 */
+				$('#example tbody tr').each( function() {
+					var sTitle;
+					var nTds = $('td', this);
+					var sBrowser = $(nTds[1]).text();
+					var sGrade = $(nTds[4]).text();
+					
+					if ( sGrade == "A" )
+						sTitle =  sBrowser+' will provide a first class (A) level of CSS support.';
+					else if ( sGrade == "C" )
+						sTitle = sBrowser+' will provide a core (C) level of CSS support.';
+					else if ( sGrade == "X" )
+						sTitle = sBrowser+' does not provide CSS support or has a broken implementation. Block CSS.';
+					else
+						sTitle = sBrowser+' will provide an undefined level of CSS support.';
+					
+					this.setAttribute( 'title', sTitle );
+				} );
+				
+				/* Apply the tooltips */
+				$('#example tbody tr[title]').tooltip( {
+					"delay": 0,
+					"track": true,
+					"fade": 250
+				} );
+				
+				/* Init DataTables */
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> events (pre-initialisation) example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Events which are assigned to the table elements are retained by <i>DataTables</i> such that they will still work as you would expect, even after changing the sort order etc. (no need to reapply the event handlers). If you apply the event handlers before you initialise <i>DataTables</i>, you just do this in the normal way. This is shown in this example where the call <b>$('#example tbody tr[title]').tooltip();</b> is made before the table is initialised.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 
+				4.0
+				</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	/*
+	 * First step is to create title attributes for the rows in the table
+	 * This isn't needed if the required 'title' attribute is already set in the HTML in the
+	 * DOM 
+	 */
+	$('#example tbody tr').each( function() {
+		var sTitle;
+		var nTds = $('td', this);
+		var sBrowser = $(nTds[1]).text();
+		var sGrade = $(nTds[4]).text();
+		
+		if ( sGrade == "A" )
+			sTitle =  sBrowser+' will provide a first class (A) level of CSS support.';
+		else if ( sGrade == "C" )
+			sTitle = sBrowser+' will provide a core (C) level of CSS support.';
+		else if ( sGrade == "X" )
+			sTitle = sBrowser+' does not provide CSS support or has a broken implementation. Block CSS.';
+		else
+			sTitle = sBrowser+' will provide an undefined level of CSS support.';
+		
+		this.setAttribute( 'title', sTitle );
+	} );
+	
+	/* Apply the tooltips */
+	$('#example tbody tr[title]').tooltip( {
+		"delay": 0,
+		"track": true,
+		"fade": 250
+	} );
+	
+	/* Init DataTables */
+	$('#example').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/footer_callback.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/footer_callback.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/footer_callback.html	(revision 6286)
@@ -0,0 +1,612 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"fnFooterCallback": function ( nRow, aaData, iStart, iEnd, aiDisplay ) {
+						/*
+						 * Calculate the total market share for all browsers in this table (ie inc. outside
+						 * the pagination)
+						 */
+						var iTotalMarket = 0;
+						for ( var i=0 ; i<aaData.length ; i++ )
+						{
+							iTotalMarket += aaData[i][4]*1;
+						}
+						
+						/* Calculate the market share for browsers on this page */
+						var iPageMarket = 0;
+						for ( var i=iStart ; i<iEnd ; i++ )
+						{
+							iPageMarket += aaData[ aiDisplay[i] ][4]*1;
+						}
+						
+						/* Modify the footer row to match what we want */
+						var nCells = nRow.getElementsByTagName('th');
+						nCells[1].innerHTML = parseInt(iPageMarket * 100)/100 +
+							'% ('+ parseInt(iTotalMarket * 100)/100 +'% total)';
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> footer callback example
+			</div>
+
+			<h1>Preamble</h1>
+			<p><i>DataTables</i> using the header and footer callback manipulation functions (fnHeaderCallback() and fnFooterCallback()) you can perform some powerful and useful data manipulation. The example given below shows how a callback function can be used to total up visible (and hidden) data, taking into account all of DataTable's features (pagination, filtering etc).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th style="width: 150px">Market share (%)</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>
+				Internet
+				 Explorer 
+				4.0
+				</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+			<td class="center">0.1</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+			<td class="center">0.5</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="center">36</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+			<td class="center">41</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="center">1</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">0.1</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">0.5</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">7</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+			<td class="center">9</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+			<td class="center">1</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+			<td class="center">2.2</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+			<td class="center">0.05</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.1</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.2</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.8</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center">0.01</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+			<td class="center">0.04</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th style="text-align:right" colspan="4">Total:</th>
+			<th></th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			<p class="space">Warning! The market share information given in this table is <b>fabricated</b> using a combination of (mild) judgement, the <a href="http://www.mail-archive.com/backstage@lists.bbc.co.uk/msg03899.html">BBC Browser Statistics</a> information and statistics from <a href="http://www.thecounter.com/stats/2008/August/browser.php">TheCounter.com</a>. THe lowest usage given to anyone browser is 0.01 for reasons of this example.</p> 
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnFooterCallback": function ( nRow, aaData, iStart, iEnd, aiDisplay ) {
+			/*
+			 * Calculate the total market share for all browsers in this table (ie inc. outside
+			 * the pagination)
+			 */
+			var iTotalMarket = 0;
+			for ( var i=0 ; i&lt;aaData.length ; i++ )
+			{
+				iTotalMarket += aaData[i][4]*1;
+			}
+			
+			/* Calculate the market share for browsers on this page */
+			var iPageMarket = 0;
+			for ( var i=iStart ; i&lt;iEnd ; i++ )
+			{
+				iPageMarket += aaData[ aiDisplay[i] ][4]*1;
+			}
+			
+			/* Modify the footer row to match what we want */
+			var nCells = nRow.getElementsByTagName('th');
+			nCells[1].innerHTML = parseInt(iPageMarket * 100)/100 +
+				'% ('+ parseInt(iTotalMarket * 100)/100 +'% total)';
+		}
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/highlight.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/highlight.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/highlight.html	(revision 6286)
@@ -0,0 +1,606 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example" class="ex_highlight_row">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> highlighting via CSS example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When highlighting rows using CSS :hover, you need to be aware of the sorting class which is applied to elements in the column currently being sorted (assuming it is enabled - it is by default). This example shows how to consider this in CSS, with highlighting for each row, and a little tint for the sorting column to maintain it's visibility as the column currently being sorted upon.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<p>Javascript:</p>
+			<pre>
+$(document).ready(function() {
+	$('#example').dataTable();
+} );</pre>
+
+			<p>CSS (note that for this example the selector ".ex_highlight" is used to limit the CSS here to just this example.</p>
+			<pre>.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;
+}
+</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/html_sort.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/html_sort.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/html_sort.html	(revision 6286)
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> HTML sorting example
+			</div>
+
+			<h1>Preamble</h1>
+			<p>DataTables will attempt to automatically detect the data types that your table contains, allowing it to accurately sort and filter this data. This example shows automatic type detection of HTML information - note that the sorting is correct on the second column for the visible information. Additional data types can be added through <a href="http://datatables.net/plug-ins/">plug-ins</a>.
+			<p>Note that prior to DataTables 1.7 the HTML type was not automatically detected, and it was necessary to specify the sType for the column - this is now not needed as seen in this example. If you do want to be able to sort and filter on the HTML information you can specify the sType for the column as 'string'.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Reflection</th>
+			<th class="html">Link</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td>DataTables</td>
+			<td><a href="http://www.sprymedia.co.uk/article/DataTables">DataTables</a></td>
+		</tr>
+		<tr>
+			<td>Integrity</td>
+			<td><a href="http://www.sprymedia.co.uk/article/Integrity">A link to Integrity</a></td>
+		</tr>
+		<tr>
+			<td>Integrity</td>
+			<td><a href="http://www.sprymedia.co.uk/article/Integrity">Integrity</a></td>
+		</tr>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable();</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/language_file.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/language_file.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/language_file.html	(revision 6286)
@@ -0,0 +1,570 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"oLanguage": {
+						"sUrl": "../examples_support/de_DE.txt"
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> language file example
+			</div>
+
+			<h1>Preamble</h1>
+			<p>As well as being able to pass language information to <i>DataTables</i> through the initialisation object, you can also store the language information in a file, which <i>DataTables</i> will then read. Useful if you are using server-side processes to switch language. The following example shows <i>DataTables</i> reading a German language file.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"oLanguage": {
+			"sUrl": "media/language/de_DE.txt"
+		}
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/length_menu.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/length_menu.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/length_menu.html	(revision 6286)
@@ -0,0 +1,568 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> defining the length menu example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>It is possible to easily customise the options shown in the length menu (by default at the top left of the table) using the aLengthMenu initialisation option. This parameter is either a 1D array of options which will be used for both the displayed option and the value, or a 2D array (shown in this example) which will use the array in the first position as the value, and the array in the second position as the displayed options (useful for language strings such as 'All').</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"aLengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/row_callback.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/row_callback.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/row_callback.html	(revision 6286)
@@ -0,0 +1,588 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
+						/* Append the grade to the default row class name */
+						if ( aData[4] == "A" )
+						{
+							$('td:eq(4)', nRow).html( '<b>A</b>' );
+						}
+						return nRow;
+					},
+					"aoColumnDefs": [ {
+							"sClass": "center",
+							"aTargets": [ -1, -2 ]
+					} ]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				DataTables example with row callback
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The following example shows how a callback function can be used to format a particular row at draw time. For each row that is generated for display, the <b>fnRowCallback()</b> function is called. It is passed the row node which can then be modified and returned. In this case a trivial example of making the 'grade' column bold if the grade is 'A' is shown (note that this could also be performed using the <b>fnRender()</b> function, but this is just for example).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+				<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
+			/* Append the grade to the default row class name */
+			if ( aData[4] == "A" )
+			{
+				$('td:eq(4)', nRow).html( '&lt;b&gt;A&lt;/b&gt;' );
+			}
+			return nRow;
+		},
+		"aoColumnDefs": [ {
+				"sClass": "center",
+				"aTargets": [ -1, -2 ]
+		} ]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/row_grouping.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/row_grouping.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/row_grouping.html	(revision 6286)
@@ -0,0 +1,623 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			div.giveHeight {
+				/* Stop the controls at the bottom bouncing around */
+				min-height: 380px;
+			}
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				oTable = $('#example').dataTable({
+					"fnDrawCallback": function ( oSettings ) {
+						if ( oSettings.aiDisplay.length == 0 )
+						{
+							return;
+						}
+						
+						var nTrs = $('tbody tr', oSettings.nTable);
+						var iColspan = nTrs[0].getElementsByTagName('td').length;
+						var sLastGroup = "";
+						for ( var i=0 ; i<nTrs.length ; i++ )
+						{
+							var iDisplayIndex = oSettings._iDisplayStart + i;
+							var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[0];
+							if ( sGroup != sLastGroup )
+							{
+								var nGroup = document.createElement( 'tr' );
+								var nCell = document.createElement( 'td' );
+								nCell.colSpan = iColspan;
+								nCell.className = "group";
+								nCell.innerHTML = sGroup;
+								nGroup.appendChild( nCell );
+								nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] );
+								sLastGroup = sGroup;
+							}
+						}
+					},
+					"aoColumnDefs": [
+						{ "bVisible": false, "aTargets": [ 0 ] }
+					],
+					"aaSortingFixed": [[ 0, 'asc' ]],
+					"aaSorting": [[ 1, 'asc' ]],
+					"sDom": 'lfr<"giveHeight"t>ip'
+				});
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> row grouping example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Although DataTables doesn't have row grouping built-in (picking one of the many methods available would overly limit the plug-in it was felt), it is most certainly possible to give the look and feel of row grouping. In the example below the 'group' is the browser engine, which is based on the information in the first column (set to hidden). The grouping indicator is added by the fnDrawCallback function, which will parse through the rows which are displayed, and enter a TR element where a new group is found.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	oTable = $('#example').dataTable({
+		"fnDrawCallback": function ( oSettings ) {
+			if ( oSettings.aiDisplay.length == 0 )
+			{
+				return;
+			}
+			
+			var nTrs = $('#example tbody tr');
+			var iColspan = nTrs[0].getElementsByTagName('td').length;
+			var sLastGroup = "";
+			for ( var i=0 ; i&lt;nTrs.length ; i++ )
+			{
+				var iDisplayIndex = oSettings._iDisplayStart + i;
+				var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[0];
+				if ( sGroup != sLastGroup )
+				{
+					var nGroup = document.createElement( 'tr' );
+					var nCell = document.createElement( 'td' );
+					nCell.colSpan = iColspan;
+					nCell.className = "group";
+					nCell.innerHTML = sGroup;
+					nGroup.appendChild( nCell );
+					nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] );
+					sLastGroup = sGroup;
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bVisible": false, "aTargets": [ 0 ] }
+		],
+		"aaSortingFixed": [[ 0, 'asc' ]],
+		"aaSorting": [[ 1, 'asc' ]],
+		"sDom": 'lfr&lt;"giveHeight"t&gt;ip'
+	});
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/sorting_control.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/sorting_control.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/advanced_init/sorting_control.html	(revision 6286)
@@ -0,0 +1,589 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"aoColumns": [
+						null,
+						{ "asSorting": [ "asc" ] },
+						{ "asSorting": [ "desc", "asc", "asc" ] },
+						{ "asSorting": [ "desc" ] },
+						null
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> sorting direction control example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>At times you may wish to change the default sorting direction for columns (all or some of them) to be 'descending' rather than DataTables' default ascending. This can be done through the use of the aoColumns[].asSorting initialisation parameter. This parameter also allows you to limit the sorting to a single direction, or you could add complex behaviour to the sorting interaction.</p>
+			<p>The example below shows:</p>
+			<ul>
+				<li>Column 1 - default sorting</li>
+				<li>Column 2 - ascending sorting only</li>
+				<li>Column 3 - descending sorting, followed by ascending and then ascending again</li>
+				<li>Column 4 - descending sorting only</li>
+				<li>Column 5 - default sorting</li>
+			</ul>
+			<p>It's worth noting that I don't have a good use case for when you might what to use the complex behaviour that is possible with this, but it is there should you want to use it!</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"aoColumns": [
+			null,
+			{ "asSorting": [ "asc" ] },
+			{ "asSorting": [ "desc", "asc", "asc" ] },
+			{ "asSorting": [ "desc" ] },
+			null
+		]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/add_row.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/add_row.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/add_row.html	(revision 6286)
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Global var for counter */
+			var giCount = 1;
+			
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+			
+			function fnClickAddRow() {
+				$('#example').dataTable().fnAddData( [
+					giCount+".1",
+					giCount+".2",
+					giCount+".3",
+					giCount+".4" ] );
+				
+				giCount++;
+			}
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> add row example
+			</div>
+
+			<h1>Preamble</h1>
+			<p><i>DataTables</i> adding rows in DataTables is done by assigning the DataTables jQuery object to a variable when initialising it, and then using it's API methods to add a new row. Deleting rows can be done in a similar manner.</p>
+			
+			<h1>Live example</h1>
+			<p><a href="javascript:void(0);" onclick="fnClickAddRow();">Click to add a new row</a></p>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Column 1</th>
+			<th>Column 2</th>
+			<th>Column 3</th>
+			<th>Column 4</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td>allan</td>
+			<td>allan</td>
+			<td>allan</td>
+			<td>allan</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/* Global var for counter */
+var giCount = 1;
+
+$(document).ready(function() {
+	$('#example').dataTable();
+} );
+
+function fnClickAddRow() {
+	$('#example').dataTable().fnAddData( [
+		giCount+".1",
+		giCount+".2",
+		giCount+".3",
+		giCount+".4" ] );
+	
+	giCount++;
+}</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/api_in_init.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/api_in_init.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/api_in_init.html	(revision 6286)
@@ -0,0 +1,583 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"fnInitComplete": function () {
+						var 
+							that = this,
+							nTrs = this.fnGetNodes();
+						$('td', nTrs).click( function () {
+							that.fnFilter( this.innerHTML );
+						} );
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> using the DataTables object in the initialiser example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>There are times when you may wish to call API functions inside the DataTables callback functions (for example fnInitComplete, fnRowCallback etc). The complicating issue with this is that the object hasn't fully initialised, so you can't assign the result to something like oTable and then use oTable in the callback. However, this is catered for by the execution scope of the callback function. Here 'this' is the DataTables object that is created for the table.</p>
+			<p>In this example you will be able to see that this.fnGetNodes() is used, and also the value of this stored in the variable 'that' so it can be used inside the jQuery click function, where the execution scope has been changed to the td element!). The action here is to apply the filter with the value of what is in each cell.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnInitComplete": function () {
+			var 
+				that = this,
+				nTrs = this.fnGetNodes();
+			$('td', nTrs).click( function () {
+				that.fnFilter( this.innerHTML );
+			} );
+		}
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/counter_column.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/counter_column.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/counter_column.html	(revision 6286)
@@ -0,0 +1,654 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"fnDrawCallback": function ( oSettings ) {
+						/* Need to redo the counters if filtered or sorted */
+						if ( oSettings.bSorted || oSettings.bFiltered )
+						{
+							for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
+							{
+								$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+							}
+						}
+					},
+					"aoColumnDefs": [
+						{ "bSortable": false, "aTargets": [ 0 ] }
+					],
+					"aaSorting": [[ 1, 'asc' ]]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> row numbers example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>A fairly common requirement for highly interactive tables which are displayed on the web is to have a column which with a 'counter' for the row number. This column should not be sortable, and change dynamically as the sorting and filtering applied to the table is altered by the end user.</p>
+			<p>This example shows how this can be achieved with DataTables, where the first column is the counter column, and is updated when sorting or filtering occurs. Also the first column is marked as un-sortable and initial sorting is applied only on the second column.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Index</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td class="center">1</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">2</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">3</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">4</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">5</td>
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">6</td>
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">7</td>
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">8</td>
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">9</td>
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">10</td>
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">11</td>
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">12</td>
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">13</td>
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">14</td>
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">15</td>
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">16</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">17</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">18</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">19</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">20</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">21</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">22</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">23</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">24</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">25</td>
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">26</td>
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">27</td>
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">28</td>
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">29</td>
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">30</td>
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">31</td>
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">32</td>
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">33</td>
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">34</td>
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">35</td>
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">36</td>
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">37</td>
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">38</td>
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">39</td>
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">40</td>
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">41</td>
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">42</td>
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">43</td>
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">44</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">45</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">46</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">47</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">48</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">49</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">50</td>
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">51</td>
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">52</td>
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">53</td>
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">54</td>
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">55</td>
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">56</td>
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td class="center">57</td>
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Index</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"fnDrawCallback": function ( oSettings ) {
+			/* Need to redo the counters if filtered or sorted */
+			if ( oSettings.bSorted || oSettings.bFiltered )
+			{
+				for ( var i=0, iLen=oSettings.aiDisplay.length ; i&lt;iLen ; i++ )
+				{
+					$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bSortable": false, "aTargets": [ 0 ] }
+		],
+		"aaSorting": [[ 1, 'asc' ]]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/editable.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/editable.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/editable.html	(revision 6286)
@@ -0,0 +1,599 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../examples_support/jquery.jeditable.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				/* Init DataTables */
+				var oTable = $('#example').dataTable();
+				
+				/* Apply the jEditable handlers to the table */
+				$('td', oTable.fnGetNodes()).editable( '../examples_support/editable_ajax.php', {
+					"callback": function( sValue, y ) {
+						var aPos = oTable.fnGetPosition( this );
+						oTable.fnUpdate( sValue, aPos[0], aPos[1] );
+					},
+					"submitdata": function ( value, settings ) {
+						return {
+							"row_id": this.parentNode.getAttribute('id'),
+							"column": oTable.fnGetPosition( this )[2]
+						};
+					},
+					"height": "14px"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> editing example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Using <i>DataTables</i> in-combination with the excellent <a href="http://www.appelsiini.net/projects/jeditable">jEditable</a> plugin for jQuery allows you to produce a table which can have individual cells edited. The table can then be updated such that filtering, sorting etc. will all work as expected. This is showing in the demo below.</p>
+			<p>The example shows how a table element can be edited (you could limit to a particular column if you wish using the selector), posted to the server (for saving in a database or whatever) and then placed back into the DataTable. The server's processing in this example simply appends the string '(server updated)' to indicate that something has happened on the server.</p>
+			<p>Note also that this example makes use of the information in the 'ID' attribute of the TR element. This is useful in order to tell the server what row is being updated - this can readily be expended to include column information as required. Further to this, it is worth noting that to use this type of example with DataTables' server-side processing option, you must use <a href="http://datatables.net/usage/callbacks#fnDrawCallback">fnDrawCallback</a> to apply the event listeners on each draw.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr id="1" class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 
+				4.0
+				</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr id="2" class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr id="3" class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="4" class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="5" class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="6" class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="7" class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="8" class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="9" class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="10" class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="11" class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="12" class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="13" class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="14" class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="15" class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="16" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="17" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="18" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="19" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="20" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="21" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="22" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="23" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="24" class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="25" class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="26" class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="27" class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="28" class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="29" class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="30" class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="31" class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="32" class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="33" class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="34" class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="35" class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="36" class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="37" class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="38" class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="39" class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="40" class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="41" class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="42" class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="43" class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr id="44" class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr id="45" class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="46" class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="47" class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr id="48" class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr id="49" class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr id="50" class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr id="51" class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr id="52" class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr id="53" class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr id="54" class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr id="55" class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr id="56" class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr id="57" class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	/* Init DataTables */
+	var oTable = $('#example').dataTable();
+	
+	/* Apply the jEditable handlers to the table */
+	$('td', oTable.fnGetNodes()).editable( '../examples_support/editable_ajax.php', {
+		"callback": function( sValue, y ) {
+			var aPos = oTable.fnGetPosition( this );
+			oTable.fnUpdate( sValue, aPos[0], aPos[1] );
+		},
+		"submitdata": function ( value, settings ) {
+			return {
+				"row_id": this.parentNode.getAttribute('id'),
+				"column": oTable.fnGetPosition( this )[2]
+			};
+		},
+		"height": "14px"
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/form.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/form.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/form.html	(revision 6286)
@@ -0,0 +1,642 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			var oTable;
+			
+			$(document).ready(function() {
+				$('#form').submit( function() {
+					var sData = $('input', oTable.fnGetNodes()).serialize();
+					alert( "The following data would have been submitted to the server: \n\n"+sData );
+					return false;
+				} );
+				
+				oTable = $('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> with form elements example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The following example shows how form elements can be used within a <i>DataTables</i> enhanced table. The trick here is that <i>DataTables</i> does not include the DOM elements which are not currently being displayed, therefore you need to add a submit event handler to gather together all of the input elements from the table, and then use the handy jQuery <b>serialize()</b> function to string together the data. It can then be posted to the server as you wish.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+				<form id="form">
+					<div style="text-align:right; padding-bottom:1em;">
+						<button type="submit">Submit form</button>
+					</div>
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th>Check</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+			<td class="center"><input type="checkbox" name="check1" value="1"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+			<td class="center"><input type="checkbox" name="check2" value="2"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check3" value="3"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check4" value="4"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check5" value="5"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check6" value="6"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check7" value="7"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check8" value="8"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check9" value="9"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check10" value="10"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check11" value="11"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check12" value="12"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check13" value="13"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check14" value="14"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check15" value="15"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check16" value="16"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check17" value="17"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check18" value="18"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check19" value="19"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check20" value="20"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check21" value="21"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check22" value="22"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check23" value="23"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check24" value="24"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check25" value="25"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check26" value="26"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check27" value="27"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check28" value="28"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check29" value="29"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check30" value="30"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check31" value="31"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check32" value="32"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check33" value="33"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check34" value="34"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check35" value="35"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check36" value="36"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check37" value="37"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check38" value="38"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check39" value="39"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check40" value="40"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check41" value="41"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check42" value="42"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+			<td class="center"><input type="checkbox" name="check43" value="43"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+			<td class="center"><input type="checkbox" name="check44" value="44"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check45" value="45"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check46" value="46"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center"><input type="checkbox" name="check47" value="47"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="center"><input type="checkbox" name="check48" value="48"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="center"><input type="checkbox" name="check49" value="49"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center"><input type="checkbox" name="check50" value="50"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center"><input type="checkbox" name="check51" value="51"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center"><input type="checkbox" name="check52" value="52"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center"><input type="checkbox" name="check53" value="53"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center"><input type="checkbox" name="check54" value="54"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center"><input type="checkbox" name="check55" value="55"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center"><input type="checkbox" name="check56" value="56"></td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+			<td class="center"><input type="checkbox" name="check57" value="57"></td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th>Check</th>
+		</tr>
+	</tfoot>
+</table>
+				</form>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>var oTable;
+
+$(document).ready(function() {
+	$('#form').submit( function() {
+		var sData = $('input', oTable.fnGetNodes()).serialize();
+		alert( "The following data would have been submitted to the server: \n\n"+sData );
+		return false;
+	} );
+	
+	oTable = $('#example').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/highlight.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/highlight.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/highlight.html	(revision 6286)
@@ -0,0 +1,582 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable( {
+					"bSortClasses": false
+				} );
+				
+				$('td', oTable.fnGetNodes()).hover( function() {
+					var iCol = $('td').index(this) % 5;
+					var nTrs = oTable.fnGetNodes();
+					$('td:nth-child('+(iCol+1)+')', nTrs).addClass( 'highlighted' );
+				}, function() {
+					$('td.highlighted', oTable.fnGetNodes()).removeClass('highlighted');
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example" class="ex_highlight">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> highlighting example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The highlighting of rows and columns have be quite useful for attracting attention to where the user's cursor is in the data array. Of course the highlighting of a row is easy enough using CSS, but for column highlighting, you need to use a little bit of Javascript. This example shows that in action on a <i>DataTables</i> enhanced table - this type of effect would be particularly effective on tables with dense information.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"bSortClasses": false
+	} );
+	
+	$('td', oTable.fnGetNodes()).hover( function() {
+		var iCol = $('td').index(this) % 5;
+		var nTrs = oTable.fnGetNodes();
+		$('td:nth-child('+(iCol+1)+')', nTrs).addClass( 'highlighted' );
+	}, function() {
+		$('td.highlighted', oTable.fnGetNodes()).removeClass('highlighted');
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/multi_filter.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/multi_filter.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/multi_filter.html	(revision 6286)
@@ -0,0 +1,638 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			var asInitVals = new Array();
+			
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable( {
+					"oLanguage": {
+						"sSearch": "Search all columns:"
+					}
+				} );
+				
+				$("tfoot input").keyup( function () {
+					/* Filter on the column (the index) of this element */
+					oTable.fnFilter( this.value, $("tfoot input").index(this) );
+				} );
+				
+				
+				
+				/*
+				 * Support functions to provide a little bit of 'user friendlyness' to the textboxes in 
+				 * the footer
+				 */
+				$("tfoot input").each( function (i) {
+					asInitVals[i] = this.value;
+				} );
+				
+				$("tfoot input").focus( function () {
+					if ( this.className == "search_init" )
+					{
+						this.className = "";
+						this.value = "";
+					}
+				} );
+				
+				$("tfoot input").blur( function (i) {
+					if ( this.value == "" )
+					{
+						this.className = "search_init";
+						this.value = asInitVals[$("tfoot input").index(this)];
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> individual column filtering example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The filtering functionality that is provided by <i>DataTables</i> is very useful for quickly search through the information in the table - however the search is global, and you (or the end user) may wish to filter only on a particular column of data. To met this need the <i>DataTables</i> <b>fnFilter()</b> API function allow you to specify a column to limit to search to. Note that this works in-combination with the global search filter. Further note that because the input elements are outside of the control of DataTables, with state saving enabled, stored values are not automatically restored - please see <a href="http://datatables.net/forums/comments.php?DiscussionID=2864#Item_3">this post in the forum</a> for how to do this.</p>
+			<p>The example below shows a table which has a text input box for each column in the footer element of the table. This allows the data in each column to be quickly filtered upon by the end user.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th><input type="text" name="search_engine" value="Search engines" class="search_init" /></th>
+			<th><input type="text" name="search_browser" value="Search browsers" class="search_init" /></th>
+			<th><input type="text" name="search_platform" value="Search platforms" class="search_init" /></th>
+			<th><input type="text" name="search_version" value="Search versions" class="search_init" /></th>
+			<th><input type="text" name="search_grade" value="Search grades" class="search_init" /></th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>var asInitVals = new Array();
+
+$(document).ready(function() {
+	var oTable = $('#example').dataTable( {
+		"oLanguage": {
+			"sSearch": "Search all columns:"
+		}
+	} );
+	
+	$("tfoot input").keyup( function () {
+		/* Filter on the column (the index) of this element */
+		oTable.fnFilter( this.value, $("tfoot input").index(this) );
+	} );
+	
+	
+	
+	/*
+	 * Support functions to provide a little bit of 'user friendlyness' to the textboxes in 
+	 * the footer
+	 */
+	$("tfoot input").each( function (i) {
+		asInitVals[i] = this.value;
+	} );
+	
+	$("tfoot input").focus( function () {
+		if ( this.className == "search_init" )
+		{
+			this.className = "";
+			this.value = "";
+		}
+	} );
+	
+	$("tfoot input").blur( function (i) {
+		if ( this.value == "" )
+		{
+			this.className = "search_init";
+			this.value = asInitVals[$("tfoot input").index(this)];
+		}
+	} );
+} );</pre>
+			<p>Note that in the above code, the support functions are provided to ensure that the end user knows what data is being filtered upon. <b>fnFilter()</b> is the function of primary import here.</p>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/multi_filter_select.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/multi_filter_select.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/multi_filter_select.html	(revision 6286)
@@ -0,0 +1,721 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			(function($) {
+			/*
+			 * Function: fnGetColumnData
+			 * Purpose:  Return an array of table values from a particular column.
+			 * Returns:  array string: 1d data array 
+			 * Inputs:   object:oSettings - dataTable settings object. This is always the last argument past to the function
+			 *           int:iColumn - the id of the column to extract the data from
+			 *           bool:bUnique - optional - if set to false duplicated values are not filtered out
+			 *           bool:bFiltered - optional - if set to false all the table data is used (not only the filtered)
+			 *           bool:bIgnoreEmpty - optional - if set to false empty values are not filtered from the result array
+			 * Author:   Benedikt Forchhammer <b.forchhammer /AT\ mind2.de>
+			 */
+			$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
+				// check that we have a column id
+				if ( typeof iColumn == "undefined" ) return new Array();
+				
+				// by default we only wany unique data
+				if ( typeof bUnique == "undefined" ) bUnique = true;
+				
+				// by default we do want to only look at filtered data
+				if ( typeof bFiltered == "undefined" ) bFiltered = true;
+				
+				// by default we do not wany to include empty values
+				if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
+				
+				// list of rows which we're going to loop through
+				var aiRows;
+				
+				// use only filtered rows
+				if (bFiltered == true) aiRows = oSettings.aiDisplay; 
+				// use all rows
+				else aiRows = oSettings.aiDisplayMaster; // all row numbers
+			
+				// set up data array	
+				var asResultData = new Array();
+				
+				for (var i=0,c=aiRows.length; i<c; i++) {
+					iRow = aiRows[i];
+					var aData = this.fnGetData(iRow);
+					var sValue = aData[iColumn];
+					
+					// ignore empty values?
+					if (bIgnoreEmpty == true && sValue.length == 0) continue;
+			
+					// ignore unique values?
+					else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
+					
+					// else push the value onto the result data array
+					else asResultData.push(sValue);
+				}
+				
+				return asResultData;
+			}}(jQuery));
+			
+			
+			function fnCreateSelect( aData )
+			{
+				var r='<select><option value=""></option>', i, iLen=aData.length;
+				for ( i=0 ; i<iLen ; i++ )
+				{
+					r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
+				}
+				return r+'</select>';
+			}
+			
+			
+			$(document).ready(function() {
+				/* Initialise the DataTable */
+				var oTable = $('#example').dataTable( {
+					"oLanguage": {
+						"sSearch": "Search all columns:"
+					}
+				} );
+				
+				/* Add a select menu for each TH element in the table footer */
+				$("tfoot th").each( function ( i ) {
+					this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) );
+					$('select', this).change( function () {
+						oTable.fnFilter( $(this).val(), i );
+					} );
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> individual column filtering example (using select menus)
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example is almost identical to <a href="multi_filter.html">individual column example</a> and provides the same functionality, but using &lt;select&gt; menus rather than input elements. The API plug-in function fnGetColumnData from Benedikt Forchhammer provides much of the logic processing required, and integration with a table is almost trivial.</p>
+			<p>One possible interaction chance would be to make use of fnGetColumnData's ability to get filtered data, so you could have the possible filtering values in the select menus to update to only those in the table, rather than all values.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th></th>
+			<th></th>
+			<th></th>
+			<th></th>
+			<th></th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>(function($) {
+/*
+ * Function: fnGetColumnData
+ * Purpose:  Return an array of table values from a particular column.
+ * Returns:  array string: 1d data array 
+ * Inputs:   object:oSettings - dataTable settings object. This is always the last argument past to the function
+ *           int:iColumn - the id of the column to extract the data from
+ *           bool:bUnique - optional - if set to false duplicated values are not filtered out
+ *           bool:bFiltered - optional - if set to false all the table data is used (not only the filtered)
+ *           bool:bIgnoreEmpty - optional - if set to false empty values are not filtered from the result array
+ * Author:   Benedikt Forchhammer &lt;b.forchhammer /AT\ mind2.de&gt;
+ */
+$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
+	// check that we have a column id
+	if ( typeof iColumn == "undefined" ) return new Array();
+	
+	// by default we only wany unique data
+	if ( typeof bUnique == "undefined" ) bUnique = true;
+	
+	// by default we do want to only look at filtered data
+	if ( typeof bFiltered == "undefined" ) bFiltered = true;
+	
+	// by default we do not wany to include empty values
+	if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
+	
+	// list of rows which we're going to loop through
+	var aiRows;
+	
+	// use only filtered rows
+	if (bFiltered == true) aiRows = oSettings.aiDisplay; 
+	// use all rows
+	else aiRows = oSettings.aiDisplayMaster; // all row numbers
+
+	// set up data array	
+	var asResultData = new Array();
+	
+	for (var i=0,c=aiRows.length; i&lt;c; i++) {
+		iRow = aiRows[i];
+		var aData = this.fnGetData(iRow);
+		var sValue = aData[iColumn];
+		
+		// ignore empty values?
+		if (bIgnoreEmpty == true &amp;&amp; sValue.length == 0) continue;
+
+		// ignore unique values?
+		else if (bUnique == true &amp;&amp; jQuery.inArray(sValue, asResultData) &gt; -1) continue;
+		
+		// else push the value onto the result data array
+		else asResultData.push(sValue);
+	}
+	
+	return asResultData;
+}}(jQuery));
+
+
+function fnCreateSelect( aData )
+{
+	var r='&lt;select&gt;&lt;option value=""&gt;&lt;/option&gt;', i, iLen=aData.length;
+	for ( i=0 ; i&lt;iLen ; i++ )
+	{
+		r += '&lt;option value="'+aData[i]+'"&gt;'+aData[i]+'&lt;/option&gt;';
+	}
+	return r+'&lt;/select&gt;';
+}
+
+
+$(document).ready(function() {
+	/* Initialise the DataTable */
+	var oTable = $('#example').dataTable( {
+		"oLanguage": {
+			"sSearch": "Search all columns:"
+		}
+	} );
+	
+	/* Add a select menu for each TH element in the table footer */
+	$("tfoot th").each( function ( i ) {
+		this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) );
+		$('select', this).change( function () {
+			oTable.fnFilter( $(this).val(), i );
+		} );
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/regex.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/regex.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/regex.html	(revision 6286)
@@ -0,0 +1,688 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			function fnFilterGlobal ()
+			{
+				$('#example').dataTable().fnFilter( 
+					$("#global_filter").val(),
+					null, 
+					$("#global_regex")[0].checked, 
+					$("#global_smart")[0].checked
+				);
+			}
+			
+			function fnFilterColumn ( i )
+			{
+				$('#example').dataTable().fnFilter( 
+					$("#col"+(i+1)+"_filter").val(),
+					i, 
+					$("#col"+(i+1)+"_regex")[0].checked, 
+					$("#col"+(i+1)+"_smart")[0].checked
+				);
+			}
+			
+			$(document).ready(function() {
+				$('#example').dataTable();
+				
+				$("#global_filter").keyup( fnFilterGlobal );
+				$("#global_regex").click( fnFilterGlobal );
+				$("#global_smart").click( fnFilterGlobal );
+				
+				$("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
+				$("#col1_regex").click(  function() { fnFilterColumn( 0 ); } );
+				$("#col1_smart").click(  function() { fnFilterColumn( 0 ); } );
+				
+				$("#col2_filter").keyup( function() { fnFilterColumn( 1 ); } );
+				$("#col2_regex").click(  function() { fnFilterColumn( 1 ); } );
+				$("#col2_smart").click(  function() { fnFilterColumn( 1 ); } );
+				
+				$("#col3_filter").keyup( function() { fnFilterColumn( 2 ); } );
+				$("#col3_regex").click(  function() { fnFilterColumn( 2 ); } );
+				$("#col3_smart").click(  function() { fnFilterColumn( 2 ); } );
+				
+				$("#col4_filter").keyup( function() { fnFilterColumn( 3 ); } );
+				$("#col4_regex").click(  function() { fnFilterColumn( 3 ); } );
+				$("#col4_smart").click(  function() { fnFilterColumn( 3 ); } );
+				
+				$("#col5_filter").keyup( function() { fnFilterColumn( 4 ); } );
+				$("#col5_regex").click(  function() { fnFilterColumn( 4 ); } );
+				$("#col5_smart").click(  function() { fnFilterColumn( 4 ); } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> filtering API example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Filtering a table is one of the most common user interactions with a DataTables table, and DataTables provides a number of methods for you to control this interaction. There is a global filter, and a filter for each individual column. The global filter acts on each column.</p>
+			<p>Each filter (global or column) can be marked as a regular expression (allowing you to create very complex interactions) and as a smart filter or not. When smart filtering is enabled on a particular filter, DataTables will modify the user input string to a complex regular expression which can make filtering more intuitive.</p>
+			<p>This example allows you to "play" with the various filtering options that DataTables provides.</p>
+			
+			<h1>Live example</h1>
+			
+			<table cellpadding="0" cellspacing="0" border="0" class="display">
+				<thead>
+				<tr>
+					<th>Target</th>
+					<th>Filter text</th>
+					<th>Treat as regex</th>
+					<th>Use smart filter</th>
+				</tr>
+				</thead>
+				<tbody>
+					<tr id="filter_global">
+						<td align="center">Global filtering</td>
+						<td align="center"><input type="text"     name="global_filter" id="global_filter"></td>
+						<td align="center"><input type="checkbox" name="global_regex"  id="global_regex" ></td>
+						<td align="center"><input type="checkbox" name="global_smart"  id="global_smart"  checked></td>
+					</tr>
+					<tr id="filter_col1">
+						<td align="center">Column 1</td>
+						<td align="center"><input type="text"     name="col1_filter" id="col1_filter"></td>
+						<td align="center"><input type="checkbox" name="col1_regex"  id="col1_regex"></td>
+						<td align="center"><input type="checkbox" name="col1_smart"  id="col1_smart" checked></td>
+					</tr>
+					<tr id="filter_col2">
+						<td align="center">Column 2</td>
+						<td align="center"><input type="text"     name="col2_filter" id="col2_filter"></td>
+						<td align="center"><input type="checkbox" name="col2_regex"  id="col2_regex"></td>
+						<td align="center"><input type="checkbox" name="col2_smart"  id="col2_smart" checked></td>
+					</tr>
+					<tr id="filter_col3">
+						<td align="center">Column 3</td>
+						<td align="center"><input type="text"     name="col3_filter" id="col3_filter"></td>
+						<td align="center"><input type="checkbox" name="col3_regex"  id="col3_regex"></td>
+						<td align="center"><input type="checkbox" name="col3_smart"  id="col3_smart" checked></td>
+					</tr>
+					<tr id="filter_col4">
+						<td align="center">Column 4</td>
+						<td align="center"><input type="text"     name="col4_filter" id="col4_filter"></td>
+						<td align="center"><input type="checkbox" name="col4_regex"  id="col4_regex"></td>
+						<td align="center"><input type="checkbox" name="col4_smart"  id="col4_smart" checked></td>
+					</tr>
+					<tr id="filter_col5">
+						<td align="center">Column 5</td>
+						<td align="center"><input type="text"     name="col5_filter" id="col5_filter"></td>
+						<td align="center"><input type="checkbox" name="col5_regex"  id="col5_regex"></td>
+						<td align="center"><input type="checkbox" name="col5_smart"  id="col5_smart" checked></td>
+					</tr>
+				</tbody>
+			</table>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1,9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8,5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3,1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>function fnFilterGlobal ()
+{
+	$('#example').dataTable().fnFilter( 
+		$("#global_filter").val(),
+		null, 
+		$("#global_regex")[0].checked, 
+		$("#global_smart")[0].checked
+	);
+}
+
+function fnFilterColumn ( i )
+{
+	$('#example').dataTable().fnFilter( 
+		$("#col"+(i+1)+"_filter").val(),
+		i, 
+		$("#col"+(i+1)+"_regex")[0].checked, 
+		$("#col"+(i+1)+"_smart")[0].checked
+	);
+}
+
+$(document).ready(function() {
+	$('#example').dataTable();
+	
+	$("#global_filter").keyup( fnFilterGlobal );
+	$("#global_regex").click( fnFilterGlobal );
+	$("#global_smart").click( fnFilterGlobal );
+	
+	$("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
+	$("#col1_regex").click(  function() { fnFilterColumn( 0 ); } );
+	$("#col1_smart").click(  function() { fnFilterColumn( 0 ); } );
+	
+	// ... etc for the other four columns
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/row_details.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/row_details.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/row_details.html	(revision 6286)
@@ -0,0 +1,667 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Formating function for row details */
+			function fnFormatDetails ( oTable, nTr )
+			{
+				var aData = oTable.fnGetData( nTr );
+				var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">';
+				sOut += '<tr><td>Rendering engine:</td><td>'+aData[1]+' '+aData[4]+'</td></tr>';
+				sOut += '<tr><td>Link to source:</td><td>Could provide a link here</td></tr>';
+				sOut += '<tr><td>Extra info:</td><td>And any further details here (images etc)</td></tr>';
+				sOut += '</table>';
+				
+				return sOut;
+			}
+			
+			$(document).ready(function() {
+				/*
+				 * Insert a 'details' column to the table
+				 */
+				var nCloneTh = document.createElement( 'th' );
+				var nCloneTd = document.createElement( 'td' );
+				nCloneTd.innerHTML = '<img src="../examples_support/details_open.png">';
+				nCloneTd.className = "center";
+				
+				$('#example thead tr').each( function () {
+					this.insertBefore( nCloneTh, this.childNodes[0] );
+				} );
+				
+				$('#example tbody tr').each( function () {
+					this.insertBefore(  nCloneTd.cloneNode( true ), this.childNodes[0] );
+				} );
+				
+				/*
+				 * Initialse DataTables, with no sorting on the 'details' column
+				 */
+				var oTable = $('#example').dataTable( {
+					"aoColumnDefs": [
+						{ "bSortable": false, "aTargets": [ 0 ] }
+					],
+					"aaSorting": [[1, 'asc']]
+				});
+				
+				/* Add event listener for opening and closing details
+				 * Note that the indicator for showing which row is open is not controlled by DataTables,
+				 * rather it is done here
+				 */
+				$('#example tbody td img').live('click', function () {
+					var nTr = this.parentNode.parentNode;
+					if ( this.src.match('details_close') )
+					{
+						/* This row is already open - close it */
+						this.src = "../examples_support/details_open.png";
+						oTable.fnClose( nTr );
+					}
+					else
+					{
+						/* Open this row */
+						this.src = "../examples_support/details_close.png";
+						oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> hidden row details example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p><i>DataTables</i> has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/* Formating function for row details */
+function fnFormatDetails ( oTable, nTr )
+{
+	var aData = oTable.fnGetData( nTr );
+	var sOut = '&lt;table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;"&gt;';
+	sOut += '&lt;tr&gt;&lt;td&gt;Rendering engine:&lt;/td&gt;&lt;td&gt;'+aData[1]+' '+aData[4]+'&lt;/td&gt;&lt;/tr&gt;';
+	sOut += '&lt;tr&gt;&lt;td&gt;Link to source:&lt;/td&gt;&lt;td&gt;Could provide a link here&lt;/td&gt;&lt;/tr&gt;';
+	sOut += '&lt;tr&gt;&lt;td&gt;Extra info:&lt;/td&gt;&lt;td&gt;And any further details here (images etc)&lt;/td&gt;&lt;/tr&gt;';
+	sOut += '&lt;/table&gt;';
+	
+	return sOut;
+}
+
+$(document).ready(function() {
+	/*
+	 * Insert a 'details' column to the table
+	 */
+	var nCloneTh = document.createElement( 'th' );
+	var nCloneTd = document.createElement( 'td' );
+	nCloneTd.innerHTML = '&lt;img src="../examples_support/details_open.png"&gt;';
+	nCloneTd.className = "center";
+	
+	$('#example thead tr').each( function () {
+		this.insertBefore( nCloneTh, this.childNodes[0] );
+	} );
+	
+	$('#example tbody tr').each( function () {
+		this.insertBefore(  nCloneTd.cloneNode( true ), this.childNodes[0] );
+	} );
+	
+	/*
+	 * Initialse DataTables, with no sorting on the 'details' column
+	 */
+	var oTable = $('#example').dataTable( {
+		"aoColumnDefs": [
+			{ "bSortable": false, "aTargets": [ 0 ] }
+		],
+		"aaSorting": [[1, 'asc']]
+	});
+	
+	/* Add event listener for opening and closing details
+	 * Note that the indicator for showing which row is open is not controlled by DataTables,
+	 * rather it is done here
+	 */
+	$('#example tbody td img').live('click', function () {
+		var nTr = this.parentNode.parentNode;
+		if ( this.src.match('details_close') )
+		{
+			/* This row is already open - close it */
+			this.src = "../examples_support/details_open.png";
+			oTable.fnClose( nTr );
+		}
+		else
+		{
+			/* Open this row */
+			this.src = "../examples_support/details_close.png";
+			oTable.fnOpen( nTr, fnFormatDetails(oTable, nTr), 'details' );
+		}
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/select_row.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/select_row.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/select_row.html	(revision 6286)
@@ -0,0 +1,618 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				/* Add a click handler to the rows - this could be used as a callback */
+				$('#example tr').click( function() {
+					if ( $(this).hasClass('row_selected') )
+						$(this).removeClass('row_selected');
+					else
+						$(this).addClass('row_selected');
+				} );
+				
+				/* Init the table */
+				var oTable = $('#example').dataTable( );
+			} );
+			
+			/*
+			 * I don't actually use this here, but it is provided as it might be useful and demonstrates
+			 * getting the TR nodes from DataTables
+			 */
+			function fnGetSelected( oTableLocal )
+			{
+				var aReturn = new Array();
+				var aTrs = oTableLocal.fnGetNodes();
+				
+				for ( var i=0 ; i<aTrs.length ; i++ )
+				{
+					if ( $(aTrs[i]).hasClass('row_selected') )
+					{
+						aReturn.push( aTrs[i] );
+					}
+				}
+				return aReturn;
+			}
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> row select example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>It can be quite useful at times to provide the user with the option to select rows in a DataTable. This can be done using the API functions that <i>DataTables</i> provides. The example below uses the <b>fnRowCallback()</b> function to add a 'click' listener to each row, which will highlight the required row when selected. The indexes of the selected rows are then provided through the custom function <b>fnGetSelected()</b> for later processing.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	/* Add a click handler to the rows - this could be used as a callback */
+	$('#example tr').click( function() {
+		if ( $(this).hasClass('row_selected') )
+			$(this).removeClass('row_selected');
+		else
+			$(this).addClass('row_selected');
+	} );
+	
+	/* Init the table */
+	var oTable = $('#example').dataTable( );
+} );
+
+/*
+ * I don't actually use this here, but it is provided as it might be useful and demonstrates
+ * getting the TR nodes from DataTables
+ */
+function fnGetSelected( oTableLocal )
+{
+	var aReturn = new Array();
+	var aTrs = oTableLocal.fnGetNodes();
+	
+	for ( var i=0 ; i&lt;aTrs.length ; i++ )
+	{
+		if ( $(aTrs[i]).hasClass('row_selected') )
+		{
+			aReturn.push( aTrs[i] );
+		}
+	}
+	return aReturn;
+}</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/select_single_row.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/select_single_row.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/select_single_row.html	(revision 6286)
@@ -0,0 +1,633 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			var oTable;
+			var giRedraw = false;
+			
+			$(document).ready(function() {
+				/* Add a click handler to the rows - this could be used as a callback */
+				$("#example tbody").click(function(event) {
+					$(oTable.fnSettings().aoData).each(function (){
+						$(this.nTr).removeClass('row_selected');
+					});
+					$(event.target.parentNode).addClass('row_selected');
+				});
+				
+				/* Add a click handler for the delete row */
+				$('#delete').click( function() {
+					var anSelected = fnGetSelected( oTable );
+					oTable.fnDeleteRow( anSelected[0] );
+				} );
+				
+				/* Init the table */
+				oTable = $('#example').dataTable( );
+			} );
+			
+			
+			/* Get the rows which are currently selected */
+			function fnGetSelected( oTableLocal )
+			{
+				var aReturn = new Array();
+				var aTrs = oTableLocal.fnGetNodes();
+				
+				for ( var i=0 ; i<aTrs.length ; i++ )
+				{
+					if ( $(aTrs[i]).hasClass('row_selected') )
+					{
+						aReturn.push( aTrs[i] );
+					}
+				}
+				return aReturn;
+			}
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> row select example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>It can be quite useful at times to provide the user with the option to select rows in a DataTable. This can be done using the API functions that <i>DataTables</i> provides. The example below uses the <b>fnRowCallback()</b> function to add a 'click' listener to each row, which will highlight the required row when selected. The indexes of the selected rows are then provided through the custom function <b>fnGetSelected()</b> for later processing.</p>
+			
+			<h1>Live example</h1>
+			<p><a href="javascript:void(0)" id="delete">Delete selected row</a></p>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>var oTable;
+var giRedraw = false;
+
+$(document).ready(function() {
+	/* Add a click handler to the rows - this could be used as a callback */
+	$("#example tbody").click(function(event) {
+		$(oTable.fnSettings().aoData).each(function (){
+			$(this.nTr).removeClass('row_selected');
+		});
+		$(event.target.parentNode).addClass('row_selected');
+	});
+	
+	/* Add a click handler for the delete row */
+	$('#delete').click( function() {
+		var anSelected = fnGetSelected( oTable );
+		oTable.fnDeleteRow( anSelected[0] );
+	} );
+	
+	/* Init the table */
+	oTable = $('#example').dataTable( );
+} );
+
+
+/* Get the rows which are currently selected */
+function fnGetSelected( oTableLocal )
+{
+	var aReturn = new Array();
+	var aTrs = oTableLocal.fnGetNodes();
+	
+	for ( var i=0 ; i&lt;aTrs.length ; i++ )
+	{
+		if ( $(aTrs[i]).hasClass('row_selected') )
+		{
+			aReturn.push( aTrs[i] );
+		}
+	}
+	return aReturn;
+}</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/show_hide.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/show_hide.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/show_hide.html	(revision 6286)
@@ -0,0 +1,592 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sScrollY": "200px",
+					"bPaginate": false
+				} );
+			} );
+			
+			function fnShowHide( iCol )
+			{
+				/* Get the DataTables object again - this is not a recreation, just a get of the object */
+				var oTable = $('#example').dataTable();
+				
+				var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
+				oTable.fnSetColumnVis( iCol, bVis ? false : true );
+			}
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> show and hide columns dynamically example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how you can make use of the fnSetColumnVis() API function to show and hide columns in a table dynamically, after the table has been initialised (we've also got scrolling enabled here, although that is not required for the API function to work).</p>
+			
+			<a href="javascript:void(0);" onclick="fnShowHide(0);">Toggle column 1<br></a>
+			<a href="javascript:void(0);" onclick="fnShowHide(1);">Toggle column 2<br></a>
+			<a href="javascript:void(0);" onclick="fnShowHide(2);">Toggle column 3<br></a>
+			<a href="javascript:void(0);" onclick="fnShowHide(3);">Toggle column 4<br></a>
+			<a href="javascript:void(0);" onclick="fnShowHide(4);">Toggle column 5<br></a>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": "200px",
+		"bPaginate": false
+	} );
+} );
+
+function fnShowHide( iCol )
+{
+	/* Get the DataTables object again - this is not a recreation, just a get of the object */
+	var oTable = $('#example').dataTable();
+	
+	var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
+	oTable.fnSetColumnVis( iCol, bVis ? false : true );
+}</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/tabs_and_scrolling.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/tabs_and_scrolling.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/api/tabs_and_scrolling.html	(revision 6286)
@@ -0,0 +1,420 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+			.ui-tabs .ui-tabs-panel { padding: 10px }
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../examples_support/jquery-ui-tabs.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$("#tabs").tabs( {
+					"show": function(event, ui) {
+						var oTable = $('div.dataTables_scrollBody>table.display', ui.panel).dataTable();
+						if ( oTable.length > 0 ) {
+							oTable.fnAdjustColumnSizing();
+						}
+					}
+				} );
+				
+				$('table.display').dataTable( {
+					"sScrollY": "200px",
+					"bScrollCollapse": true,
+					"bPaginate": false,
+					"bJQueryUI": true,
+					"aoColumnDefs": [
+						{ "sWidth": "10%", "aTargets": [ -1 ] }
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				DataTables scrolling and jQuery UI tabs
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how DataTables with scrolling can be used together with jQuery UI tabs (or indeed any other method whereby the table is in a hidden (display:none) element when it is initialised). The reason this requires special consideration, is that when DataTables is initialised and it is in a hidden element, the browser doesn't have any measurements with which to give DataTables, and this will require in the misalignment of columns when scrolling is enabled.</p>
+			<p>The method to get around this is to call the fnAdjustColumnSizing API function. This function will calculate the column widths that are needed based on the current data and then redraw the table - which is exactly what is needed when the table becomes visible for the first time. For this we use the 'show' method provided by jQuery UI tables. We check to see if the DataTable has been created or not (note the extra selector for 'div.dataTables_scrollBody', this is added when the DataTable is initialised). If the table has been initialised, we re-size it. An optimisation could be added to re-size only of the first showing of the table.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+				<div id="tabs">
+					<ul>
+						<li><a href="#tabs-1">Trident browsers</a></li>
+						<li><a href="#tabs-2">Gecko browsers</a></li>
+					</ul>
+					
+					<div id="tabs-1">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example1">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+	<tbody>
+</table>
+					</div>
+
+
+					<div id="tabs-2">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+</table>
+					</div>
+				</div>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$("#tabs").tabs( {
+		"show": function(event, ui) {
+			var oTable = $('div.dataTables_scrollBody&gt;table.display', ui.panel).dataTable();
+			if ( oTable.length &gt; 0 ) {
+				oTable.fnAdjustColumnSizing();
+			}
+		}
+	} );
+	
+	$('table.display').dataTable( {
+		"sScrollY": "200px",
+		"bScrollCollapse": true,
+		"bPaginate": false,
+		"bJQueryUI": true,
+		"aoColumnDefs": [
+			{ "sWidth": "10%", "aTargets": [ -1 ] }
+		]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/alt_pagination.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/alt_pagination.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/alt_pagination.html	(revision 6286)
@@ -0,0 +1,529 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sPaginationType": "full_numbers"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example" class="example_alt_pagination">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> alternative pagination example
+			</div>
+
+			<h1>Preamble</h1>
+			<p>The page controls which are used by default in <i>DataTables</i> (forward and backward buttons only) are great for most situations, but there are cases where you may wish to customise the controls presented to the end user. This is made simple by <i>DataTables</i> through it's extensible pagination mechanism. There are two types of pagination controls built into <i>DataTables</i>: <b>two_button</b> (default) and <b>full_numbers</b>. To switch between these two types, use the <b>sPaginationType</b> initialisation parameter. You can add additional types of pagination control by extending the <b>$.fn.dataTableExt.oPagination</b> object.</p>
+			<p>Note also that the number of pages which are shown with direct links (the 1, 2, 3...) can be changed by setting the variable <b>jQuery.fn.dataTableExt.oPagination.iFullNumbersShowPages</b> (default 5). Odd numbers are best to keep the display even.</p>
+			<p>The example below shows the <b>full_numbers</b> type of pagination, where 'first', 'previous', 'next' and 'last' buttons are presented, as well as the five pages around the current page.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>
+				Internet
+				 Explorer 
+				4.0
+				</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sPaginationType": "full_numbers"
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/dom.html	(revision 6286)
@@ -0,0 +1,581 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sDom": '<"top"i>rt<"bottom"flp><"clear">'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> DOM positioning example
+			</div>
+
+			<h1>Preamble</h1>
+			<p>When customising <i>DataTables</i> for your own usage, you might find that the default position of the feature elements (filter input etc) is not quite to your liking. To address this issue <i>DataTables</i> takes inspiration from the CSS 3 Advanced Layout Module and provides the <b>sDom</b> initialisation parameter which can be set to indicate where you which particular features to appear in the DOM. You can also specify <b>div</b> wrapping containers (with classes) to provide complete layout flexibility. The syntax available is:</p>
+			<ul>
+				<li><b>l</b> - Length changing</li>
+				<li><b>f</b> - Filtering input</li>
+				<li><b>t</b> - The table!</li>
+				<li><b>i</b> - Information</li>
+				<li><b>p</b> - Pagination</li>
+				<li><b>r</b> - pRocessing</li>
+				<li><b>&lt;</b> and <b>&gt;</b> - div elements</li>
+				<li><b>&lt;"class"</b> and <b>&gt;</b> - div with a class</li>
+				<li>Examples: <b>&lt;"wrapper"flipt&gt;</b>, <b>&lt;lf&lt;t&gt;ip&gt;</b></li>
+			</ul>
+			<p>In the example below I've moved the table information to the top of the table, and all the interaction elements to the bottom, each wrapper in a container <b>div</b>.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>
+				Internet
+				 Explorer 
+				4.0
+				</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sDom": '&lt;"top"i&gt;rt&lt;"bottom"flp&gt;&lt;"clear"&gt;'
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/filter_only.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/filter_only.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/filter_only.html	(revision 6286)
@@ -0,0 +1,570 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bPaginate": false,
+					"bLengthChange": false,
+					"bFilter": true,
+					"bSort": false,
+					"bInfo": false,
+					"bAutoWidth": false } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> with only the filter feature
+			</div>
+
+			<h1>Preamble</h1>
+			<p>Disabling features that you don't wish to use for a particular table is easily done by setting a variable in the initialisation object. In the following example only the filter feature is left enabled (although I've explicitly declared it as enabled).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bPaginate": false,
+		"bLengthChange": false,
+		"bFilter": true,
+		"bSort": false,
+		"bInfo": false,
+		"bAutoWidth": false } );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/hidden_columns.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/hidden_columns.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/hidden_columns.html	(revision 6286)
@@ -0,0 +1,566 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"aoColumnDefs": [ 
+						{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
+						{ "bVisible": false, "aTargets": [ 3 ] }
+					] } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> with hidden columns
+			</div>
+
+			<h1>Preamble</h1>
+			<p>There are times when you might find it useful to display only a sub-set of the information that was available in the original table. For example you might want to reduce the amount of data shown on screen to make it clearer for the user. This hidden data can still be filtered upon allowing the user access to that data (for example 'tag' information for a row entry), or this can be disabled. In the table below both the platform and engine version columns have been hidden, the former is searchable, the latter is not.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+				$('#example').dataTable( {
+					"aoColumnDefs": [ 
+						{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
+						{ "bVisible": false, "aTargets": [ 3 ] }
+					] } );
+			} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/language.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/language.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/language.html	(revision 6286)
@@ -0,0 +1,574 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"oLanguage": {
+						"sLengthMenu": "Display _MENU_ records per page",
+						"sZeroRecords": "Nothing found - sorry",
+						"sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
+						"sInfoEmpty": "Showing 0 to 0 of 0 records",
+						"sInfoFiltered": "(filtered from _MAX_ total records)"
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> dynamic language
+			</div>
+
+			<h1>Preamble</h1>
+			<p>Changing the language information displayed by <i>DataTables</i> is as simple as passing in a language object to the dataTable constructor. The example above shows a different set of English language definitions to be used, rather than the defaults.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+$('#example').dataTable( {
+		"oLanguage": {
+			"sLengthMenu": "Display _MENU_ records per page",
+			"sZeroRecords": "Nothing found - sorry",
+			"sInfo": "Showing _START_ to _END_ of _TOTAL_ records",
+			"sInfoEmpty": "Showing 0 to 0 of 0 records",
+			"sInfoFiltered": "(filtered from _MAX_ total records)"
+		}
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/multi_col_sort.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/multi_col_sort.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/multi_col_sort.html	(revision 6286)
@@ -0,0 +1,597 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Define two custom functions (asc and desc) for string sorting */
+			jQuery.fn.dataTableExt.oSort['string-case-asc']  = function(x,y) {
+				return ((x < y) ? -1 : ((x > y) ?  1 : 0));
+			};
+			
+			jQuery.fn.dataTableExt.oSort['string-case-desc'] = function(x,y) {
+				return ((x < y) ?  1 : ((x > y) ? -1 : 0));
+			};
+			
+			$(document).ready(function() {
+				/* Build the DataTable with third column using our custom sort functions */
+				$('#example').dataTable( {
+					"aaSorting": [ [0,'asc'], [1,'asc'] ],
+					"aoColumnDefs": [
+						{ "sType": 'string-case', "aTargets": [ 2 ] }
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> multi column and custom sort example
+			</div>
+
+			<h1>Preamble</h1>
+			<p>As you would expect with a desktop application, <i>DataTables</i> allows you to sort by multiple columns at the same time. This multiple sorting mechanism is always active if the <b>bSort</b> initialiser is <b>true</b> (it is by default) and the end user can activate it by 'shift' clicking on the column they want to add to the sort. You can also pass in an array of information using the <b>aaSorting</b> initialiser, as I have done in the example below there the first column is sorted as the primary column and the second one then used if the elements in the first column match. As many columns as you wish can be added to the sort.</p>
+			<p><i>DataTables</i> also provides a method to add your own sorting functions, to extend those built into DataTables. This can be very useful if you wish to sort on data formats such as currency and non-Javascript standard date formats (<a href="http://www.overset.com/2008/09/01/javascript-natural-sort-algorithm/">this natural sort</a> algorithm is a popular useage). This is achieved by extending the <b>jQuery.fn.dataTableExt</b> object with ascending and descending sort functions. In the example below I've added case sensitive sorting functions.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/* Define two custom functions (asc and desc) for string sorting */
+jQuery.fn.dataTableExt.oSort['string-case-asc']  = function(x,y) {
+	return ((x < y) ? -1 : ((x > y) ?  1 : 0));
+};
+
+jQuery.fn.dataTableExt.oSort['string-case-desc'] = function(x,y) {
+	return ((x < y) ?  1 : ((x > y) ? -1 : 0));
+};
+
+$(document).ready(function() {
+	/* Build the DataTable with third column using our custom sort functions */
+	$('#example').dataTable( {
+		"aaSorting": [ [0,'asc'], [1,'asc'] ],
+		"aoColumns": [
+			null,
+			null,
+			{ "sType": 'string-case' },
+			null,
+			null
+		]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/multiple_tables.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/multiple_tables.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/multiple_tables.html	(revision 6286)
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('.dataTable').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> multiple tables example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Using standard jQuery selector syntax with <i>DataTables</i> it is trivial to initialise multiple tables with a single line of Javascript, as shown below. All tables are completely independent, but share the parameters passed thought the initialiser object (for example if you specific the Spanish language file, all tables will be shown in Spanish).</p>
+			
+			<h1>Live example</h1>
+			
+			<p style="font-weight: bold;">Trident based browsers</p>
+			<div id="demo_trident">
+<table cellpadding="0" cellspacing="0" border="0" class="display dataTable" id="allan">
+	<thead>
+		<tr>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+	</table>
+			</div>
+			<div class="clear"></div>
+	
+	
+			<p style="clear:both; margin-top:4em; font-weight: bold;">Gecko based browsers</p>
+			<div id="demo_gecko">
+<table cellpadding="0" cellspacing="0" border="0" class="display dataTable">
+	<thead>
+		<tr>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeA">
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+	</table>
+			</div>
+			<div class="clear"></div>
+	
+	
+			<p style="clear:both; margin-top:4em; font-weight: bold;">WebKit based browsers (note no platform)</p>
+			<div id="demo_webkit">
+<table cellpadding="0" cellspacing="0" border="0" class="display dataTable">
+	<thead>
+		<tr>
+			<th>Browser</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeA">
+			<td>Safari 1.2</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Safari 1.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Safari 2.0</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Safari 3.0</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>OmniWeb 5.5</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>iPod Touch / iPhone</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+	</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('.dataTable').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_x.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_x.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_x.html	(revision 6286)
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "110%",
+					"bScrollCollapse": true
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				DataTables horizontal scrolling example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This DataTables horizontal scrolling example shows horizontal scrolling on a DataTable, which is very useful for when you have a wide table, with a large number of columns to display, but want to constrain it to a limited horizontal display area. To enable x scrolling simply set the sScrollX parameter to be whatever you want the container wrapper's width to be (any CSS measurement is acceptable, or just a number which is treated as pixels). Note also that sScrollXInner is used here o force the table it be wider than is strictly needed. You may or may not want to include this parameter depending on your application.</p>
+			<p>Also shown in this example is the use of a 'collapsing scroll table' by using <b>bScrollCollapse</b>. When this parameter is set to true, the table size will 'collapse' down to match the number of rows, if the table height is smaller than the scrollable area.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "110%",
+		"bScrollCollapse": true
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_xy.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_xy.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_xy.html	(revision 6286)
@@ -0,0 +1,564 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sScrollY": 200,
+					"sScrollX": "100%",
+					"sScrollXInner": "110%"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				DataTables horizontal and vertical scrolling example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>In this example you can see DataTables doing horizontal and vertical scrolling at the same time. Note also that pagination is enabled, and the scrolling accounts for this.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": 200,
+		"sScrollX": "100%",
+		"sScrollXInner": "110%"
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y.html	(revision 6286)
@@ -0,0 +1,571 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			div.table_Wrapper { border:10px solid blue; }
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sScrollY": "200px",
+					"bPaginate": false
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				DataTables vertical scrolling example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows the DataTables table body scrolling in the vertical direction. This can generally be seen as an alternative method to pagination for displaying a large table in a fairly small vertical area, and as such pagination has been disabled here (note that this is not mandatory, it will work just fine with pagination enabled as well!). The example is set up to show grid lines using CSS, which is useful for alignment, both for testing and end user usability. To enable y scrolling simply set the sScrollY parameter to be whatever you want the container wrapper's height to be (any CSS measurement is acceptable, or just a number which is treated as pixels).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": "200px",
+		"bPaginate": false
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y_infinite.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y_infinite.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y_infinite.html	(revision 6286)
@@ -0,0 +1,574 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			div.table_Wrapper { border:10px solid blue; }
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bScrollInfinite": true,
+					"bScrollCollapse": true,
+					"sScrollY": "200px"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				DataTables infinite vertical scrolling example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows the DataTables table body scrolling in the vertical direction with infinite scrolling. The idea of infinite scrolling means that data will be added to the table dynamically, as and when needed by the user scrolling the table. A sub-set of the data is loaded initially, and more added as needed (technically of course, it is not "infinite" since it will stop loading data at the end of the data set!). Note that pagination much be enabled for infinite scrolling to work, but the pagination controls will not be shown (they could be, but can cause very confusing user interaction).</p>
+			<p>DataTables' infinite scroll can be used with any of the <a href="http://datatables.net/usage/#data_sources">four data sources</a> supported, and they do not require any modification to work (including server-side scripts).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bScrollInfinite": true,
+		"bScrollCollapse": true,
+		"sScrollY": "200px"
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y_theme.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y_theme.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/scroll_y_theme.html	(revision 6286)
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sScrollY": 200,
+					"bJQueryUI": true,
+					"sPaginationType": "full_numbers"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				DataTables vertical scrolling with jQuery UI ThemeRoller example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example is an extension of the vertical scrolling example, showing DataTables ability to be themed by jQuery UI's ThemeRoller.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th width="12%">CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"sScrollY": 200,
+		"bJQueryUI": true,
+		"sPaginationType": "full_numbers"
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/state_save.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/state_save.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/state_save.html	(revision 6286)
@@ -0,0 +1,566 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bStateSave": true
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> state saving example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p><i>DataTables</i> can use cookies in the end user's web-browser in order to store it's state after each change in drawing. What this means is that if the user were to reload the page, the table should remain exactly as it was (length, filtering, pagination and sorting). This feature is disabled by default, but can be easily enabled using the <b>bStateSave</b> initialisation parameter as shown in this example. Note also that the duration of the cookie can be set using the <b>iCookieDuration</b> initialisation parameter (which is in seconds).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bStateSave": true
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/table_sorting.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/table_sorting.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/table_sorting.html	(revision 6286)
@@ -0,0 +1,566 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"aaSorting": [[ 4, "desc" ]]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> table sorting example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>With <i>DataTables</i> you can alter the sorting characteristics of the table at initialisation time. Using the <b>aaSorting</b> initialisation parameter, you can get the table exactly how you want to present the information. The <b>aaSorting</b> parameter is an array of arrays where the first value is the column to sort on, and the second is 'asc' or 'desc' as required (it is a double array for <a href="../basic_init/multi_col_sort.html">multi-column sorting</a>). The table below is sorted (descending) by the CSS grade. Note also that the 'Engine version' column is automatically detected as a numeric column and sorted accordingly. Finally, also note that "asSorting" has been defined for the column in question for this example. The reason for this is that DataTables uses ["asc","desc"] for sorting order by default, but we would in this case prefer "desc" to be given first priority.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"aaSorting": [[ 4, "desc" ]]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/themes.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/themes.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/themes.html	(revision 6286)
@@ -0,0 +1,560 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				oTable = $('#example').dataTable({
+					"bJQueryUI": true,
+					"sPaginationType": "full_numbers"
+				});
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> with jQuery UI themes example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Styling widgets such as DataTables can often take a considerable amount of time to fully integrate it into your site/application, with the demo styles as a base. This holes true for all widgets, and the jQuery UI team have addressed this issue by introducing themes through their excellent <a href="http://jqueryui.com/themeroller/">ThemeRoller</a>. DataTables has full support for ThemeRoller created themes, all you need to do is enable the <b>bJQueryUI</b> flag in the initialisation object, and the required mark-up and classes will be added by DataTables.</p>
+			
+			<h1>Live example</h1>
+			<div class="demo_jui">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	oTable = $('#example').dataTable({
+		"bJQueryUI": true,
+		"sPaginationType": "full_numbers"
+	});
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/zero_config.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/zero_config.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/basic_init/zero_config.html	(revision 6286)
@@ -0,0 +1,564 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> zero configuration example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p><i>DataTables</i> has most features enabled by default, so all you need to do to use it with one of your own tables is to call the construction function (as shown below).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center"> 4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/ajax.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/ajax.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/ajax.html	(revision 6286)
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable( {
+					"bProcessing": true,
+					"sAjaxSource": '../examples_support/json_source.txt'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> AJAX source example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Although <i>DataTables</i> is built from the principle of progressive enhancement, it is often useful to be able to construct a table from an AJAX source. This can be done in one of two ways - either using the <b>aData</b> initialisation parameter which takes an array of data, or using the <b>sAjaxSource</b> initialisation parameter which will have <i>DataTables</i> go to that source with an XHR call and load data from there. This example shows the latter method in action. <i>DataTables</i> expects an object with an array called "aaData" with the data source.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"sAjaxSource": '../examples_support/json_source.txt'
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/dom.html	(revision 6286)
@@ -0,0 +1,562 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> zero configuration example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The foundation for DataTables is progressive enhancement, so it is very adept at reading table information directly from the DOM. Therefore, if your user's browser is capable the user will get a DataTables enhanced experience. Otherwise they get the plain HTML.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/js_array.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/js_array.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/js_array.html	(revision 6286)
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Data set - can contain whatever information you want */
+			var aDataSet = [
+				['Trident','Internet Explorer 4.0','Win 95+','4','X'],
+				['Trident','Internet Explorer 5.0','Win 95+','5','C'],
+				['Trident','Internet Explorer 5.5','Win 95+','5.5','A'],
+				['Trident','Internet Explorer 6','Win 98+','6','A'],
+				['Trident','Internet Explorer 7','Win XP SP2+','7','A'],
+				['Trident','AOL browser (AOL desktop)','Win XP','6','A'],
+				['Gecko','Firefox 1.0','Win 98+ / OSX.2+','1.7','A'],
+				['Gecko','Firefox 1.5','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Firefox 2.0','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Firefox 3.0','Win 2k+ / OSX.3+','1.9','A'],
+				['Gecko','Camino 1.0','OSX.2+','1.8','A'],
+				['Gecko','Camino 1.5','OSX.3+','1.8','A'],
+				['Gecko','Netscape 7.2','Win 95+ / Mac OS 8.6-9.2','1.7','A'],
+				['Gecko','Netscape Browser 8','Win 98SE+','1.7','A'],
+				['Gecko','Netscape Navigator 9','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Mozilla 1.0','Win 95+ / OSX.1+',1,'A'],
+				['Gecko','Mozilla 1.1','Win 95+ / OSX.1+',1.1,'A'],
+				['Gecko','Mozilla 1.2','Win 95+ / OSX.1+',1.2,'A'],
+				['Gecko','Mozilla 1.3','Win 95+ / OSX.1+',1.3,'A'],
+				['Gecko','Mozilla 1.4','Win 95+ / OSX.1+',1.4,'A'],
+				['Gecko','Mozilla 1.5','Win 95+ / OSX.1+',1.5,'A'],
+				['Gecko','Mozilla 1.6','Win 95+ / OSX.1+',1.6,'A'],
+				['Gecko','Mozilla 1.7','Win 98+ / OSX.1+',1.7,'A'],
+				['Gecko','Mozilla 1.8','Win 98+ / OSX.1+',1.8,'A'],
+				['Gecko','Seamonkey 1.1','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Epiphany 2.20','Gnome','1.8','A'],
+				['Webkit','Safari 1.2','OSX.3','125.5','A'],
+				['Webkit','Safari 1.3','OSX.3','312.8','A'],
+				['Webkit','Safari 2.0','OSX.4+','419.3','A'],
+				['Webkit','Safari 3.0','OSX.4+','522.1','A'],
+				['Webkit','OmniWeb 5.5','OSX.4+','420','A'],
+				['Webkit','iPod Touch / iPhone','iPod','420.1','A'],
+				['Webkit','S60','S60','413','A'],
+				['Presto','Opera 7.0','Win 95+ / OSX.1+','-','A'],
+				['Presto','Opera 7.5','Win 95+ / OSX.2+','-','A'],
+				['Presto','Opera 8.0','Win 95+ / OSX.2+','-','A'],
+				['Presto','Opera 8.5','Win 95+ / OSX.2+','-','A'],
+				['Presto','Opera 9.0','Win 95+ / OSX.3+','-','A'],
+				['Presto','Opera 9.2','Win 88+ / OSX.3+','-','A'],
+				['Presto','Opera 9.5','Win 88+ / OSX.3+','-','A'],
+				['Presto','Opera for Wii','Wii','-','A'],
+				['Presto','Nokia N800','N800','-','A'],
+				['Presto','Nintendo DS browser','Nintendo DS','8.5','C/A<sup>1</sup>'],
+				['KHTML','Konqureror 3.1','KDE 3.1','3.1','C'],
+				['KHTML','Konqureror 3.3','KDE 3.3','3.3','A'],
+				['KHTML','Konqureror 3.5','KDE 3.5','3.5','A'],
+				['Tasman','Internet Explorer 4.5','Mac OS 8-9','-','X'],
+				['Tasman','Internet Explorer 5.1','Mac OS 7.6-9','1','C'],
+				['Tasman','Internet Explorer 5.2','Mac OS 8-X','1','C'],
+				['Misc','NetFront 3.1','Embedded devices','-','C'],
+				['Misc','NetFront 3.4','Embedded devices','-','A'],
+				['Misc','Dillo 0.8','Embedded devices','-','X'],
+				['Misc','Links','Text only','-','X'],
+				['Misc','Lynx','Text only','-','X'],
+				['Misc','IE Mobile','Windows Mobile 6','-','C'],
+				['Misc','PSP browser','PSP','-','C'],
+				['Other browsers','All others','-','-','U']
+			];
+			
+			$(document).ready(function() {
+				$('#dynamic').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );
+				$('#example').dataTable( {
+					"aaData": aDataSet,
+					"aoColumns": [
+						{ "sTitle": "Engine" },
+						{ "sTitle": "Browser" },
+						{ "sTitle": "Platform" },
+						{ "sTitle": "Version", "sClass": "center" },
+						{
+							"sTitle": "Grade",
+							"sClass": "center",
+							"fnRender": function(obj) {
+								var sReturn = obj.aData[ obj.iDataColumn ];
+								if ( sReturn == "A" ) {
+									sReturn = "<b>A</b>";
+								}
+								return sReturn;
+							}
+						}
+					]
+				} );	
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> dynamic creation example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>At times you will wish to be able to create a table from dynamic information passed directly to <i>DataTables</i>, rather than having it read from the document. This is achieved using the "aaData" array in the initialisation object. A table node must first be created before the initialiser is called (as shown in the code below). This is also useful for optimisation - if you are able to format the data as required, this method can save a lot of DOM parsing to create a table.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic"></div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#demo').html( '&lt;table cellpadding="0" cellspacing="0" border="0" class="display" id="example"&gt;&lt;/table&gt;' );
+	$('#example').dataTable( {
+		"aaData": [
+			/* Reduced data set */
+			[ "Trident", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
+			[ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
+			[ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
+			[ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
+			[ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
+			[ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
+			[ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
+			[ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
+			[ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
+			[ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
+			[ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
+			[ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
+		],
+		"aoColumns": [
+			{ "sTitle": "Engine" },
+			{ "sTitle": "Browser" },
+			{ "sTitle": "Platform" },
+			{ "sTitle": "Version", "sClass": "center" },
+			{
+				"sTitle": "Grade",
+				"sClass": "center",
+				"fnRender": function(obj) {
+					var sReturn = obj.aData[ obj.iDataColumn ];
+					if ( sReturn == "A" ) {
+						sReturn = "&lt;b&gt;A&lt;/b&gt;";
+					}
+					return sReturn;
+				}
+			}
+		]
+	} );	
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/server_side.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/server_side.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/data_sources/server_side.html	(revision 6286)
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing.php"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>There are many ways to get your data into DataTables, and if you are working with seriously large databases, you might want to consider using the server-side options that DataTables provides. Basically all of the paging, filtering, sorting etc that DataTables does can be handed off to a server (or any other data source - Google Gears or Adobe Air for example!) and DataTables is just an events and display module.</p>
+			<p>The example here shows a very simple display of the CSS data (used in all my other examples), but in this instance coming from the server on each draw. Filtering, multi-column sorting etc all work as you would expect.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing.php"
+	} );
+} );</pre>
+			
+			
+			<h1>Server side (PHP) code</h1>
+			<pre>&lt;?php
+	/*
+	 * Script:    DataTables server-side script for PHP and MySQL
+	 * Copyright: 2010 - Allan Jardine
+	 * License:   GPL v2 or BSD (3-point)
+	 */
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Easy set variables
+	 */
+	
+	/* Array of database columns which should be read and sent back to DataTables. Use a space where
+	 * you want to insert a non-database field (for example a counter or static image)
+	 */
+	$aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );
+	
+	/* Indexed column (used for fast and accurate table cardinality) */
+	$sIndexColumn = "id";
+	
+	/* DB table to use */
+	$sTable = "ajax";
+	
+	/* Database connection information */
+	$gaSql['user']       = "";
+	$gaSql['password']   = "";
+	$gaSql['db']         = "";
+	$gaSql['server']     = "localhost";
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
+	 * no need to edit below this line
+	 */
+	
+	/* 
+	 * MySQL connection
+	 */
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	
+	/* 
+	 * Paging
+	 */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) &amp;&amp; $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	
+	/*
+	 * Ordering
+	 */
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i&lt;intval( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
+			{
+				$sOrder .= $aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."
+				 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+			}
+		}
+		
+		$sOrder = substr_replace( $sOrder, "", -2 );
+		if ( $sOrder == "ORDER BY" )
+		{
+			$sOrder = "";
+		}
+	}
+	
+	
+	/* 
+	 * Filtering
+	 * NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE (";
+		for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
+		{
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
+		}
+		$sWhere = substr_replace( $sWhere, "", -3 );
+		$sWhere .= ')';
+	}
+	
+	/* Individual column filtering */
+	for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
+	{
+		if ( $_GET['bSearchable_'.$i] == "true" &amp;&amp; $_GET['sSearch_'.$i] != '' )
+		{
+			if ( $sWhere == "" )
+			{
+				$sWhere = "WHERE ";
+			}
+			else
+			{
+				$sWhere .= " AND ";
+			}
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
+		}
+	}
+	
+	
+	/*
+	 * SQL queries
+	 * Get data to display
+	 */
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
+		FROM   $sTable
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	/* Data set length after filtering */
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	/* Total data set length */
+	$sQuery = "
+		SELECT COUNT(".$sIndexColumn.")
+		FROM   $sTable
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	
+	/*
+	 * Output
+	 */
+	$output = array(
+		"sEcho" =&gt; intval($_GET['sEcho']),
+		"iTotalRecords" =&gt; $iTotal,
+		"iTotalDisplayRecords" =&gt; $iFilteredTotal,
+		"aaData" =&gt; array()
+	);
+	
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$row = array();
+		for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
+		{
+			if ( $aColumns[$i] == "version" )
+			{
+				/* Special output formatting for 'version' column */
+				$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
+			}
+			else if ( $aColumns[$i] != ' ' )
+			{
+				/* General output */
+				$row[] = $aRow[ $aColumns[$i] ];
+			}
+		}
+		$output['aaData'][] = $row;
+	}
+	
+	echo json_encode( $output );
+?&gt;</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/data.sql
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/data.sql	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/data.sql	(revision 6286)
@@ -0,0 +1,67 @@
+CREATE TABLE IF NOT EXISTS `ajax` (
+  `id` int(10) NOT NULL auto_increment,
+  `engine` varchar(255) NOT NULL default '',
+  `browser` varchar(255) NOT NULL default '',
+  `platform` varchar(255) NOT NULL default '',
+  `version` float NOT NULL default '0',
+  `grade` varchar(20) NOT NULL default '',
+  PRIMARY KEY  (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
+
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 4.0', 'Win 95+', '4', 'X' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 5.0', 'Win 95+', '5', 'C' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 5.5', 'Win 95+', '5.5', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 6', 'Win 98+', '6', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'Internet Explorer 7', 'Win XP SP2+', '7', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Trident', 'AOL browser (AOL desktop)', 'Win XP', '6', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 1.0', 'Win 98+ / OSX.2+', '1.7', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 1.5', 'Win 98+ / OSX.2+', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 2.0', 'Win 98+ / OSX.2+', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Firefox 3.0', 'Win 2k+ / OSX.3+', '1.9', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Camino 1.0', 'OSX.2+', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Camino 1.5', 'OSX.3+', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape 7.2', 'Win 95+ / Mac OS 8.6-9.2', '1.7', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape Browser 8', 'Win 98SE+', '1.7', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Netscape Navigator 9', 'Win 98+ / OSX.2+', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.0', 'Win 95+ / OSX.1+', '1', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.1', 'Win 95+ / OSX.1+', '1.1', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.2', 'Win 95+ / OSX.1+', '1.2', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.3', 'Win 95+ / OSX.1+', '1.3', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.4', 'Win 95+ / OSX.1+', '1.4', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.5', 'Win 95+ / OSX.1+', '1.5', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.6', 'Win 95+ / OSX.1+', '1.6', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.7', 'Win 98+ / OSX.1+', '1.7', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Mozilla 1.8', 'Win 98+ / OSX.1+', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Seamonkey 1.1', 'Win 98+ / OSX.2+', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Gecko', 'Epiphany 2.20', 'Gnome', '1.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 1.2', 'OSX.3', '125.5', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 1.3', 'OSX.3', '312.8', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 2.0', 'OSX.4+', '419.3', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'Safari 3.0', 'OSX.4+', '522.1', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'OmniWeb 5.5', 'OSX.4+', '420', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'iPod Touch / iPhone', 'iPod', '420.1', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Webkit', 'S60', 'S60', '413', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 7.0', 'Win 95+ / OSX.1+', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 7.5', 'Win 95+ / OSX.2+', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 8.0', 'Win 95+ / OSX.2+', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 8.5', 'Win 95+ / OSX.2+', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.0', 'Win 95+ / OSX.3+', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.2', 'Win 88+ / OSX.3+', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera 9.5', 'Win 88+ / OSX.3+', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Opera for Wii', 'Wii', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Nokia N800', 'N800', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Presto', 'Nintendo DS browser', 'Nintendo DS', '8.5', 'C/A<sup>1</sup>' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.1', 'KDE 3.1', '3.1', 'C' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.3', 'KDE 3.3', '3.3', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'KHTML', 'Konqureror 3.5', 'KDE 3.5', '3.5', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 4.5', 'Mac OS 8-9', '-', 'X' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 5.1', 'Mac OS 7.6-9', '1', 'C' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Tasman', 'Internet Explorer 5.2', 'Mac OS 8-X', '1', 'C' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'NetFront 3.1', 'Embedded devices', '-', 'C' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'NetFront 3.4', 'Embedded devices', '-', 'A' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Dillo 0.8', 'Embedded devices', '-', 'X' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Links', 'Text only', '-', 'X' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'Lynx', 'Text only', '-', 'X' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'IE Mobile', 'Windows Mobile 6', '-', 'C' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Misc', 'PSP browser', 'PSP', '-', 'C' );
+INSERT INTO ajax ( engine, browser, platform, version, grade ) VALUES ( 'Other browsers', 'All others', '-', '-', 'U' );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/de_DE.txt
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/de_DE.txt	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/de_DE.txt	(revision 6286)
@@ -0,0 +1,17 @@
+{
+	"sProcessing": "Bitte warten...",
+	"sLengthMenu": "_MENU_ EintrÃ€ge anzeigen",
+	"sZeroRecords": "Keine EintrÃ€ge vorhanden.",
+	"sInfo": "_START_ bis _END_ von _TOTAL_ EintrÃ€gen",
+	"sInfoEmpty": "0 bis 0 von 0 EintrÃ€gen",
+	"sInfoFiltered": "(gefiltert von _MAX_  EintrÃ€gen)",
+	"sInfoPostFix": "",
+	"sSearch": "Suchen",
+	"sUrl": "",
+	"oPaginate": {
+		"sFirst":    "Erster",
+		"sPrevious": "ZurÃŒck",
+		"sNext":     "NÃ€chster",
+		"sLast":     "Letzter"
+	}
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/editable_ajax.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/editable_ajax.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/editable_ajax.php	(revision 6286)
@@ -0,0 +1,3 @@
+<?php
+	echo $_POST['value'].' (server updated)';
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/index.html	(revision 6286)
@@ -0,0 +1,7 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<html>
+	<frameset rows="15%,85%">
+		<frame src="controller.html">
+		<frame>
+	</frameset>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/infiniteScroll.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/infiniteScroll.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/infiniteScroll.php	(revision 6286)
@@ -0,0 +1,97 @@
+<?php
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Easy set variables
+	 */
+	
+	/* Array of database columns which should be read and sent back to DataTables. Use a space where
+	 * you want to insert a non-database field (for example a counter or static image)
+	 */
+	$aColumns = array( 'name', 'phone', 'email', 'city', 'zip' );
+	
+	/* Indexed column (used for fast and accurate table cardinality) */
+	$sIndexColumn = "id";
+	
+	/* DB table to use */
+	$sTable = "testData";
+	
+	/* Database connection information */
+	$gaSql['user']       = "";
+	$gaSql['password']   = "";
+	$gaSql['db']         = "";
+	$gaSql['server']     = "localhost";
+	
+	/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
+	 * no need to edit below this line
+	 */
+	
+	/* 
+	 * MySQL connection
+	 */
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	
+	/* 
+	 * Paging
+	 */
+	$sLimit = "";
+	if ( isset( $_GET['iStart'] ) && isset( $_GET['iLength'] ) )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iStart'] ).", ".
+			mysql_real_escape_string( $_GET['iLength'] );
+	}
+	else
+	{
+		echo '{ "aaData": [] }';
+		exit();
+	}
+	
+	/*
+	 * SQL queries
+	 * Get data to display
+	 */
+	$sQuery = "
+		SELECT ".str_replace(" , ", " ", implode(", ", $aColumns))."
+		FROM   $sTable
+		ORDER BY name ASC
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	/*
+	 * Output
+	 */
+	$sOutput = '{';
+	$sOutput .= '"aaData": [ ';
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$sOutput .= "[";
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			/* General output */
+			$sOutput .= '"'.str_replace('"', '\"', $aRow[ $aColumns[$i] ]).'",';
+		}
+		
+		/*
+		 * Optional Configuration:
+		 * If you need to add any extra columns (add/edit/delete etc) to the table, that aren't in the
+		 * database - you can do it here
+		 */
+		
+		
+		$sOutput = substr_replace( $sOutput, "", -1 );
+		$sOutput .= "],";
+	}
+	$sOutput = substr_replace( $sOutput, "", -1 );
+	$sOutput .= '] }';
+	
+	echo $sOutput;
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery-ui-tabs.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery-ui-tabs.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery-ui-tabs.js	(revision 6286)
@@ -0,0 +1,65 @@
+/*!
+ * jQuery UI 1.8.2
+ *
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==
+"hidden")return false;b=b&&b=="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,f,g){return c.ui.isOverAxis(a,d,f)&&c.ui.isOverAxis(b,e,g)},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,
+NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect",
+"none")},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",
+1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==undefined)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");return(/input|select|textarea|button|object/.test(b)?
+!a.disabled:"a"==b||"area"==b?a.href||!isNaN(d):!isNaN(d))&&!c(a)["area"==b?"parents":"closest"](":hidden").length},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}})}})(jQuery);
+;/*!
+ * jQuery UI Widget 1.8.2
+ *
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype=
+b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g=
+b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();
+this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f,
+h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=
+b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
+;/*
+ * jQuery UI Tabs 1.8.2
+ *
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function(d){function s(){return++u}function v(){return++w}var u=0,w=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&&
+e==this.options.selected||this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+s()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+v());return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c=
+d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]||
+(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
+this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected=
+this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
+if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass":
+"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs",
+function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show",
+null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs",
+function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g,
+j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",
+function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,
+"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",
+true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");
+this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=c}),function(h){return h>=c?--h:h});this._tabify();this._trigger("remove",
+null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this},
+select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(this.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing");
+if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}},
+abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.2"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate=
+function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k<a.anchors.length?k:0)},c);i&&i.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(i){i.clientX&&a.rotate(null)}:function(){t=b.selected;h()});if(c){this.element.bind("tabsshow",h);this.anchors.bind(b.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(b.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
+;
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.jeditable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.jeditable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.jeditable.js	(revision 6286)
@@ -0,0 +1,543 @@
+/*
+ * Jeditable - jQuery in place edit plugin
+ *
+ * Copyright (c) 2006-2009 Mika Tuupola, Dylan Verheul
+ *
+ * Licensed under the MIT license:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *
+ * Project home:
+ *   http://www.appelsiini.net/projects/jeditable
+ *
+ * Based on editable by Dylan Verheul <dylan_at_dyve.net>:
+ *    http://www.dyve.net/jquery/?editable
+ *
+ */
+
+/**
+  * Version 1.7.1
+  *
+  * ** means there is basic unit tests for this parameter. 
+  *
+  * @name  Jeditable
+  * @type  jQuery
+  * @param String  target             (POST) URL or function to send edited content to **
+  * @param Hash    options            additional options 
+  * @param String  options[method]    method to use to send edited content (POST or PUT) **
+  * @param Function options[callback] Function to run after submitting edited content **
+  * @param String  options[name]      POST parameter name of edited content
+  * @param String  options[id]        POST parameter name of edited div id
+  * @param Hash    options[submitdata] Extra parameters to send when submitting edited content.
+  * @param String  options[type]      text, textarea or select (or any 3rd party input type) **
+  * @param Integer options[rows]      number of rows if using textarea ** 
+  * @param Integer options[cols]      number of columns if using textarea **
+  * @param Mixed   options[height]    'auto', 'none' or height in pixels **
+  * @param Mixed   options[width]     'auto', 'none' or width in pixels **
+  * @param String  options[loadurl]   URL to fetch input content before editing **
+  * @param String  options[loadtype]  Request type for load url. Should be GET or POST.
+  * @param String  options[loadtext]  Text to display while loading external content.
+  * @param Mixed   options[loaddata]  Extra parameters to pass when fetching content before editing.
+  * @param Mixed   options[data]      Or content given as paramameter. String or function.**
+  * @param String  options[indicator] indicator html to show when saving
+  * @param String  options[tooltip]   optional tooltip text via title attribute **
+  * @param String  options[event]     jQuery event such as 'click' of 'dblclick' **
+  * @param String  options[submit]    submit button value, empty means no button **
+  * @param String  options[cancel]    cancel button value, empty means no button **
+  * @param String  options[cssclass]  CSS class to apply to input form. 'inherit' to copy from parent. **
+  * @param String  options[style]     Style to apply to input form 'inherit' to copy from parent. **
+  * @param String  options[select]    true or false, when true text is highlighted ??
+  * @param String  options[placeholder] Placeholder text or html to insert when element is empty. **
+  * @param String  options[onblur]    'cancel', 'submit', 'ignore' or function ??
+  *             
+  * @param Function options[onsubmit] function(settings, original) { ... } called before submit
+  * @param Function options[onreset]  function(settings, original) { ... } called before reset
+  * @param Function options[onerror]  function(settings, original, xhr) { ... } called on error
+  *             
+  * @param Hash    options[ajaxoptions]  jQuery Ajax options. See docs.jquery.com.
+  *             
+  */
+
+(function($) {
+
+    $.fn.editable = function(target, options) {
+            
+        if ('disable' == target) {
+            $(this).data('disabled.editable', true);
+            return;
+        }
+        if ('enable' == target) {
+            $(this).data('disabled.editable', false);
+            return;
+        }
+        if ('destroy' == target) {
+            $(this)
+                .unbind($(this).data('event.editable'))
+                .removeData('disabled.editable')
+                .removeData('event.editable');
+            return;
+        }
+        
+        var settings = $.extend({}, $.fn.editable.defaults, {target:target}, options);
+        
+        /* setup some functions */
+        var plugin   = $.editable.types[settings.type].plugin || function() { };
+        var submit   = $.editable.types[settings.type].submit || function() { };
+        var buttons  = $.editable.types[settings.type].buttons 
+                    || $.editable.types['defaults'].buttons;
+        var content  = $.editable.types[settings.type].content 
+                    || $.editable.types['defaults'].content;
+        var element  = $.editable.types[settings.type].element 
+                    || $.editable.types['defaults'].element;
+        var reset    = $.editable.types[settings.type].reset 
+                    || $.editable.types['defaults'].reset;
+        var callback = settings.callback || function() { };
+        var onedit   = settings.onedit   || function() { }; 
+        var onsubmit = settings.onsubmit || function() { };
+        var onreset  = settings.onreset  || function() { };
+        var onerror  = settings.onerror  || reset;
+          
+        /* show tooltip */
+        if (settings.tooltip) {
+            $(this).attr('title', settings.tooltip);
+        }
+        
+        settings.autowidth  = 'auto' == settings.width;
+        settings.autoheight = 'auto' == settings.height;
+        
+        return this.each(function() {
+                        
+            /* save this to self because this changes when scope changes */
+            var self = this;  
+                   
+            /* inlined block elements lose their width and height after first edit */
+            /* save them for later use as workaround */
+            var savedwidth  = $(self).width();
+            var savedheight = $(self).height();
+            
+            /* save so it can be later used by $.editable('destroy') */
+            $(this).data('event.editable', settings.event);
+            
+            /* if element is empty add something clickable (if requested) */
+            if (!$.trim($(this).html())) {
+                $(this).html(settings.placeholder);
+            }
+            
+            $(this).bind(settings.event, function(e) {
+                
+                /* abort if disabled for this element */
+                if (true === $(this).data('disabled.editable')) {
+                    return;
+                }
+                
+                /* prevent throwing an exeption if edit field is clicked again */
+                if (self.editing) {
+                    return;
+                }
+                
+                /* abort if onedit hook returns false */
+                if (false === onedit.apply(this, [settings, self])) {
+                   return;
+                }
+                
+                /* prevent default action and bubbling */
+                e.preventDefault();
+                e.stopPropagation();
+                
+                /* remove tooltip */
+                if (settings.tooltip) {
+                    $(self).removeAttr('title');
+                }
+                
+                /* figure out how wide and tall we are, saved width and height */
+                /* are workaround for http://dev.jquery.com/ticket/2190 */
+                if (0 == $(self).width()) {
+                    //$(self).css('visibility', 'hidden');
+                    settings.width  = savedwidth;
+                    settings.height = savedheight;
+                } else {
+                    if (settings.width != 'none') {
+                        settings.width = 
+                            settings.autowidth ? $(self).width()  : settings.width;
+                    }
+                    if (settings.height != 'none') {
+                        settings.height = 
+                            settings.autoheight ? $(self).height() : settings.height;
+                    }
+                }
+                //$(this).css('visibility', '');
+                
+                /* remove placeholder text, replace is here because of IE */
+                if ($(this).html().toLowerCase().replace(/(;|")/g, '') == 
+                    settings.placeholder.toLowerCase().replace(/(;|")/g, '')) {
+                        $(this).html('');
+                }
+                                
+                self.editing    = true;
+                self.revert     = $(self).html();
+                $(self).html('');
+
+                /* create the form object */
+                var form = $('<form />');
+                
+                /* apply css or style or both */
+                if (settings.cssclass) {
+                    if ('inherit' == settings.cssclass) {
+                        form.attr('class', $(self).attr('class'));
+                    } else {
+                        form.attr('class', settings.cssclass);
+                    }
+                }
+
+                if (settings.style) {
+                    if ('inherit' == settings.style) {
+                        form.attr('style', $(self).attr('style'));
+                        /* IE needs the second line or display wont be inherited */
+                        form.css('display', $(self).css('display'));                
+                    } else {
+                        form.attr('style', settings.style);
+                    }
+                }
+
+                /* add main input element to form and store it in input */
+                var input = element.apply(form, [settings, self]);
+
+                /* set input content via POST, GET, given data or existing value */
+                var input_content;
+                
+                if (settings.loadurl) {
+                    var t = setTimeout(function() {
+                        input.disabled = true;
+                        content.apply(form, [settings.loadtext, settings, self]);
+                    }, 100);
+
+                    var loaddata = {};
+                    loaddata[settings.id] = self.id;
+                    if ($.isFunction(settings.loaddata)) {
+                        $.extend(loaddata, settings.loaddata.apply(self, [self.revert, settings]));
+                    } else {
+                        $.extend(loaddata, settings.loaddata);
+                    }
+                    $.ajax({
+                       type : settings.loadtype,
+                       url  : settings.loadurl,
+                       data : loaddata,
+                       async : false,
+                       success: function(result) {
+                          window.clearTimeout(t);
+                          input_content = result;
+                          input.disabled = false;
+                       }
+                    });
+                } else if (settings.data) {
+                    input_content = settings.data;
+                    if ($.isFunction(settings.data)) {
+                        input_content = settings.data.apply(self, [self.revert, settings]);
+                    }
+                } else {
+                    input_content = self.revert; 
+                }
+                content.apply(form, [input_content, settings, self]);
+
+                input.attr('name', settings.name);
+        
+                /* add buttons to the form */
+                buttons.apply(form, [settings, self]);
+         
+                /* add created form to self */
+                $(self).append(form);
+         
+                /* attach 3rd party plugin if requested */
+                plugin.apply(form, [settings, self]);
+
+                /* focus to first visible form element */
+                $(':input:visible:enabled:first', form).focus();
+
+                /* highlight input contents when requested */
+                if (settings.select) {
+                    input.select();
+                }
+        
+                /* discard changes if pressing esc */
+                input.keydown(function(e) {
+                    if (e.keyCode == 27) {
+                        e.preventDefault();
+                        //self.reset();
+                        reset.apply(form, [settings, self]);
+                    }
+                });
+
+                /* discard, submit or nothing with changes when clicking outside */
+                /* do nothing is usable when navigating with tab */
+                var t;
+                if ('cancel' == settings.onblur) {
+                    input.blur(function(e) {
+                        /* prevent canceling if submit was clicked */
+                        t = setTimeout(function() {
+                            reset.apply(form, [settings, self]);
+                        }, 500);
+                    });
+                } else if ('submit' == settings.onblur) {
+                    input.blur(function(e) {
+                        /* prevent double submit if submit was clicked */
+                        t = setTimeout(function() {
+                            form.submit();
+                        }, 200);
+                    });
+                } else if ($.isFunction(settings.onblur)) {
+                    input.blur(function(e) {
+                        settings.onblur.apply(self, [input.val(), settings]);
+                    });
+                } else {
+                    input.blur(function(e) {
+                      /* TODO: maybe something here */
+                    });
+                }
+
+                form.submit(function(e) {
+
+                    if (t) { 
+                        clearTimeout(t);
+                    }
+
+                    /* do no submit */
+                    e.preventDefault(); 
+            
+                    /* call before submit hook. */
+                    /* if it returns false abort submitting */                    
+                    if (false !== onsubmit.apply(form, [settings, self])) { 
+                        /* custom inputs call before submit hook. */
+                        /* if it returns false abort submitting */
+                        if (false !== submit.apply(form, [settings, self])) { 
+
+                          /* check if given target is function */
+                          if ($.isFunction(settings.target)) {
+                              var str = settings.target.apply(self, [input.val(), settings]);
+                              $(self).html(str);
+                              self.editing = false;
+                              callback.apply(self, [self.innerHTML, settings]);
+                              /* TODO: this is not dry */                              
+                              if (!$.trim($(self).html())) {
+                                  $(self).html(settings.placeholder);
+                              }
+                          } else {
+                              /* add edited content and id of edited element to POST */
+                              var submitdata = {};
+                              submitdata[settings.name] = input.val();
+                              submitdata[settings.id] = self.id;
+                              /* add extra data to be POST:ed */
+                              if ($.isFunction(settings.submitdata)) {
+                                  $.extend(submitdata, settings.submitdata.apply(self, [self.revert, settings]));
+                              } else {
+                                  $.extend(submitdata, settings.submitdata);
+                              }
+
+                              /* quick and dirty PUT support */
+                              if ('PUT' == settings.method) {
+                                  submitdata['_method'] = 'put';
+                              }
+
+                              /* show the saving indicator */
+                              $(self).html(settings.indicator);
+                              
+                              /* defaults for ajaxoptions */
+                              var ajaxoptions = {
+                                  type    : 'POST',
+                                  data    : submitdata,
+                                  dataType: 'html',
+                                  url     : settings.target,
+                                  success : function(result, status) {
+                                      if (ajaxoptions.dataType == 'html') {
+                                        $(self).html(result);
+                                      }
+                                      self.editing = false;
+                                      callback.apply(self, [result, settings]);
+                                      if (!$.trim($(self).html())) {
+                                          $(self).html(settings.placeholder);
+                                      }
+                                  },
+                                  error   : function(xhr, status, error) {
+                                      onerror.apply(form, [settings, self, xhr]);
+                                  }
+                              };
+                              
+                              /* override with what is given in settings.ajaxoptions */
+                              $.extend(ajaxoptions, settings.ajaxoptions);   
+                              $.ajax(ajaxoptions);          
+                              
+                            }
+                        }
+                    }
+                    
+                    /* show tooltip again */
+                    $(self).attr('title', settings.tooltip);
+                    
+                    return false;
+                });
+            });
+            
+            /* privileged methods */
+            this.reset = function(form) {
+                /* prevent calling reset twice when blurring */
+                if (this.editing) {
+                    /* before reset hook, if it returns false abort reseting */
+                    if (false !== onreset.apply(form, [settings, self])) { 
+                        $(self).html(self.revert);
+                        self.editing   = false;
+                        if (!$.trim($(self).html())) {
+                            $(self).html(settings.placeholder);
+                        }
+                        /* show tooltip again */
+                        if (settings.tooltip) {
+                            $(self).attr('title', settings.tooltip);                
+                        }
+                    }                    
+                }
+            };            
+        });
+
+    };
+
+
+    $.editable = {
+        types: {
+            defaults: {
+                element : function(settings, original) {
+                    var input = $('<input type="hidden"></input>');                
+                    $(this).append(input);
+                    return(input);
+                },
+                content : function(string, settings, original) {
+                    $(':input:first', this).val(string);
+                },
+                reset : function(settings, original) {
+                  original.reset(this);
+                },
+                buttons : function(settings, original) {
+                    var form = this;
+                    if (settings.submit) {
+                        /* if given html string use that */
+                        if (settings.submit.match(/>$/)) {
+                            var submit = $(settings.submit).click(function() {
+                                if (submit.attr("type") != "submit") {
+                                    form.submit();
+                                }
+                            });
+                        /* otherwise use button with given string as text */
+                        } else {
+                            var submit = $('<button type="submit" />');
+                            submit.html(settings.submit);                            
+                        }
+                        $(this).append(submit);
+                    }
+                    if (settings.cancel) {
+                        /* if given html string use that */
+                        if (settings.cancel.match(/>$/)) {
+                            var cancel = $(settings.cancel);
+                        /* otherwise use button with given string as text */
+                        } else {
+                            var cancel = $('<button type="cancel" />');
+                            cancel.html(settings.cancel);
+                        }
+                        $(this).append(cancel);
+
+                        $(cancel).click(function(event) {
+                            //original.reset();
+                            if ($.isFunction($.editable.types[settings.type].reset)) {
+                                var reset = $.editable.types[settings.type].reset;                                                                
+                            } else {
+                                var reset = $.editable.types['defaults'].reset;                                
+                            }
+                            reset.apply(form, [settings, original]);
+                            return false;
+                        });
+                    }
+                }
+            },
+            text: {
+                element : function(settings, original) {
+                    var input = $('<input />');
+                    if (settings.width  != 'none') { input.width(settings.width);  }
+                    if (settings.height != 'none') { input.height(settings.height); }
+                    /* https://bugzilla.mozilla.org/show_bug.cgi?id=236791 */
+                    //input[0].setAttribute('autocomplete','off');
+                    input.attr('autocomplete','off');
+                    $(this).append(input);
+                    return(input);
+                }
+            },
+            textarea: {
+                element : function(settings, original) {
+                    var textarea = $('<textarea />');
+                    if (settings.rows) {
+                        textarea.attr('rows', settings.rows);
+                    } else if (settings.height != "none") {
+                        textarea.height(settings.height);
+                    }
+                    if (settings.cols) {
+                        textarea.attr('cols', settings.cols);
+                    } else if (settings.width != "none") {
+                        textarea.width(settings.width);
+                    }
+                    $(this).append(textarea);
+                    return(textarea);
+                }
+            },
+            select: {
+               element : function(settings, original) {
+                    var select = $('<select />');
+                    $(this).append(select);
+                    return(select);
+                },
+                content : function(data, settings, original) {
+                    /* If it is string assume it is json. */
+                    if (String == data.constructor) {      
+                        eval ('var json = ' + data);
+                    } else {
+                    /* Otherwise assume it is a hash already. */
+                        var json = data;
+                    }
+                    for (var key in json) {
+                        if (!json.hasOwnProperty(key)) {
+                            continue;
+                        }
+                        if ('selected' == key) {
+                            continue;
+                        } 
+                        var option = $('<option />').val(key).append(json[key]);
+                        $('select', this).append(option);    
+                    }                    
+                    /* Loop option again to set selected. IE needed this... */ 
+                    $('select', this).children().each(function() {
+                        if ($(this).val() == json['selected'] || 
+                            $(this).text() == $.trim(original.revert)) {
+                                $(this).attr('selected', 'selected');
+                        }
+                    });
+                }
+            }
+        },
+
+        /* Add new input type */
+        addInputType: function(name, input) {
+            $.editable.types[name] = input;
+        }
+    };
+
+    // publicly accessible defaults
+    $.fn.editable.defaults = {
+        name       : 'value',
+        id         : 'id',
+        type       : 'text',
+        width      : 'auto',
+        height     : 'auto',
+        event      : 'click.editable',
+        onblur     : 'cancel',
+        loadtype   : 'GET',
+        loadtext   : 'Loading...',
+        placeholder: 'Click to edit',
+        loaddata   : {},
+        submitdata : {},
+        ajaxoptions: {}
+    };
+
+})(jQuery);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.tooltip.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.tooltip.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.tooltip.css	(revision 6286)
@@ -0,0 +1,12 @@
+#tooltip{
+	position: absolute;
+	display: none;
+	border: 1px solid #333;
+	background: #BDCDFF;
+	padding: 5px 20px;
+	color: #333;
+	
+	border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-moz-border-radius: 5px;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.tooltip.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.tooltip.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/jquery.tooltip.js	(revision 6286)
@@ -0,0 +1,294 @@
+/*
+ * jQuery Tooltip plugin 1.3
+ *
+ * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
+ * http://docs.jquery.com/Plugins/Tooltip
+ *
+ * Copyright (c) 2006 - 2008 JÃ¶rn Zaefferer
+ *
+ * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
+ * 
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ */
+ 
+;(function($) {
+	
+		// the tooltip element
+	var helper = {},
+		// the current tooltipped element
+		current,
+		// the title of the current element, used for restoring
+		title,
+		// timeout id for delayed tooltips
+		tID,
+		// IE 5.5 or 6
+		IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
+		// flag for mouse tracking
+		track = false;
+	
+	$.tooltip = {
+		blocked: false,
+		defaults: {
+			delay: 200,
+			fade: false,
+			showURL: true,
+			extraClass: "",
+			top: 15,
+			left: 15,
+			id: "tooltip"
+		},
+		block: function() {
+			$.tooltip.blocked = !$.tooltip.blocked;
+		}
+	};
+	
+	$.fn.extend({
+		tooltip: function(settings) {
+			settings = $.extend({}, $.tooltip.defaults, settings);
+			createHelper(settings);
+			return this.each(function() {
+					$.data(this, "tooltip", settings);
+					this.tOpacity = helper.parent.css("opacity");
+					// copy tooltip into its own expando and remove the title
+					this.tooltipText = this.title;
+					$(this).removeAttr("title");
+					// also remove alt attribute to prevent default tooltip in IE
+					this.alt = "";
+				})
+				.mouseover(save)
+				.mouseout(hide)
+				.click(hide);
+		},
+		fixPNG: IE ? function() {
+			return this.each(function () {
+				var image = $(this).css('backgroundImage');
+				if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
+					image = RegExp.$1;
+					$(this).css({
+						'backgroundImage': 'none',
+						'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
+					}).each(function () {
+						var position = $(this).css('position');
+						if (position != 'absolute' && position != 'relative')
+							$(this).css('position', 'relative');
+					});
+				}
+			});
+		} : function() { return this; },
+		unfixPNG: IE ? function() {
+			return this.each(function () {
+				$(this).css({'filter': '', backgroundImage: ''});
+			});
+		} : function() { return this; },
+		hideWhenEmpty: function() {
+			return this.each(function() {
+				$(this)[ $(this).html() ? "show" : "hide" ]();
+			});
+		},
+		url: function() {
+			return this.attr('href') || this.attr('src');
+		}
+	});
+	
+	function createHelper(settings) {
+		// there can be only one tooltip helper
+		if( helper.parent )
+			return;
+		// create the helper, h3 for title, div for url
+		helper.parent = $('<div id="' + settings.id + '"><h3></h3><div class="body"></div><div class="url"></div></div>')
+			// add to document
+			.appendTo(document.body)
+			// hide it at first
+			.hide();
+			
+		// apply bgiframe if available
+		if ( $.fn.bgiframe )
+			helper.parent.bgiframe();
+		
+		// save references to title and url elements
+		helper.title = $('h3', helper.parent);
+		helper.body = $('div.body', helper.parent);
+		helper.url = $('div.url', helper.parent);
+	}
+	
+	function settings(element) {
+		return $.data(element, "tooltip");
+	}
+	
+	// main event handler to start showing tooltips
+	function handle(event) {
+		// show helper, either with timeout or on instant
+		if( settings(this).delay )
+			tID = setTimeout(show, settings(this).delay);
+		else
+			show();
+		
+		// if selected, update the helper position when the mouse moves
+		track = !!settings(this).track;
+		$(document.body).bind('mousemove', update);
+			
+		// update at least once
+		update(event);
+	}
+	
+	// save elements title before the tooltip is displayed
+	function save() {
+		// if this is the current source, or it has no title (occurs with click event), stop
+		if ( $.tooltip.blocked || this == current || (!this.tooltipText && !settings(this).bodyHandler) )
+			return;
+
+		// save current
+		current = this;
+		title = this.tooltipText;
+		
+		if ( settings(this).bodyHandler ) {
+			helper.title.hide();
+			var bodyContent = settings(this).bodyHandler.call(this);
+			if (bodyContent.nodeType || bodyContent.jquery) {
+				helper.body.empty().append(bodyContent)
+			} else {
+				helper.body.html( bodyContent );
+			}
+			helper.body.show();
+		} else if ( settings(this).showBody ) {
+			var parts = title.split(settings(this).showBody);
+			helper.title.html(parts.shift()).show();
+			helper.body.empty();
+			for(var i = 0, part; (part = parts[i]); i++) {
+				if(i > 0)
+					helper.body.append("<br/>");
+				helper.body.append(part);
+			}
+			helper.body.hideWhenEmpty();
+		} else {
+			helper.title.html(title).show();
+			helper.body.hide();
+		}
+		
+		// if element has href or src, add and show it, otherwise hide it
+		if( settings(this).showURL && $(this).url() )
+			helper.url.html( $(this).url().replace('http://', '') ).show();
+		else 
+			helper.url.hide();
+		
+		// add an optional class for this tip
+		helper.parent.addClass(settings(this).extraClass);
+
+		// fix PNG background for IE
+		if (settings(this).fixPNG )
+			helper.parent.fixPNG();
+			
+		handle.apply(this, arguments);
+	}
+	
+	// delete timeout and show helper
+	function show() {
+		tID = null;
+		if ((!IE || !$.fn.bgiframe) && settings(current).fade) {
+			if (helper.parent.is(":animated"))
+				helper.parent.stop().show().fadeTo(settings(current).fade, current.tOpacity);
+			else
+				helper.parent.is(':visible') ? helper.parent.fadeTo(settings(current).fade, current.tOpacity) : helper.parent.fadeIn(settings(current).fade);
+		} else {
+			helper.parent.show();
+		}
+		update();
+	}
+	
+	/**
+	 * callback for mousemove
+	 * updates the helper position
+	 * removes itself when no current element
+	 */
+	function update(event)	{
+		if($.tooltip.blocked)
+			return;
+		
+		if (event && event.target.tagName == "OPTION") {
+			return;
+		}
+		
+		// stop updating when tracking is disabled and the tooltip is visible
+		if ( !track && helper.parent.is(":visible")) {
+			$(document.body).unbind('mousemove', update)
+		}
+		
+		// if no current element is available, remove this listener
+		if( current == null ) {
+			$(document.body).unbind('mousemove', update);
+			return;	
+		}
+		
+		// remove position helper classes
+		helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");
+		
+		var left = helper.parent[0].offsetLeft;
+		var top = helper.parent[0].offsetTop;
+		if (event) {
+			// position the helper 15 pixel to bottom right, starting from mouse position
+			left = event.pageX + settings(current).left;
+			top = event.pageY + settings(current).top;
+			var right='auto';
+			if (settings(current).positionLeft) {
+				right = $(window).width() - left;
+				left = 'auto';
+			}
+			helper.parent.css({
+				left: left,
+				right: right,
+				top: top
+			});
+		}
+		
+		var v = viewport(),
+			h = helper.parent[0];
+		// check horizontal position
+		if (v.x + v.cx < h.offsetLeft + h.offsetWidth) {
+			left -= h.offsetWidth + 20 + settings(current).left;
+			helper.parent.css({left: left + 'px'}).addClass("viewport-right");
+		}
+		// check vertical position
+		if (v.y + v.cy < h.offsetTop + h.offsetHeight) {
+			top -= h.offsetHeight + 20 + settings(current).top;
+			helper.parent.css({top: top + 'px'}).addClass("viewport-bottom");
+		}
+	}
+	
+	function viewport() {
+		return {
+			x: $(window).scrollLeft(),
+			y: $(window).scrollTop(),
+			cx: $(window).width(),
+			cy: $(window).height()
+		};
+	}
+	
+	// hide helper and restore added classes and the title
+	function hide(event) {
+		if($.tooltip.blocked)
+			return;
+		// clear timeout if possible
+		if(tID)
+			clearTimeout(tID);
+		// no more current element
+		current = null;
+		
+		var tsettings = settings(this);
+		function complete() {
+			helper.parent.removeClass( tsettings.extraClass ).hide().css("opacity", "");
+		}
+		if ((!IE || !$.fn.bgiframe) && tsettings.fade) {
+			if (helper.parent.is(':animated'))
+				helper.parent.stop().fadeTo(tsettings.fade, 0, complete);
+			else
+				helper.parent.stop().fadeOut(tsettings.fade, complete);
+		} else
+			complete();
+		
+		if( settings(this).fixPNG )
+			helper.parent.unfixPNG();
+	}
+	
+})(jQuery);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/json_source.txt
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/json_source.txt	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/json_source.txt	(revision 6286)
@@ -0,0 +1,59 @@
+{ "aaData": [
+	["Trident","Internet Explorer 4.0","Win 95+","4","X"],
+	["Trident","Internet Explorer 5.0","Win 95+","5","C"],
+	["Trident","Internet Explorer 5.5","Win 95+","5.5","A"],
+	["Trident","Internet Explorer 6","Win 98+","6","A"],
+	["Trident","Internet Explorer 7","Win XP SP2+","7","A"],
+	["Trident","AOL browser (AOL desktop)","Win XP","6","A"],
+	["Gecko","Firefox 1.0","Win 98+ / OSX.2+","1.7","A"],
+	["Gecko","Firefox 1.5","Win 98+ / OSX.2+","1.8","A"],
+	["Gecko","Firefox 2.0","Win 98+ / OSX.2+","1.8","A"],
+	["Gecko","Firefox 3.0","Win 2k+ / OSX.3+","1.9","A"],
+	["Gecko","Camino 1.0","OSX.2+","1.8","A"],
+	["Gecko","Camino 1.5","OSX.3+","1.8","A"],
+	["Gecko","Netscape 7.2","Win 95+ / Mac OS 8.6-9.2","1.7","A"],
+	["Gecko","Netscape Browser 8","Win 98SE+","1.7","A"],
+	["Gecko","Netscape Navigator 9","Win 98+ / OSX.2+","1.8","A"],
+	["Gecko","Mozilla 1.0","Win 95+ / OSX.1+",1,"A"],
+	["Gecko","Mozilla 1.1","Win 95+ / OSX.1+",1.1,"A"],
+	["Gecko","Mozilla 1.2","Win 95+ / OSX.1+",1.2,"A"],
+	["Gecko","Mozilla 1.3","Win 95+ / OSX.1+",1.3,"A"],
+	["Gecko","Mozilla 1.4","Win 95+ / OSX.1+",1.4,"A"],
+	["Gecko","Mozilla 1.5","Win 95+ / OSX.1+",1.5,"A"],
+	["Gecko","Mozilla 1.6","Win 95+ / OSX.1+",1.6,"A"],
+	["Gecko","Mozilla 1.7","Win 98+ / OSX.1+",1.7,"A"],
+	["Gecko","Mozilla 1.8","Win 98+ / OSX.1+",1.8,"A"],
+	["Gecko","Seamonkey 1.1","Win 98+ / OSX.2+","1.8","A"],
+	["Gecko","Epiphany 2.20","Gnome","1.8","A"],
+	["Webkit","Safari 1.2","OSX.3","125.5","A"],
+	["Webkit","Safari 1.3","OSX.3","312.8","A"],
+	["Webkit","Safari 2.0","OSX.4+","419.3","A"],
+	["Webkit","Safari 3.0","OSX.4+","522.1","A"],
+	["Webkit","OmniWeb 5.5","OSX.4+","420","A"],
+	["Webkit","iPod Touch / iPhone","iPod","420.1","A"],
+	["Webkit","S60","S60","413","A"],
+	["Presto","Opera 7.0","Win 95+ / OSX.1+","-","A"],
+	["Presto","Opera 7.5","Win 95+ / OSX.2+","-","A"],
+	["Presto","Opera 8.0","Win 95+ / OSX.2+","-","A"],
+	["Presto","Opera 8.5","Win 95+ / OSX.2+","-","A"],
+	["Presto","Opera 9.0","Win 95+ / OSX.3+","-","A"],
+	["Presto","Opera 9.2","Win 88+ / OSX.3+","-","A"],
+	["Presto","Opera 9.5","Win 88+ / OSX.3+","-","A"],
+	["Presto","Opera for Wii","Wii","-","A"],
+	["Presto","Nokia N800","N800","-","A"],
+	["Presto","Nintendo DS browser","Nintendo DS","8.5","C/A<sup>1</sup>"],
+	["KHTML","Konqureror 3.1","KDE 3.1","3.1","C"],
+	["KHTML","Konqureror 3.3","KDE 3.3","3.3","A"],
+	["KHTML","Konqureror 3.5","KDE 3.5","3.5","A"],
+	["Tasman","Internet Explorer 4.5","Mac OS 8-9","-","X"],
+	["Tasman","Internet Explorer 5.1","Mac OS 7.6-9","1","C"],
+	["Tasman","Internet Explorer 5.2","Mac OS 8-X","1","C"],
+	["Misc","NetFront 3.1","Embedded devices","-","C"],
+	["Misc","NetFront 3.4","Embedded devices","-","A"],
+	["Misc","Dillo 0.8","Embedded devices","-","X"],
+	["Misc","Links","Text only","-","X"],
+	["Misc","Lynx","Text only","-","X"],
+	["Misc","IE Mobile","Windows Mobile 6","-","C"],
+	["Misc","PSP browser","PSP","-","C"],
+	["Other browsers","All others","-","-","U"]
+] }
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/json_source2.txt
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/json_source2.txt	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/json_source2.txt	(revision 6286)
@@ -0,0 +1,14 @@
+{ "aaData": [
+	[ "ALLAN", "Internet Explorer 4.0", "Win 95+", 4, "X" ],
+	[ "Trident", "Internet Explorer 5.0", "Win 95+", 5, "C" ],
+	[ "Trident", "Internet Explorer 5.5", "Win 95+", 5.5, "A" ],
+	[ "Trident", "Internet Explorer 6.0", "Win 98+", 6, "A" ],
+	[ "Trident", "Internet Explorer 7.0", "Win XP SP2+", 7, "A" ],
+	[ "Gecko", "Firefox 1.5", "Win 98+ / OSX.2+", 1.8, "A" ],
+	[ "Gecko", "Firefox 2", "Win 98+ / OSX.2+", 1.8, "A" ],
+	[ "Gecko", "Firefox 3", "Win 2k+ / OSX.3+", 1.9, "A" ],
+	[ "Webkit", "Safari 1.2", "OSX.3", 125.5, "A" ],
+	[ "Webkit", "Safari 1.3", "OSX.3", 312.8, "A" ],
+	[ "Webkit", "Safari 2.0", "OSX.4+", 419.3, "A" ],
+	[ "Webkit", "Safari 3.0", "OSX.4+", 522.1, "A" ]
+] }
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing.php	(revision 6286)
@@ -0,0 +1,174 @@
+<?php
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Easy set variables
+	 */
+	
+	/* Array of database columns which should be read and sent back to DataTables. Use a space where
+	 * you want to insert a non-database field (for example a counter or static image)
+	 */
+	$aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );
+	
+	/* Indexed column (used for fast and accurate table cardinality) */
+	$sIndexColumn = "id";
+	
+	/* DB table to use */
+	$sTable = "ajax";
+	
+	/* Database connection information */
+	$gaSql['user']       = "";
+	$gaSql['password']   = "";
+	$gaSql['db']         = "";
+	$gaSql['server']     = "localhost";
+	
+	/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
+	 * no need to edit below this line
+	 */
+	
+	/* 
+	 * MySQL connection
+	 */
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	
+	/* 
+	 * Paging
+	 */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	
+	/*
+	 * Ordering
+	 */
+	$sOrder = "";
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
+			{
+				$sOrder .= $aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."
+				 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+			}
+		}
+		
+		$sOrder = substr_replace( $sOrder, "", -2 );
+		if ( $sOrder == "ORDER BY" )
+		{
+			$sOrder = "";
+		}
+	}
+	
+	
+	/* 
+	 * Filtering
+	 * NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE (";
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
+		}
+		$sWhere = substr_replace( $sWhere, "", -3 );
+		$sWhere .= ')';
+	}
+	
+	/* Individual column filtering */
+	for ( $i=0 ; $i<count($aColumns) ; $i++ )
+	{
+		if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
+		{
+			if ( $sWhere == "" )
+			{
+				$sWhere = "WHERE ";
+			}
+			else
+			{
+				$sWhere .= " AND ";
+			}
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
+		}
+	}
+	
+	
+	/*
+	 * SQL queries
+	 * Get data to display
+	 */
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
+		FROM   $sTable
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	/* Data set length after filtering */
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	/* Total data set length */
+	$sQuery = "
+		SELECT COUNT(".$sIndexColumn.")
+		FROM   $sTable
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	
+	/*
+	 * Output
+	 */
+	$output = array(
+		"sEcho" => intval($_GET['sEcho']),
+		"iTotalRecords" => $iTotal,
+		"iTotalDisplayRecords" => $iFilteredTotal,
+		"aaData" => array()
+	);
+	
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$row = array();
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			if ( $aColumns[$i] == "version" )
+			{
+				/* Special output formatting for 'version' column */
+				$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
+			}
+			else if ( $aColumns[$i] != ' ' )
+			{
+				/* General output */
+				$row[] = $aRow[ $aColumns[$i] ];
+			}
+		}
+		$output['aaData'][] = $row;
+	}
+	
+	echo json_encode( $output );
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_details_col.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_details_col.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_details_col.php	(revision 6286)
@@ -0,0 +1,106 @@
+<?php
+  /* MySQL connection */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" ); /* ;-) */
+	
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	/* Paging */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	/* Ordering */
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i<mysql_real_escape_string( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			$sOrder .= fnColumnToField(mysql_real_escape_string( $_GET['iSortCol_'.$i] ))."
+			 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+		}
+		$sOrder = substr_replace( $sOrder, "", -2 );
+	}
+	
+	/* Filtering */
+	$sWhere = "";
+	if ( $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE engine LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "browser LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "platform LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "version LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "grade LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%'";
+	}
+	
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS id, engine, browser, platform, version, grade
+		FROM   ajax
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	$sQuery = "
+		SELECT COUNT(id)
+		FROM   ajax
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	
+	$sOutput = '{';
+	$sOutput .= '"sEcho": '.intval($_GET['sEcho']).', ';
+	$sOutput .= '"iTotalRecords": '.$iTotal.', ';
+	$sOutput .= '"iTotalDisplayRecords": '.$iFilteredTotal.', ';
+	$sOutput .= '"aaData": [ ';
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$sOutput .= "[";
+		$sOutput .= '"<img src=\"../examples_support/details_open.png\">",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['engine']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['browser']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['platform']).'",';
+		if ( $aRow['version'] == "0" )
+			$sOutput .= '"-",';
+		else
+			$sOutput .= '"'.str_replace('"', '\"', $aRow['version']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['grade']).'"';
+		$sOutput .= "],";
+	}
+	$sOutput = substr_replace( $sOutput, "", -1 );
+	$sOutput .= '] }';
+	
+	echo $sOutput;
+	
+	
+	function fnColumnToField( $i )
+	{
+		/* Note that column 0 is the details column */
+		if ( $i == 0 ||$i == 1 )
+			return "engine";
+		else if ( $i == 2 )
+			return "browser";
+		else if ( $i == 3 )
+			return "platform";
+		else if ( $i == 4 )
+			return "version";
+		else if ( $i == 5 )
+			return "grade";
+	}
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_filter_col.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_filter_col.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_filter_col.php	(revision 6286)
@@ -0,0 +1,122 @@
+<?php
+  /* MySQL connection */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" ); /* ;-) */
+	
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	/* Paging */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	/* Ordering */
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i<mysql_real_escape_string( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			$sOrder .= fnColumnToField(mysql_real_escape_string( $_GET['iSortCol_'.$i] ))."
+			 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+		}
+		$sOrder = substr_replace( $sOrder, "", -2 );
+	}
+	
+	/* Filtering - NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE ( engine LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "browser LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "platform LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "version LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "grade LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' )";
+	}
+	
+	for ( $i=0 ; $i<$_GET['iColumns'] ; $i++ )
+	{
+		if ( $_GET['sSearch_'.$i] != '' )
+		{
+			if ( $sWhere != "" )
+			{
+				$sWhere .= " AND ";
+			}
+			else
+			{
+				$sWhere .= "WHERE ";
+			}
+			$sWhere .= fnColumnToField($i) ." LIKE '%".mysql_real_escape_string( $_GET['sSearch_'.$i] )."%'";
+		}
+	}
+	
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS id, engine, browser, platform, version, grade
+		FROM   ajax
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	$sQuery = "
+		SELECT COUNT(id)
+		FROM   ajax
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	$sOutput = '{';
+	$sOutput .= '"sEcho": '.intval($_GET['sEcho']).', ';
+	$sOutput .= '"iTotalRecords": '.$iTotal.', ';
+	$sOutput .= '"iTotalDisplayRecords": '.$iFilteredTotal.', ';
+	$sOutput .= '"aaData": [ ';
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$sOutput .= "[";
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['engine']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['browser']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['platform']).'",';
+		if ( $aRow['version'] == "0" )
+			$sOutput .= '"-",';
+		else
+			$sOutput .= '"'.str_replace('"', '\"', $aRow['version']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['grade']).'"';
+		$sOutput .= "],";
+	}
+	$sOutput = substr_replace( $sOutput, "", -1 );
+	$sOutput .= '] }';
+	
+	echo $sOutput;
+	
+	
+	function fnColumnToField( $i )
+	{
+		if ( $i == 0 )
+			return "engine";
+		else if ( $i == 1 )
+			return "browser";
+		else if ( $i == 2 )
+			return "platform";
+		else if ( $i == 3 )
+			return "version";
+		else if ( $i == 4 )
+			return "grade";
+	}
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_id.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_id.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_id.php	(revision 6286)
@@ -0,0 +1,107 @@
+<?php
+  /* MySQL connection */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" ); /* ;-) */
+	
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	/* Paging */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	/* Ordering */
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i<mysql_real_escape_string( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			$sOrder .= fnColumnToField(mysql_real_escape_string( $_GET['iSortCol_'.$i] ))."
+			 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+		}
+		$sOrder = substr_replace( $sOrder, "", -2 );
+	}
+	
+	/* Filtering - NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE engine LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "browser LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "platform LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "version LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "grade LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%'";
+	}
+	
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS id, engine, browser, platform, version, grade
+		FROM   ajax
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	$sQuery = "
+		SELECT COUNT(id)
+		FROM   ajax
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	$sOutput = '{';
+	$sOutput .= '"sEcho": '.intval($_GET['sEcho']).', ';
+	$sOutput .= '"iTotalRecords": '.$iTotal.', ';
+	$sOutput .= '"iTotalDisplayRecords": '.$iFilteredTotal.', ';
+	$sOutput .= '"aaData": [ ';
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$sOutput .= "[";
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['id']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['engine']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['browser']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['platform']).'",';
+		if ( $aRow['version'] == "0" )
+			$sOutput .= '"-",';
+		else
+			$sOutput .= '"'.str_replace('"', '\"', $aRow['version']).'",';
+		$sOutput .= '"'.str_replace('"', '\"', $aRow['grade']).'"';
+		$sOutput .= "],";
+	}
+	$sOutput = substr_replace( $sOutput, "", -1 );
+	$sOutput .= '] }';
+	
+	echo $sOutput;
+	
+	
+	function fnColumnToField( $i )
+	{
+		if ( $i == 0 )
+			return "engine";
+		else if ( $i == 1 )
+			return "browser";
+		else if ( $i == 2 )
+			return "platform";
+		else if ( $i == 3 )
+			return "version";
+		else if ( $i == 4 )
+			return "grade";
+	}
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_ordering.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_ordering.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_ordering.php	(revision 6286)
@@ -0,0 +1,206 @@
+<?php
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Readme...
+	 * 
+	 * This script is basically the same as the server_processing.php script, but with a couple of
+	 * modifications to show how column reordering can be handled by DataTables. This is in two
+	 * parts:
+	 * 
+	 *   1. Data from server to client - notice that the $aColumns array below is in a different
+	 * order to that from the array in server_processing.php, but DataTables will render the
+	 * table in the same order. This reordering is done on the client-side by using the sColumns 
+	 * parameter which is passed back, stating the order which the server is sending data back in.
+	 * DataTables will compaire this to the sName parameter for each column and reorder as needed.
+	 * 
+	 *   2. Data from client to server - in order that the columns can be sent to the server in
+	 * any order (it is expected in this script that the server-side will always work with a static
+	 * array which is not reordered dynamically) DataTables will send the parameter 'sColumns' which
+	 * like it's return counterpart is a comma seperated list of the column names, telling the
+	 * server-side what order the columns are being shown on the client-side. As such it is now
+	 * possible to realise what column sSearch_{i} (for example) refers to. This is done by a look
+	 * up of the aColumns array from the names sent in. Note that I've used the same names for the
+	 * db table columns and the html table columns to make things a little clearer, but this is not
+	 * required.
+	 */
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Easy set variables
+	 */
+	
+	/* Array of database columns which should be read and sent back to DataTables. Use a space where
+	 * you want to insert a non-database field (for example a counter or static image)
+	 */
+	$aColumns = array( 'browser', 'platform', 'version', 'grade', 'engine' );
+	
+	/* Indexed column (used for fast and accurate table cardinality) */
+	$sIndexColumn = "id";
+	
+	/* DB table to use */
+	$sTable = "ajax";
+	
+	/* Database connection information */
+	$gaSql['user']       = "";
+	$gaSql['password']   = "";
+	$gaSql['db']         = "";
+	$gaSql['server']     = "localhost";
+	
+	/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
+	 * no need to edit below this line
+	 */
+	
+	/* 
+	 * MySQL connection
+	 */
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	
+	/*
+	 * Names - this is specific to server-side column re-ordering
+	 */
+	$aNames = explode( ',', $_GET['sColumns'] );
+	
+	
+	/* 
+	 * Paging
+	 */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	
+	/*
+	 * Ordering
+	 */
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
+			{
+				$iColumnIndex = array_search( $aNames[intval( $_GET['iSortCol_'.$i] )], $aColumns );
+				$sOrder .= $aColumns[ $iColumnIndex ]."
+				 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+			}
+		}
+		
+		$sOrder = substr_replace( $sOrder, "", -2 );
+		if ( $sOrder == "ORDER BY" )
+		{
+			$sOrder = "";
+		}
+	}
+	
+	
+	/* 
+	 * Filtering
+	 * NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE (";
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
+		}
+		$sWhere = substr_replace( $sWhere, "", -3 );
+		$sWhere .= ')';
+	}
+	
+	/* Individual column filtering */
+	for ( $i=0 ; $i<count($aColumns) ; $i++ )
+	{
+		if ( $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
+		{
+			if ( $sWhere == "" )
+			{
+				$sWhere = "WHERE ";
+			}
+			else
+			{
+				$sWhere .= " AND ";
+			}
+			$iColumnIndex = array_search( $aNames[$i], $aColumns );
+			$sWhere .= $aColumns[$iColumnIndex]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
+		}
+	}
+	
+	
+	/*
+	 * SQL queries
+	 * Get data to display
+	 */
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
+		FROM   $sTable
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	/* Data set length after filtering */
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	/* Total data set length */
+	$sQuery = "
+		SELECT COUNT(".$sIndexColumn.")
+		FROM   $sTable
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	
+	/*
+	 * Output
+	 */
+	$output = array(
+		"sEcho" => intval($_GET['sEcho']),
+		"sColumns" => implode( ',', $aColumns ),
+		"iTotalRecords" => $iTotal,
+		"iTotalDisplayRecords" => $iFilteredTotal,
+		"aaData" => array()
+	);
+	
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$row = array();
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			if ( $aColumns[$i] == "version" )
+			{
+				/* Special output formatting for 'version' column */
+				$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
+			}
+			else if ( $aColumns[$i] != ' ' )
+			{
+				/* General output */
+				$row[] = $aRow[ $aColumns[$i] ];
+			}
+		}
+		$output['aaData'][] = $row;
+	}
+	
+	echo json_encode( $output );
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_post.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_post.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/server_processing_post.php	(revision 6286)
@@ -0,0 +1,184 @@
+<?php
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Easy set variables
+	 */
+	
+	/* Array of database columns which should be read and sent back to DataTables. Use a space where
+	 * you want to insert a non-database field (for example a counter or static image)
+	 */
+	$aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );
+	
+	/* Indexed column (used for fast and accurate table cardinality) */
+	$sIndexColumn = "id";
+	
+	/* DB table to use */
+	$sTable = "ajax";
+	
+	/* Database connection information */
+	$gaSql['user']       = "";
+	$gaSql['password']   = "";
+	$gaSql['db']         = "";
+	$gaSql['server']     = "localhost";
+	
+	/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
+	 * no need to edit below this line
+	 */
+	
+	/* 
+	 * MySQL connection
+	 */
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	
+	/* 
+	 * Paging
+	 */
+	$sLimit = "";
+	if ( isset( $_POST['iDisplayStart'] ) && $_POST['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_POST['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_POST['iDisplayLength'] );
+	}
+	
+	
+	/*
+	 * Ordering
+	 */
+	if ( isset( $_POST['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i<intval( $_POST['iSortingCols'] ) ; $i++ )
+		{
+			if ( $_POST[ 'bSortable_'.intval($_POST['iSortCol_'.$i]) ] == "true" )
+			{
+				$sOrder .= $aColumns[ intval( $_POST['iSortCol_'.$i] ) ]."
+				 	".mysql_real_escape_string( $_POST['sSortDir_'.$i] ) .", ";
+			}
+		}
+		
+		$sOrder = substr_replace( $sOrder, "", -2 );
+		if ( $sOrder == "ORDER BY" )
+		{
+			$sOrder = "";
+		}
+	}
+	
+	
+	/* 
+	 * Filtering
+	 * NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( $_POST['sSearch'] != "" )
+	{
+		$sWhere = "WHERE (";
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_POST['sSearch'] )."%' OR ";
+		}
+		$sWhere = substr_replace( $sWhere, "", -3 );
+		$sWhere .= ')';
+	}
+	
+	/* Individual column filtering */
+	for ( $i=0 ; $i<count($aColumns) ; $i++ )
+	{
+		if ( $_POST['bSearchable_'.$i] == "true" && $_POST['sSearch_'.$i] != '' )
+		{
+			if ( $sWhere == "" )
+			{
+				$sWhere = "WHERE ";
+			}
+			else
+			{
+				$sWhere .= " AND ";
+			}
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_POST['sSearch_'.$i])."%' ";
+		}
+	}
+	
+	
+	/*
+	 * SQL queries
+	 * Get data to display
+	 */
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
+		FROM   $sTable
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	/* Data set length after filtering */
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	/* Total data set length */
+	$sQuery = "
+		SELECT COUNT(".$sIndexColumn.")
+		FROM   $sTable
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	
+	/*
+	 * Output
+	 */
+	$sOutput = '{';
+	$sOutput .= '"sEcho": '.intval($_POST['sEcho']).', ';
+	$sOutput .= '"iTotalRecords": '.$iTotal.', ';
+	$sOutput .= '"iTotalDisplayRecords": '.$iFilteredTotal.', ';
+	$sOutput .= '"aaData": [ ';
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$sOutput .= "[";
+		for ( $i=0 ; $i<count($aColumns) ; $i++ )
+		{
+			if ( $aColumns[$i] == "version" )
+			{
+				/* Special output formatting for 'version' */
+				$sOutput .= ($aRow[ $aColumns[$i] ]=="0") ?
+					'"-",' :
+					'"'.str_replace('"', '\"', $aRow[ $aColumns[$i] ]).'",';
+			}
+			else if ( $aColumns[$i] != ' ' )
+			{
+				/* General output */
+				$sOutput .= '"'.str_replace('"', '\"', $aRow[ $aColumns[$i] ]).'",';
+			}
+		}
+		
+		/*
+		 * Optional Configuration:
+		 * If you need to add any extra columns (add/edit/delete etc) to the table, that aren't in the
+		 * database - you can do it here
+		 */
+		
+		
+		$sOutput = substr_replace( $sOutput, "", -1 );
+		$sOutput .= "],";
+	}
+	$sOutput = substr_replace( $sOutput, "", -1 );
+	$sOutput .= '] }';
+	
+	echo $sOutput;
+?>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css	(revision 6286)
@@ -0,0 +1,572 @@
+/*
+ * jQuery UI CSS Framework @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-right {  -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
+ * jQuery UI Resizable @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }/*
+ * jQuery UI Autocomplete @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }	
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+	list-style:none;
+	padding: 2px;
+	margin: 0;
+	display:block;
+	float: left;
+}
+.ui-menu .ui-menu {
+	margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+	margin:0;
+	padding: 0;
+	zoom: 1;
+	float: left;
+	clear: left;
+	width: 100%;
+}
+.ui-menu .ui-menu-item a {
+	text-decoration:none;
+	display:block;
+	padding:.2em .4em;
+	line-height:1.5;
+	zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+	font-weight: normal;
+	margin: -1px;
+}
+/*
+ * jQuery UI Button @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; } 
+button.ui-button-icons-only { width: 3.7em; } 
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4;  }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative;  }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } 
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/themes/ui-lightness/jquery-ui-1.8.4.custom.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/themes/ui-lightness/jquery-ui-1.8.4.custom.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/examples_support/themes/ui-lightness/jquery-ui-1.8.4.custom.css	(revision 6286)
@@ -0,0 +1,572 @@
+/*
+ * jQuery UI CSS Framework @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+
+/*
+ * jQuery UI CSS Framework @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Theming/API
+ *
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
+ */
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
+.ui-widget .ui-widget { font-size: 1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
+.ui-widget-content a { color: #333333; }
+.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
+.ui-widget-header a { color: #ffffff; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
+.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
+.ui-widget :active { outline: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
+.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-right {  -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
+.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
+ * jQuery UI Resizable @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizable#theming
+ */
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
+ * jQuery UI Selectable @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectable#theming
+ */
+.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
+/*
+ * jQuery UI Accordion @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion#theming
+ */
+/* IE/Win - Fix animation bug - #4615 */
+.ui-accordion { width: 100%; }
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
+.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
+.ui-accordion .ui-accordion-content-active { display: block; }/*
+ * jQuery UI Autocomplete @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete#theming
+ */
+.ui-autocomplete { position: absolute; cursor: default; }	
+
+/* workarounds */
+* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
+
+/*
+ * jQuery UI Menu @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Menu#theming
+ */
+.ui-menu {
+	list-style:none;
+	padding: 2px;
+	margin: 0;
+	display:block;
+	float: left;
+}
+.ui-menu .ui-menu {
+	margin-top: -3px;
+}
+.ui-menu .ui-menu-item {
+	margin:0;
+	padding: 0;
+	zoom: 1;
+	float: left;
+	clear: left;
+	width: 100%;
+}
+.ui-menu .ui-menu-item a {
+	text-decoration:none;
+	display:block;
+	padding:.2em .4em;
+	line-height:1.5;
+	zoom:1;
+}
+.ui-menu .ui-menu-item a.ui-state-hover,
+.ui-menu .ui-menu-item a.ui-state-active {
+	font-weight: normal;
+	margin: -1px;
+}
+/*
+ * jQuery UI Button @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button#theming
+ */
+.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
+.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
+button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
+.ui-button-icons-only { width: 3.4em; } 
+button.ui-button-icons-only { width: 3.7em; } 
+
+/*button text element */
+.ui-button .ui-button-text { display: block; line-height: 1.4;  }
+.ui-button-text-only .ui-button-text { padding: .4em 1em; }
+.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
+.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
+.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
+.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
+/* no icon support for input elements, provide padding by default */
+input.ui-button { padding: .4em 1em; }
+
+/*button icon element(s) */
+.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
+.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
+.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
+.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
+
+/*button sets*/
+.ui-buttonset { margin-right: 7px; }
+.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
+
+/* workarounds */
+button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
+/*
+ * jQuery UI Dialog @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog#theming
+ */
+.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
+.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative;  }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; } 
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
+.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/*
+ * jQuery UI Slider @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider#theming
+ */
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
+ * jQuery UI Tabs @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs#theming
+ */
+.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
+.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
+/*
+ * jQuery UI Datepicker @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker#theming
+ */
+.ui-datepicker { width: 17em; padding: .2em .2em 0; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month, 
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+    display: none; /*sorry for IE5*/
+    display/**/: block; /*sorry for IE5*/
+    position: absolute; /*must have*/
+    z-index: -1; /*must have*/
+    filter: mask(); /*must have*/
+    top: -4px; /*must have*/
+    left: -4px; /*must have*/
+    width: 200px; /*must have*/
+    height: 200px; /*must have*/
+}/*
+ * jQuery UI Progressbar @VERSION
+ *
+ * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar#theming
+ */
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/index.html	(revision 6286)
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../media/css/demo_page.css";
+			@import "../media/css/demo_table.css";
+		</style>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> examples
+			</div>
+			
+			<p>This DataTables package comes with a number of examples of how you can use this software, and demonstrates its capabilities and flexibility.</p>
+			
+			<h1>Examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="basic_init/state_save.html">State saving</a></li>
+				<li><a href="basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="basic_init/scroll_y.html">Vertical</a> / 
+					<a href="basic_init/scroll_xy.html">Both</a> / 
+					<a href="basic_init/scroll_y_theme.html">Themed</a>
+				</li>
+				<li><a href="basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="data_sources/dom.html">DOM</a></li>
+				<li><a href="data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="api/form.html">Submit form with elements in table</a></li>
+				<li><a href="api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/dom_sort.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/dom_sort.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/dom_sort.html	(revision 6286)
@@ -0,0 +1,1106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			input.engine { width: 100%; }
+			input.version { width: 50px; }
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Create an array with the values of all the input boxes in a column */
+			$.fn.dataTableExt.afnSortData['dom-text'] = function  ( oSettings, iColumn )
+			{
+				var aData = [];
+				$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+					aData.push( this.value );
+				} );
+				return aData;
+			}
+			
+			/* Create an array with the values of all the select options in a column */
+			$.fn.dataTableExt.afnSortData['dom-select'] = function  ( oSettings, iColumn )
+			{
+				var aData = [];
+				$( 'td:eq('+iColumn+') select', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+					aData.push( $(this).val() );
+				} );
+				return aData;
+			}
+			
+			/* Create an array with the values of all the checkboxes in a column */
+			$.fn.dataTableExt.afnSortData['dom-checkbox'] = function  ( oSettings, iColumn )
+			{
+				var aData = [];
+				$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+					aData.push( this.checked==true ? "1" : "0" );
+				} );
+				return aData;
+			}
+			
+			/* Initialise the table with the required column sorting data types */
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"aoColumns": [
+						null,
+						null,
+						{ "sSortDataType": "dom-text" },
+						{ "sSortDataType": "dom-text", "sType": "numeric" },
+						{ "sSortDataType": "dom-select" },
+						{ "sSortDataType": "dom-checkbox" }
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> live DOM sorting example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how you can use information available in the DOM to sort columns. Typically DataTables will read information to be sorted during it's initialisation phase, and this will not be updated based on user interaction, so sorting on columns which have, for example, form elements in them, may not reflect the current value of the input. To overcome this problem, you must update the data that DataTables will sort on, just prior to the sort. This method is much more efficient than actually sorting using the DOM, since only one DOM query is needed for each cell to be sorted.</p>
+			<p>The example below shows the first two columns as normal text with sorting as you would expect. The following columns all have a form input element of different kinds, and the information contained within is what DataTables will perform the sort on, based on the value at the time of the sort.</p>
+			<p>This is a fairly simple example, but it you aren't constrained to just using form input elements, you could use anything and customise your DOM queries to suit yourself. You could also update the sorting live as a user in entered data into a form using an event handler calling fnSort() or fnDraw().</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th>Check</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td><input type="text" class="engine" value="Win 95+"></td>
+			<td class="center"><input type="text" class="version" value="4"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C">C</option>
+					<option value="X" selected="selected">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td><input type="text" class="engine" value="Win 95+"></td>
+			<td class="center"><input type="text" class="version" value="5"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td><input type="text" class="engine" value="Win 95+"></td>
+			<td class="center"><input type="text" class="version" value="5.5"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td><input type="text" class="engine" value="Win 98+"></td>
+			<td class="center"><input type="text" class="version" value="6"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td><input type="text" class="engine" value="Win XP SP2+"></td>
+			<td class="center"><input type="text" class="version" value="7"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td><input type="text" class="engine" value="Win XP"></td>
+			<td class="center"><input type="text" class="version" value="6"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td><input type="text" class="engine" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="1.7"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td><input type="text" class="engine" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td><input type="text" class="engine" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td><input type="text" class="engine" value="Win 2k+ / OSX.3+"></td>
+			<td class="center"><input type="text" class="version" value="1.9"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td><input type="text" class="engine" value="OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td><input type="text" class="engine" value="OSX.3+"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td><input type="text" class="engine" value="Win 95+ / Mac OS 8.6-9.2"></td>
+			<td class="center"><input type="text" class="version" value="1.7"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td><input type="text" class="engine" value="Win 98SE+"></td>
+			<td class="center"><input type="text" class="version" value="1.7"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td><input type="text" class="engine" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.1"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.2"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.3"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.4"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.5"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.6"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td><input type="text" class="engine" value="Win 98+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.7"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td><input type="text" class="engine" value="Win 98+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td><input type="text" class="engine" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td><input type="text" class="engine" value="Gnome"></td>
+			<td class="center"><input type="text" class="version" value="1.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td><input type="text" class="engine" value="OSX.3"></td>
+			<td class="center"><input type="text" class="version" value="125.5"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td><input type="text" class="engine" value="OSX.3"></td>
+			<td class="center"><input type="text" class="version" value="312.8"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td><input type="text" class="engine" value="OSX.4+"></td>
+			<td class="center"><input type="text" class="version" value="419.3"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td><input type="text" class="engine" value="OSX.4+"></td>
+			<td class="center"><input type="text" class="version" value="522.1"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td><input type="text" class="engine" value="OSX.4+"></td>
+			<td class="center"><input type="text" class="version" value="420"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td><input type="text" class="engine" value="iPod"></td>
+			<td class="center"><input type="text" class="version" value="420.1"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td><input type="text" class="engine" value="S60"></td>
+			<td class="center"><input type="text" class="version" value="413"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.2+"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td><input type="text" class="engine" value="Win 95+ / OSX.3+"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td><input type="text" class="engine" value="Win 88+ / OSX.3+"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td><input type="text" class="engine" value="Win 88+ / OSX.3+"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td><input type="text" class="engine" value="Wii"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td><input type="text" class="engine" value="N800"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td><input type="text" class="engine" value="Nintendo DS"></td>
+			<td class="center"><input type="text" class="version" value="8.5"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td><input type="text" class="engine" value="KDE 3.1"></td>
+			<td class="center"><input type="text" class="version" value="3.1"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td><input type="text" class="engine" value="KDE 3.3"></td>
+			<td class="center"><input type="text" class="version" value="3.3"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td><input type="text" class="engine" value="KDE 3.5"></td>
+			<td class="center"><input type="text" class="version" value="3.5"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td><input type="text" class="engine" value="Mac OS 8-9"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C">C</option>
+					<option value="X" selected="selected">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td><input type="text" class="engine" value="Mac OS 7.6-9"></td>
+			<td class="center"><input type="text" class="version" value="1"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td><input type="text" class="engine" value="Mac OS 8-X"></td>
+			<td class="center"><input type="text" class="version" value="1"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td><input type="text" class="engine" value="Embedded devices"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td><input type="text" class="engine" value="Embedded devices"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A" selected="selected">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td><input type="text" class="engine" value="Embedded devices"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C">C</option>
+					<option value="X" selected="selected">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox" checked="checked"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td><input type="text" class="engine" value="Text only"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C">C</option>
+					<option value="X" selected="selected">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td><input type="text" class="engine" value="Text only"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C">C</option>
+					<option value="X" selected="selected">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td><input type="text" class="engine" value="Windows Mobile 6"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td><input type="text" class="engine" value="PSP"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C" selected="selected">C</option>
+					<option value="X">X</option>
+					<option value="U">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td><input type="text" class="engine" value="-"></td>
+			<td class="center"><input type="text" class="version" value="-"></td>
+			<td class="center">
+				<select size="1">
+					<option value="A">A</option>
+					<option value="C">C</option>
+					<option value="X">X</option>
+					<option value="U" selected="selected">U</option>
+				</select>
+			</td>
+			<td class="center"><input type="checkbox"></td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th>Check</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/* Create an array with the values of all the input boxes in a column */
+$.fn.dataTableExt.afnSortData['dom-text'] = function  ( oSettings, iColumn )
+{
+	var aData = [];
+	$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+		aData.push( this.value );
+	} );
+	return aData;
+}
+
+/* Create an array with the values of all the select options in a column */
+$.fn.dataTableExt.afnSortData['dom-select'] = function  ( oSettings, iColumn )
+{
+	var aData = [];
+	$( 'td:eq('+iColumn+') select', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+		aData.push( $(this).val() );
+	} );
+	return aData;
+}
+
+/* Create an array with the values of all the checkboxes in a column */
+$.fn.dataTableExt.afnSortData['dom-checkbox'] = function  ( oSettings, iColumn )
+{
+	var aData = [];
+	$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+		aData.push( this.checked==true ? "1" : "0" );
+	} );
+	return aData;
+}
+
+/* Initialise the table with the required column sorting data types */
+$(document).ready(function() {
+	$('#example').dataTable( {
+		"aoColumns": [
+			null,
+			null,
+			{ "sSortDataType": "dom-text" },
+			{ "sSortDataType": "dom-text", "sType": "numeric" },
+			{ "sSortDataType": "dom-select" },
+			{ "sSortDataType": "dom-checkbox" }
+		]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/html_sort.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/html_sort.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/html_sort.html	(revision 6286)
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			jQuery.fn.dataTableExt.aTypes.push(
+				function ( sData ) {
+					return 'html';
+				}
+			);
+			
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> HTML sorting auto-detection example
+			</div>
+
+			<h1>Preamble</h1>
+			<p>It can be very useful to have DataTables default to it's built in type of HTML, rather than string, which a column does not fit the requirements of any other type. The way this method works is to put the 'html' type at the end of aTypes, which means it will be set as that type only if none of the other types match the data in question.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Reflection</th>
+			<th class="html">Link</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td>DataTables</td>
+			<td><a href="http://www.sprymedia.co.uk/article/DataTables">DataTables</a></td>
+		</tr>
+		<tr>
+			<td>Integrity</td>
+			<td><a href="http://www.sprymedia.co.uk/article/Integrity">A link to Integrity</a></td>
+		</tr>
+		<tr>
+			<td>Integrity</td>
+			<td><a href="http://www.sprymedia.co.uk/article/Integrity">Integrity</a></td>
+		</tr>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>jQuery.fn.dataTableExt.aTypes.push(
+	function ( sData ) {
+		return 'html';
+	}
+);
+
+$(document).ready(function() {
+	$('#example').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/paging_plugin.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/paging_plugin.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/paging_plugin.html	(revision 6286)
@@ -0,0 +1,800 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+/* Time between each scrolling frame */
+$.fn.dataTableExt.oPagination.iTweenTime = 100;
+
+$.fn.dataTableExt.oPagination.scrolling = {
+	"fnInit": function ( oSettings, nPaging, fnCallbackDraw )
+	{
+		/* Store the next and previous elements in the oSettings object as they can be very
+		 * usful for automation - particularly testing
+		 */
+		var nPrevious = document.createElement( 'div' );
+		var nNext = document.createElement( 'div' );
+		
+		if ( oSettings.sTableId !== '' )
+		{
+			nPaging.setAttribute( 'id', oSettings.sTableId+'_paginate' );
+			nPrevious.setAttribute( 'id', oSettings.sTableId+'_previous' );
+			nNext.setAttribute( 'id', oSettings.sTableId+'_next' );
+		}
+		
+		nPrevious.className = "paginate_disabled_previous";
+		nNext.className = "paginate_disabled_next";
+		
+		nPrevious.title = oSettings.oLanguage.oPaginate.sPrevious;
+		nNext.title = oSettings.oLanguage.oPaginate.sNext;
+		
+		nPaging.appendChild( nPrevious );
+		nPaging.appendChild( nNext );
+		
+		$(nPrevious).click( function() {
+			/* Disallow paging event during a current paging event */
+			if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 )
+			{
+				return;
+			}
+			
+			oSettings.iPagingLoopStart = oSettings._iDisplayStart;
+			oSettings.iPagingEnd = oSettings._iDisplayStart - oSettings._iDisplayLength;
+			
+			/* Correct for underrun */
+			if ( oSettings.iPagingEnd < 0 )
+			{
+			  oSettings.iPagingEnd = 0;
+			}
+			
+			var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
+			var innerLoop = function () {
+				if ( oSettings.iPagingLoopStart > oSettings.iPagingEnd ) {
+					oSettings.iPagingLoopStart--;
+					oSettings._iDisplayStart = oSettings.iPagingLoopStart;
+					fnCallbackDraw( oSettings );
+					setTimeout( function() { innerLoop(); }, iTween );
+				} else {
+					oSettings.iPagingLoopStart = -1;
+				}
+			};
+			innerLoop();
+		} );
+		
+		$(nNext).click( function() {
+			/* Disallow paging event during a current paging event */
+			if ( typeof oSettings.iPagingLoopStart != 'undefined' && oSettings.iPagingLoopStart != -1 )
+			{
+				return;
+			}
+			
+			oSettings.iPagingLoopStart = oSettings._iDisplayStart;
+			
+			/* Make sure we are not over running the display array */
+			if ( oSettings._iDisplayStart + oSettings._iDisplayLength < oSettings.fnRecordsDisplay() )
+			{
+				oSettings.iPagingEnd = oSettings._iDisplayStart + oSettings._iDisplayLength;
+			}
+			
+			var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
+			var innerLoop = function () {
+				if ( oSettings.iPagingLoopStart < oSettings.iPagingEnd ) {
+					oSettings.iPagingLoopStart++;
+					oSettings._iDisplayStart = oSettings.iPagingLoopStart;
+					fnCallbackDraw( oSettings );
+					setTimeout( function() { innerLoop(); }, iTween );
+				} else {
+					oSettings.iPagingLoopStart = -1;
+				}
+			};
+			innerLoop();
+		} );
+		
+		/* Take the brutal approach to cancelling text selection */
+		$(nPrevious).bind( 'selectstart', function () { return false; } );
+		$(nNext).bind( 'selectstart', function () { return false; } );
+	},
+	
+	"fnUpdate": function ( oSettings, fnCallbackDraw )
+	{
+		if ( !oSettings.aanFeatures.p )
+		{
+			return;
+		}
+		
+		/* Loop over each instance of the pager */
+		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;
+			}
+		}
+	}
+}
+			
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"sPaginationType": "scrolling"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> custom pagination plug-in example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The two default pagination styles that DataTables comes with are great for basic tables, but you might which to add extra customisation or a bit of 'glitz'. This plug-in will scroll the table in an animated style.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/* Time between each scrolling frame */
+$.fn.dataTableExt.oPagination.iTweenTime = 100;
+
+$.fn.dataTableExt.oPagination.scrolling = {
+	"fnInit": function ( oSettings, nPaging, fnCallbackDraw )
+	{
+		/* Store the next and previous elements in the oSettings object as they can be very
+		 * usful for automation - particularly testing
+		 */
+		var nPrevious = document.createElement( 'div' );
+		var nNext = document.createElement( 'div' );
+		
+		if ( oSettings.sTableId !== '' )
+		{
+			nPaging.setAttribute( 'id', oSettings.sTableId+'_paginate' );
+			nPrevious.setAttribute( 'id', oSettings.sTableId+'_previous' );
+			nNext.setAttribute( 'id', oSettings.sTableId+'_next' );
+		}
+		
+		nPrevious.className = "paginate_disabled_previous";
+		nNext.className = "paginate_disabled_next";
+		
+		nPrevious.title = oSettings.oLanguage.oPaginate.sPrevious;
+		nNext.title = oSettings.oLanguage.oPaginate.sNext;
+		
+		nPaging.appendChild( nPrevious );
+		nPaging.appendChild( nNext );
+		
+		$(nPrevious).click( function() {
+			/* Disallow paging event during a current paging event */
+			if ( typeof oSettings.iPagingLoopStart != 'undefined' &amp;&amp; oSettings.iPagingLoopStart != -1 )
+			{
+				return;
+			}
+			
+			oSettings.iPagingLoopStart = oSettings._iDisplayStart;
+			oSettings.iPagingEnd = oSettings._iDisplayStart - oSettings._iDisplayLength;
+			
+			/* Correct for underrun */
+			if ( oSettings.iPagingEnd &lt; 0 )
+			{
+			  oSettings.iPagingEnd = 0;
+			}
+			
+			var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
+			var innerLoop = function () {
+				if ( oSettings.iPagingLoopStart &gt; oSettings.iPagingEnd ) {
+					oSettings.iPagingLoopStart--;
+					oSettings._iDisplayStart = oSettings.iPagingLoopStart;
+					fnCallbackDraw( oSettings );
+					setTimeout( function() { innerLoop(); }, iTween );
+				} else {
+					oSettings.iPagingLoopStart = -1;
+				}
+			};
+			innerLoop();
+		} );
+		
+		$(nNext).click( function() {
+			/* Disallow paging event during a current paging event */
+			if ( typeof oSettings.iPagingLoopStart != 'undefined' &amp;&amp; oSettings.iPagingLoopStart != -1 )
+			{
+				return;
+			}
+			
+			oSettings.iPagingLoopStart = oSettings._iDisplayStart;
+			
+			/* Make sure we are not over running the display array */
+			if ( oSettings._iDisplayStart + oSettings._iDisplayLength &lt; oSettings.fnRecordsDisplay() )
+			{
+				oSettings.iPagingEnd = oSettings._iDisplayStart + oSettings._iDisplayLength;
+			}
+			
+			var iTween = $.fn.dataTableExt.oPagination.iTweenTime;
+			var innerLoop = function () {
+				if ( oSettings.iPagingLoopStart &lt; oSettings.iPagingEnd ) {
+					oSettings.iPagingLoopStart++;
+					oSettings._iDisplayStart = oSettings.iPagingLoopStart;
+					fnCallbackDraw( oSettings );
+					setTimeout( function() { innerLoop(); }, iTween );
+				} else {
+					oSettings.iPagingLoopStart = -1;
+				}
+			};
+			innerLoop();
+		} );
+		
+		/* Take the brutal approach to cancelling text selection */
+		$(nPrevious).bind( 'selectstart', function () { return false; } );
+		$(nNext).bind( 'selectstart', function () { return false; } );
+	},
+	
+	"fnUpdate": function ( oSettings, fnCallbackDraw )
+	{
+		if ( !oSettings.aanFeatures.p )
+		{
+			return;
+		}
+		
+		/* Loop over each instance of the pager */
+		var an = oSettings.aanFeatures.p;
+		for ( var i=0, iLen=an.length ; i&lt;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;
+			}
+		}
+	}
+}
+
+$(document).ready(function() {
+	$('#example').dataTable( {
+		"sPaginationType": "scrolling"
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/plugin_api.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/plugin_api.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/plugin_api.html	(revision 6286)
@@ -0,0 +1,630 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/*
+			 * Function: fnGetHiddenTrNodes
+			 * Purpose:  Get all of the hidden TR nodes (i.e. the ones which aren't on display)
+			 * Returns:  array:
+			 * Inputs:   object:oSettings - DataTables settings object
+			 */
+			$.fn.dataTableExt.oApi.fnGetHiddenTrNodes = function ( oSettings )
+			{
+				/* Note the use of a DataTables 'private' function thought the 'oApi' object */
+				var anNodes = this.oApi._fnGetTrNodes( oSettings );
+				var anDisplay = $('tbody tr', oSettings.nTable);
+				
+				/* Remove nodes which are being displayed */
+				for ( var i=0 ; i<anDisplay.length ; i++ )
+				{
+					var iIndex = jQuery.inArray( anDisplay[i], anNodes );
+					if ( iIndex != -1 )
+					{
+						anNodes.splice( iIndex, 1 );
+					}
+				}
+				
+				/* Fire back the array to the caller */
+				return anNodes;
+			}
+			
+			/* Init the table and fire off a call to get the hidden nodes. */
+			var oTable;
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable();
+				
+				$('#button').click( function () {
+					var nHidden = oTable.fnGetHiddenTrNodes( );
+					alert( nHidden.length +' nodes were returned' );
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> new API function plug-in example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p><i>DataTables</i> presents a number of useful API functions to the calling code which can be used to manipulate the table data as required. But there are times when <i>DataTables</i> doesn't provide the API function that you want - so for this <i>DataTables</i> allows a method by which custom API functions can be defined (effectively a plug-in). This is done by adding functions the <b>$.fn.dataTableExt.oApi</b> object, which will be registered by <i>DataTables</i>. Each function is passed a single parameter, the settings object for the table in question.</p>
+			<p>In the example below, I present an API function which is used to obtain all of the TR rows which are currently not on display (useful for building a form from the table).</p>
+			
+			<h1>Live example</h1>
+			<a id="button" href="javascript:void(0);">Click to get hidden rows</a>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/*
+ * Function: fnGetHiddenTrNodes
+ * Purpose:  Get all of the hidden TR nodes (i.e. the ones which aren't on display)
+ * Returns:  array:
+ * Inputs:   object:oSettings - DataTables settings object
+ */
+$.fn.dataTableExt.oApi.fnGetHiddenTrNodes = function ( oSettings )
+{
+	/* Note the use of a DataTables 'private' function thought the 'oApi' object */
+	var anNodes = this.oApi._fnGetTrNodes( oSettings );
+	var anDisplay = $('tbody tr', oSettings.nTable);
+	
+	/* Remove nodes which are being displayed */
+	for ( var i=0 ; i&lt;anDisplay.length ; i++ )
+	{
+		var iIndex = jQuery.inArray( anDisplay[i], anNodes );
+		if ( iIndex != -1 )
+		{
+			anNodes.splice( iIndex, 1 );
+		}
+	}
+	
+	/* Fire back the array to the caller */
+	return anNodes;
+}
+
+/* Init the table and fire off a call to get the hidden nodes. */
+var oTable;
+$(document).ready(function() {
+	var oTable = $('#example').dataTable();
+	
+	$('#button').click( function () {
+		var nHidden = oTable.fnGetHiddenTrNodes();
+		alert( nHidden.length +' nodes were returned' );
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/range_filtering.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/range_filtering.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/range_filtering.html	(revision 6286)
@@ -0,0 +1,636 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Custom filtering function which will filter data in column four between two values */
+			$.fn.dataTableExt.afnFiltering.push(
+				function( oSettings, aData, iDataIndex ) {
+					var iMin = document.getElementById('min').value * 1;
+					var iMax = document.getElementById('max').value * 1;
+					var iVersion = aData[3] == "-" ? 0 : aData[3]*1;
+					if ( iMin == "" && iMax == "" )
+					{
+						return true;
+					}
+					else if ( iMin == "" && iVersion < iMax )
+					{
+						return true;
+					}
+					else if ( iMin < iVersion && "" == iMax )
+					{
+						return true;
+					}
+					else if ( iMin < iVersion && iVersion < iMax )
+					{
+						return true;
+					}
+					return false;
+				}
+			);
+			
+			$(document).ready(function() {
+				/* Initialise datatables */
+				var oTable = $('#example').dataTable();
+				
+				/* Add event listeners to the two range filtering inputs */
+				$('#min').keyup( function() { oTable.fnDraw(); } );
+				$('#max').keyup( function() { oTable.fnDraw(); } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> custom filtering (range filtering) example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>There may be occasions when you wish to filter data presented to the end user in your own manner, common examples are number range filtering (in between two numbers) and date range filtering. DataTables provide an API method to add your own filtering functions, <b>$.fn.dataTableExt.afnFiltering</b>. This is an array of functions (push your own onto it) which will will be run at table draw time to see if a particular row should be included or not.</p>
+			
+			<h1>Live example</h1>
+			<table border="0" cellspacing="5" cellpadding="5">
+				<tr>
+					<td>Minimum engine version:</td>
+					<td><input type="text" id="min" name="min"></td>
+				</tr>
+				<tr>
+					<td>Maximum engine version:</td>
+					<td><input type="text" id="max" name="max"></td>
+				</tr>
+			</table>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/* Custom filtering function which will filter data in column four between two values */
+$.fn.dataTableExt.afnFiltering.push(
+	function( oSettings, aData, iDataIndex ) {
+		var iMin = document.getElementById('min').value * 1;
+		var iMax = document.getElementById('max').value * 1;
+		var iVersion = aData[3] == "-" ? 0 : aData[3]*1;
+		if ( iMin == "" &amp;&amp; iMax == "" )
+		{
+			return true;
+		}
+		else if ( iMin == "" &amp;&amp; iVersion &lt; iMax )
+		{
+			return true;
+		}
+		else if ( iMin &lt; iVersion &amp;&amp; "" == iMax )
+		{
+			return true;
+		}
+		else if ( iMin &lt; iVersion &amp;&amp; iVersion &lt; iMax )
+		{
+			return true;
+		}
+		return false;
+	}
+);
+
+$(document).ready(function() {
+	/* Initialise datatables */
+	var oTable = $('#example').dataTable();
+	
+	/* Add event listeners to the two range filtering inputs */
+	$('#min').keyup( function() { oTable.fnDraw(); } );
+	$('#max').keyup( function() { oTable.fnDraw(); } );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2010.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/sorting_plugin.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/sorting_plugin.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/sorting_plugin.html	(revision 6286)
@@ -0,0 +1,663 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Note 'unshift' does not work in IE6. A simply array concatenation would. This is used
+			 * to give the custom type top priority
+			 */
+			jQuery.fn.dataTableExt.aTypes.unshift(
+				function ( sData )
+				{
+					var sValidChars = "0123456789-,";
+					var Char;
+					var bDecimal = false;
+					
+					/* Check the numeric part */
+					for ( i=0 ; i<sData.length ; i++ )
+					{
+						Char = sData.charAt(i);
+						if (sValidChars.indexOf(Char) == -1)
+						{
+							return null;
+						}
+						
+						/* Only allowed one decimal place... */
+						if ( Char == "," )
+						{
+							if ( bDecimal )
+							{
+								return null;
+							}
+							bDecimal = true;
+						}
+					}
+					
+					return 'numeric-comma';
+				}
+			);
+			
+			jQuery.fn.dataTableExt.oSort['numeric-comma-asc']  = function(a,b) {
+				var x = (a == "-") ? 0 : a.replace( /,/, "." );
+				var y = (b == "-") ? 0 : b.replace( /,/, "." );
+				x = parseFloat( x );
+				y = parseFloat( y );
+				return ((x < y) ? -1 : ((x > y) ?  1 : 0));
+			};
+			
+			jQuery.fn.dataTableExt.oSort['numeric-comma-desc'] = function(a,b) {
+				var x = (a == "-") ? 0 : a.replace( /,/, "." );
+				var y = (b == "-") ? 0 : b.replace( /,/, "." );
+				x = parseFloat( x );
+				y = parseFloat( y );
+				return ((x < y) ?  1 : ((x > y) ? -1 : 0));
+			};
+			
+			$(document).ready(function() {
+				$('#example').dataTable();
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> sorting and type detection example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When dealing with your own data formatting, it can often be very useful to have DataTables detect data types and sorting them accordingly for types which are not build into DataTables. For this reason plug-in support is provided to allow custom type detection and sorting.</p>
+			<p>This example shows sorting with a comma (',') for a decimal place. These plug-ins (and others can be found on <a href="http://www.datatables.net/plug-ins">DataTables.net</a>.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1,9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8,5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3,1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>/* Note 'unshift' does not work in IE6. A simply array concatenation would. This is used
+ * to give the custom type top priority
+ */
+jQuery.fn.dataTableExt.aTypes.unshift(
+	function ( sData )
+	{
+		var sValidChars = "0123456789-,";
+		var Char;
+		var bDecimal = false;
+		
+		/* Check the numeric part */
+		for ( i=0 ; i&lt;sData.length ; i++ )
+		{
+			Char = sData.charAt(i);
+			if (sValidChars.indexOf(Char) == -1)
+			{
+				return null;
+			}
+			
+			/* Only allowed one decimal place... */
+			if ( Char == "," )
+			{
+				if ( bDecimal )
+				{
+					return null;
+				}
+				bDecimal = true;
+			}
+		}
+		
+		return 'numeric-comma';
+	}
+);
+
+jQuery.fn.dataTableExt.oSort['numeric-comma-asc']  = function(a,b) {
+	var x = (a == "-") ? 0 : a.replace( /,/, "." );
+	var y = (b == "-") ? 0 : b.replace( /,/, "." );
+	x = parseFloat( x );
+	y = parseFloat( y );
+	return ((x &lt; y) ? -1 : ((x > y) ?  1 : 0));
+};
+
+jQuery.fn.dataTableExt.oSort['numeric-comma-desc'] = function(a,b) {
+	var x = (a == "-") ? 0 : a.replace( /,/, "." );
+	var y = (b == "-") ? 0 : b.replace( /,/, "." );
+	x = parseFloat( x );
+	y = parseFloat( y );
+	return ((x &lt; y) ?  1 : ((x > y) ? -1 : 0));
+};
+
+$(document).ready(function() {
+	$('#example').dataTable();
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about it's API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/sorting_sType.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/sorting_sType.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/plug-ins/sorting_sType.html	(revision 6286)
@@ -0,0 +1,611 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			jQuery.fn.dataTableExt.oSort['numeric-comma-asc']  = function(a,b) {
+				var x = (a == "-") ? 0 : a.replace( /,/, "." );
+				var y = (b == "-") ? 0 : b.replace( /,/, "." );
+				x = parseFloat( x );
+				y = parseFloat( y );
+				return ((x < y) ? -1 : ((x > y) ?  1 : 0));
+			};
+			
+			jQuery.fn.dataTableExt.oSort['numeric-comma-desc'] = function(a,b) {
+				var x = (a == "-") ? 0 : a.replace( /,/, "." );
+				var y = (b == "-") ? 0 : b.replace( /,/, "." );
+				x = parseFloat( x );
+				y = parseFloat( y );
+				return ((x < y) ?  1 : ((x > y) ? -1 : 0));
+			};
+			
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"aoColumns": [
+						null,
+						null,
+						null,
+						{ "sType": "numeric-comma" },
+						null
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> sorting plug-in example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When dealing with your own data formats, it can be desirable to define how you want sorting to occur. Using plug-in sorting functions, you have have DataTables sort data in any manner you wish. You tell DataTables how to sort a column by using the sType parameter - if it is not given then DataTables will attempt to automatically detect the type based on it's built in formatting functions.</p>
+			<p>This example shows sorting with a comma (',') for a decimal place. This sorting plug-in (and others can be found on <a href="http://www.datatables.net/plug-ins/sorting">DataTables.net</a>.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1,9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1,6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1,7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312,8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420,1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8,5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3,1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3,3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3,5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>jQuery.fn.dataTableExt.oSort['numeric-comma-asc']  = function(a,b) {
+	var x = (a == "-") ? 0 : a.replace( /,/, "." );
+	var y = (b == "-") ? 0 : b.replace( /,/, "." );
+	x = parseFloat( x );
+	y = parseFloat( y );
+	return ((x &lt; y) ? -1 : ((x > y) ?  1 : 0));
+};
+
+jQuery.fn.dataTableExt.oSort['numeric-comma-desc'] = function(a,b) {
+	var x = (a == "-") ? 0 : a.replace( /,/, "." );
+	var y = (b == "-") ? 0 : b.replace( /,/, "." );
+	x = parseFloat( x );
+	y = parseFloat( y );
+	return ((x &lt; y) ?  1 : ((x > y) ? -1 : 0));
+};
+
+$(document).ready(function() {
+	$('#example').dataTable( {
+		"aoColumns": [
+			null,
+			null,
+			null,
+			{ "sType": "numeric-comma" },
+			null
+		]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about it's API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/column_ordering.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/column_ordering.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/column_ordering.html	(revision 6286)
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing_ordering.php",
+					"aoColumns": [
+						{ "sName": "engine" },
+						{ "sName": "browser" },
+						{ "sName": "platform" },
+						{ "sName": "version" },
+						{ "sName": "grade" }
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side column ordering example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When using server-side processing it may be considerably easier on the server-side to output the data in an order which is not exactly that shown by the table to the end user. For this reason you can 'name' each column and this information will be sent to the server (comma delimited) as the variable 'sColumns' - this is the column information that DataTables expects to get back from a request.</p>
+			<p>Equally there you can defined an 'sColumns' in the JSON return which tells DataTables the order of the columns that has been returned. If the order is different from what it expects, then it will automatically re-order for you. The following example shows a server-side return which gives the columns "out of order".</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing_ordering.php",
+		"aoColumns": [
+			{ "sName": "engine" },
+			{ "sName": "browser" },
+			{ "sName": "platform" },
+			{ "sName": "version" },
+			{ "sName": "grade" }
+		]
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/custom_vars.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/custom_vars.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/custom_vars.html	(revision 6286)
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing.php",
+					"fnServerData": function ( sSource, aoData, fnCallback ) {
+						/* Add some extra data to the sender */
+						aoData.push( { "name": "more_data", "value": "my_value" } );
+						$.getJSON( sSource, aoData, function (json) { 
+							/* Do whatever additional processing you want on the callback, then tell DataTables */
+							fnCallback(json);
+						} );
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>It can often be useful to send a little bit of extra information to the server when utilising DataTables' server-side processing option. This can be done by overriding the function used internally to get the JSON data from the server through the use of the "fnServerData" callback. This function takes three parameters (the same as <a href="http://docs.jquery.com/Ajax/jQuery.getJSON">$.getJSON()</a>, to be manipulated as you wish. This allows you to add extra data to the second parameter and then make the AJAX call, or you can call a Google Gears DB, or whatever you want. This example shows adding a single extra HTTP variable.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing.php",
+		"fnServerData": function ( sSource, aoData, fnCallback ) {
+			/* Add some extra data to the sender */
+			aoData.push( { "name": "more_data", "value": "my_value" } );
+			$.getJSON( sSource, aoData, function (json) { 
+				/* Do whatever additional processing you want on the callback, then tell DataTables */
+				fnCallback(json)
+			} );
+		}
+	} );
+} );</pre>
+			
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/editable.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/editable.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/editable.html	(revision 6286)
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../examples_support/jquery.jeditable.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			var oTable;
+			$(document).ready(function() {
+				oTable = $('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing.php",
+					"fnDrawCallback": function () {
+						$('#example tbody td').editable( '../examples_support/editable_ajax.php', {
+							"callback": function( sValue, y ) {
+								/* Redraw the table from the new data on the server */
+								oTable.fnDraw();
+							},
+							"height": "14px"
+						} );
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>There are many ways to get your data into DataTables, and if you are working with seriously large databases, you might want to consider using the server-side options that DataTables provides. Basically all of the paging, filtering, sorting etc that DataTables does can be handed off to a server (or any other data source - Google Gears or Adobe Air for example!) and DataTables is just an events and display module.</p>
+			<p>The example here shows a very simple display of the CSS data (used in all my other examples), but in this instance coming from the server on each draw. Filtering, multi-column sorting etc all work as you would expect.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing.php"
+	} );
+} );</pre>
+			
+			
+			<h1>Server side (PHP) code</h1>
+			<pre>&lt;?php
+  /* MySQL connection */
+	$gaSql['user']       = "*********";
+	$gaSql['password']   = "*********";
+	$gaSql['db']         = "*********";
+	$gaSql['server']     = "*********";
+	$gaSql['type']       = "mysql";
+	
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	/* Paging */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	/* Ordering */
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i&lt;mysql_real_escape_string( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			$sOrder .= fnColumnToField(mysql_real_escape_string( $_GET['iSortCol_'.$i] ))."
+			 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+		}
+		$sOrder = substr_replace( $sOrder, "", -2 );
+	}
+	
+	/* Filtering */
+	$sWhere = "";
+	if ( mysql_real_escape_string( $_GET['sSearch'] ) != "" )
+	{
+		$sWhere = "WHERE engine LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "browser LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "platform LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "version LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ".
+		                "grade LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%'";
+	}
+	
+	$sQuery = "
+		SELECT id, engine, browser, platform, version, grade
+		FROM   ajax
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	$sQuery = "
+		SELECT id
+		FROM   ajax
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$iTotal = mysql_num_rows($rResultTotal);
+	
+	if ( $sWhere != "" )
+	{
+		$sQuery = "
+			SELECT id
+			FROM   ajax
+			$sWhere
+		";
+		$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+		$iFilteredTotal = mysql_num_rows($rResultFilterTotal);
+	}
+	else
+	{
+		$iFilteredTotal = $iTotal;
+	}
+	
+	$sOutput = '{';
+	$sOutput .= '"iTotalRecords": '.$iTotal.', ';
+	$sOutput .= '"iTotalDisplayRecords": '.$iFilteredTotal.', ';
+	$sOutput .= '"aaData": [ ';
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$sOutput .= "[";
+		$sOutput .= "'".$aRow['engine']."',";
+		$sOutput .= "'".$aRow['browser']."',";
+		$sOutput .= "'".$aRow['platform']."',";
+		$sOutput .= "'".$aRow['version']."',";
+		$sOutput .= "'".$aRow['grade']."'";
+		$sOutput .= "],";
+	}
+	$sOutput = substr_replace( $sOutput, "", -1 );
+	$sOutput .= '] }';
+	
+	echo $sOutput;
+	
+	
+	function fnColumnToField( $i )
+	{
+		if ( $i == 0 )
+			return "engine";
+		else if ( $i == 1 )
+			return "browser";
+		else if ( $i == 2 )
+			return "platform";
+		else if ( $i == 3 )
+			return "version";
+		else if ( $i == 4 )
+			return "grade";
+	}
+?&gt;</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/pipeline.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/pipeline.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/pipeline.html	(revision 6286)
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			var oCache = {
+				iCacheLower: -1
+			};
+			
+			function fnSetKey( aoData, sKey, mValue )
+			{
+				for ( var i=0, iLen=aoData.length ; i<iLen ; i++ )
+				{
+					if ( aoData[i].name == sKey )
+					{
+						aoData[i].value = mValue;
+					}
+				}
+			}
+			
+			function fnGetKey( aoData, sKey )
+			{
+				for ( var i=0, iLen=aoData.length ; i<iLen ; i++ )
+				{
+					if ( aoData[i].name == sKey )
+					{
+						return aoData[i].value;
+					}
+				}
+				return null;
+			}
+			
+			function fnDataTablesPipeline ( sSource, aoData, fnCallback ) {
+				var iPipe = 5; /* Ajust the pipe size */
+				
+				var bNeedServer = false;
+				var sEcho = fnGetKey(aoData, "sEcho");
+				var iRequestStart = fnGetKey(aoData, "iDisplayStart");
+				var iRequestLength = fnGetKey(aoData, "iDisplayLength");
+				var iRequestEnd = iRequestStart + iRequestLength;
+				oCache.iDisplayStart = iRequestStart;
+				
+				/* outside pipeline? */
+				if ( oCache.iCacheLower < 0 || iRequestStart < oCache.iCacheLower || iRequestEnd > oCache.iCacheUpper )
+				{
+					bNeedServer = true;
+				}
+				
+				/* sorting etc changed? */
+				if ( oCache.lastRequest && !bNeedServer )
+				{
+					for( var i=0, iLen=aoData.length ; i<iLen ; i++ )
+					{
+						if ( aoData[i].name != "iDisplayStart" && aoData[i].name != "iDisplayLength" && aoData[i].name != "sEcho" )
+						{
+							if ( aoData[i].value != oCache.lastRequest[i].value )
+							{
+								bNeedServer = true;
+								break;
+							}
+						}
+					}
+				}
+				
+				/* Store the request for checking next time around */
+				oCache.lastRequest = aoData.slice();
+				
+				if ( bNeedServer )
+				{
+					if ( iRequestStart < oCache.iCacheLower )
+					{
+						iRequestStart = iRequestStart - (iRequestLength*(iPipe-1));
+						if ( iRequestStart < 0 )
+						{
+							iRequestStart = 0;
+						}
+					}
+					
+					oCache.iCacheLower = iRequestStart;
+					oCache.iCacheUpper = iRequestStart + (iRequestLength * iPipe);
+					oCache.iDisplayLength = fnGetKey( aoData, "iDisplayLength" );
+					fnSetKey( aoData, "iDisplayStart", iRequestStart );
+					fnSetKey( aoData, "iDisplayLength", iRequestLength*iPipe );
+					
+					$.getJSON( sSource, aoData, function (json) { 
+						/* Callback processing */
+						oCache.lastJson = jQuery.extend(true, {}, json);
+						
+						if ( oCache.iCacheLower != oCache.iDisplayStart )
+						{
+							json.aaData.splice( 0, oCache.iDisplayStart-oCache.iCacheLower );
+						}
+						json.aaData.splice( oCache.iDisplayLength, json.aaData.length );
+						
+						fnCallback(json)
+					} );
+				}
+				else
+				{
+					json = jQuery.extend(true, {}, oCache.lastJson);
+					json.sEcho = sEcho; /* Update the echo for each response */
+					json.aaData.splice( 0, iRequestStart-oCache.iCacheLower );
+					json.aaData.splice( iRequestLength, json.aaData.length );
+					fnCallback(json);
+					return;
+				}
+			}
+			
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing.php",
+					"fnServerData": fnDataTablesPipeline
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing with pipelining example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When using server-side processing with DataTables, it can be quite intensive on your server having an Ajax call every time the user performs some kind of interaction - you can effectively DDOS your server with your own application!</p>
+			<p>This example shows how you might over-come this by modifying the request set to the server to retrieve more information than is actually required for a single page's display. This means that the user can page multiple times (5 times the display size is the default) before a request must be made of the server. Paging is typically the most common interaction performed with a DataTable, so this can be most beneficial to your server's resource usage. Of course the pipeline must be cleared for interactions other than paging (sorting, filtering etc), but that's the trade off that can be made (sending extra information is cheep - while another XHR is expensive).</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>var oCache = {
+	iCacheLower: -1
+};
+
+function fnSetKey( aoData, sKey, mValue )
+{
+	for ( var i=0, iLen=aoData.length ; i&lt;iLen ; i++ )
+	{
+		if ( aoData[i].name == sKey )
+		{
+			aoData[i].value = mValue;
+		}
+	}
+}
+
+function fnGetKey( aoData, sKey )
+{
+	for ( var i=0, iLen=aoData.length ; i&lt;iLen ; i++ )
+	{
+		if ( aoData[i].name == sKey )
+		{
+			return aoData[i].value;
+		}
+	}
+	return null;
+}
+
+function fnDataTablesPipeline ( sSource, aoData, fnCallback ) {
+	var iPipe = 5; /* Ajust the pipe size */
+	
+	var bNeedServer = false;
+	var sEcho = fnGetKey(aoData, "sEcho");
+	var iRequestStart = fnGetKey(aoData, "iDisplayStart");
+	var iRequestLength = fnGetKey(aoData, "iDisplayLength");
+	var iRequestEnd = iRequestStart + iRequestLength;
+	oCache.iDisplayStart = iRequestStart;
+	
+	/* outside pipeline? */
+	if ( oCache.iCacheLower &lt; 0 || iRequestStart &lt; oCache.iCacheLower || iRequestEnd &gt; oCache.iCacheUpper )
+	{
+		bNeedServer = true;
+	}
+	
+	/* sorting etc changed? */
+	if ( oCache.lastRequest &amp;&amp; !bNeedServer )
+	{
+		for( var i=0, iLen=aoData.length ; i&lt;iLen ; i++ )
+		{
+			if ( aoData[i].name != "iDisplayStart" &amp;&amp; aoData[i].name != "iDisplayLength" &amp;&amp; aoData[i].name != "sEcho" )
+			{
+				if ( aoData[i].value != oCache.lastRequest[i].value )
+				{
+					bNeedServer = true;
+					break;
+				}
+			}
+		}
+	}
+	
+	/* Store the request for checking next time around */
+	oCache.lastRequest = aoData.slice();
+	
+	if ( bNeedServer )
+	{
+		if ( iRequestStart &lt; oCache.iCacheLower )
+		{
+			iRequestStart = iRequestStart - (iRequestLength*(iPipe-1));
+			if ( iRequestStart &lt; 0 )
+			{
+				iRequestStart = 0;
+			}
+		}
+		
+		oCache.iCacheLower = iRequestStart;
+		oCache.iCacheUpper = iRequestStart + (iRequestLength * iPipe);
+		oCache.iDisplayLength = fnGetKey( aoData, "iDisplayLength" );
+		fnSetKey( aoData, "iDisplayStart", iRequestStart );
+		fnSetKey( aoData, "iDisplayLength", iRequestLength*iPipe );
+		
+		$.getJSON( sSource, aoData, function (json) { 
+			/* Callback processing */
+			oCache.lastJson = jQuery.extend(true, {}, json);
+			
+			if ( oCache.iCacheLower != oCache.iDisplayStart )
+			{
+				json.aaData.splice( 0, oCache.iDisplayStart-oCache.iCacheLower );
+			}
+			json.aaData.splice( oCache.iDisplayLength, json.aaData.length );
+			
+			fnCallback(json)
+		} );
+	}
+	else
+	{
+		json = jQuery.extend(true, {}, oCache.lastJson);
+		json.sEcho = sEcho; /* Update the echo for each response */
+		json.aaData.splice( 0, iRequestStart-oCache.iCacheLower );
+		json.aaData.splice( iRequestLength, json.aaData.length );
+		fnCallback(json);
+		return;
+	}
+}
+
+$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing.php",
+		"fnServerData": fnDataTablesPipeline
+	} );
+} );</pre>
+			
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/post.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/post.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/post.html	(revision 6286)
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing_post.php",
+					"fnServerData": function ( sSource, aoData, fnCallback ) {
+						$.ajax( {
+							"dataType": 'json', 
+							"type": "POST", 
+							"url": sSource, 
+							"data": aoData, 
+							"success": fnCallback
+						} );
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing with POST example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The default HTTP method that DataTables uses to get data from the server-side if GET, however, there are times when you may wish to use POST. This is very easy using the fnServerData() initialisation parameter, as shown in this example.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing_post.php",
+		"fnServerData": function ( sSource, aoData, fnCallback ) {
+			$.ajax( {
+				"dataType": 'json', 
+				"type": "POST", 
+				"url": sSource, 
+				"data": aoData, 
+				"success": fnCallback
+			} );
+		}
+	} );
+} );</pre>
+			
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/row_details.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/row_details.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/row_details.html	(revision 6286)
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			var oTable;
+			
+			/* Formating function for row details */
+			function fnFormatDetails ( nTr )
+			{
+				var aData = oTable.fnGetData( nTr );
+				var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">';
+				sOut += '<tr><td>Rendering engine:</td><td>'+aData[2]+' '+aData[5]+'</td></tr>';
+				sOut += '<tr><td>Link to source:</td><td>Could provide a link here</td></tr>';
+				sOut += '<tr><td>Extra info:</td><td>And any further details here (images etc)</td></tr>';
+				sOut += '</table>';
+				
+				return sOut;
+			}
+			
+			$(document).ready(function() {
+				oTable = $('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing_details_col.php",
+					"aoColumns": [
+						{ "sClass": "center", "bSortable": false },
+						null,
+						null,
+						null,
+						{ "sClass": "center" },
+						{ "sClass": "center" }
+					],
+					"aaSorting": [[1, 'asc']],
+				} );
+				
+				$('#example tbody td img').live( 'click', function () {
+					var nTr = this.parentNode.parentNode;
+					if ( this.src.match('details_close') )
+					{
+						/* This row is already open - close it */
+						this.src = "../examples_support/details_open.png";
+						oTable.fnClose( nTr );
+					}
+					else
+					{
+						/* Open this row */
+						this.src = "../examples_support/details_close.png";
+						oTable.fnOpen( nTr, fnFormatDetails(nTr), 'details' );
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing example with hidden row information
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how you might modify the client-side show/hide details rows example for use with DataTables 1.5's server-side processing option.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="4%"></th>
+			<th width="25%">Rendering engine</th>
+			<th width="20%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="16%">Engine version</th>
+			<th width="10%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th></th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>var oTable;
+
+/* Formating function for row details */
+function fnFormatDetails ( nTr )
+{
+	var aData = oTable.fnGetData( nTr );
+	var sOut = '&lt;table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;"&gt;';
+	sOut += '&lt;tr&gt;&lt;td&gt;Rendering engine:&lt;/td&gt;&lt;td&gt;'+aData[2]+' '+aData[5]+'&lt;/td&gt;&lt;/tr&gt;';
+	sOut += '&lt;tr&gt;&lt;td&gt;Link to source:&lt;/td&gt;&lt;td&gt;Could provide a link here&lt;/td&gt;&lt;/tr&gt;';
+	sOut += '&lt;tr&gt;&lt;td&gt;Extra info:&lt;/td&gt;&lt;td&gt;And any further details here (images etc)&lt;/td&gt;&lt;/tr&gt;';
+	sOut += '&lt;/table&gt;';
+	
+	return sOut;
+}
+
+$(document).ready(function() {
+	oTable = $('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing_details_col.php",
+		"aoColumns": [
+			{ "sClass": "center", "bSortable": false },
+			null,
+			null,
+			null,
+			{ "sClass": "center" },
+			{ "sClass": "center" }
+		],
+		"aaSorting": [[1, 'asc']],
+	} );
+	
+	$('#example tbody td img').live( 'click', function () {
+		var nTr = this.parentNode.parentNode;
+		if ( this.src.match('details_close') )
+		{
+			/* This row is already open - close it */
+			this.src = "../examples_support/details_open.png";
+			oTable.fnClose( nTr );
+		}
+		else
+		{
+			/* Open this row */
+			this.src = "../examples_support/details_close.png";
+			oTable.fnOpen( nTr, fnFormatDetails(nTr), 'details' );
+		}
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/select_rows.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/select_rows.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/select_rows.html	(revision 6286)
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+var oTable;
+var gaiSelected =  [];
+
+$(document).ready(function() {
+	$('#form').submit( function() {
+		alert (gaiSelected);
+		return false;
+	} );
+
+	/* Init the table */
+	oTable = $("#example").dataTable({
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing_id.php",
+		"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
+			if ( jQuery.inArray(aData[0], gaiSelected) != -1 )
+			{
+				$(nRow).addClass('row_selected');
+			}
+			return nRow;
+		},
+		"aoColumnDefs": [
+			{ "bVisible": 0, "aTargets": [0] }
+		]
+	});
+	
+	/* Click event handler */
+	$('#example tbody tr').live('click', function () {
+		var aData = oTable.fnGetData( this );
+		var iId = aData[0];
+		
+		if ( jQuery.inArray(iId, gaiSelected) == -1 )
+		{
+			gaiSelected[gaiSelected.length++] = iId;
+		}
+		else
+		{
+			gaiSelected = jQuery.grep(gaiSelected, function(value) {
+				return value != iId;
+			} );
+		}
+		
+		$(this).toggleClass('row_selected');
+	} );
+} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing with user selectable rows example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When you want to detail with user selectable rows and DataTables, it is relatively simple when using DOM based data - but if using server-side processing, DataTables doesn't retain state over pages / filters etc, leaving this to the server-side instead. As such, you will need to keep a track of which rows a user as selected and mark them as selected on each draw. This is shown in this demo, which uses a unique ID in the first (and hidden) column.</p>
+			<p>Credit for this example belongs with forum member <a href="http://datatables.net/forums/comments.php?DiscussionID=582&page=1#Item_4">iuliandum</a>. Thanks!</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="0%">ID</th>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>ID</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>var oTable;
+var gaiSelected =  [];
+
+$(document).ready(function() {
+	$('#form').submit( function() {
+		alert (gaiSelected);
+		return false;
+	} );
+
+	/* Init the table */
+	oTable = $("#example").dataTable({
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing_id.php",
+		"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
+			if ( jQuery.inArray(aData[0], gaiSelected) != -1 )
+			{
+				$(nRow).addClass('row_selected');
+			}
+			return nRow;
+		},
+		"aoColumns": [
+			{ "bVisible": 0, "aTargets": [0] }
+		]
+	});
+	
+	/* Click event handler */
+	$('#example tbody tr').live('click', function () {
+		var aData = oTable.fnGetData( this );
+		var iId = aData[0];
+		
+		if ( jQuery.inArray(iId, gaiSelected) == -1 )
+		{
+			gaiSelected[gaiSelected.length++] = iId;
+		}
+		else
+		{
+			gaiSelected = jQuery.grep(gaiSelected, function(value) {
+				return value != iId;
+			} );
+		}
+		
+		$(this).toggleClass('row_selected');
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/server_side.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/server_side.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/examples/server_side/server_side.html	(revision 6286)
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$('#example').dataTable( {
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../examples_support/server_processing.php"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> server-side processing example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>There are many ways to get your data into DataTables, and if you are working with seriously large databases, you might want to consider using the server-side options that DataTables provides. Basically all of the paging, filtering, sorting etc that DataTables does can be handed off to a server (or any other data source - Google Gears or Adobe Air for example!) and DataTables is just an events and display module.</p>
+			<p>The example here shows a very simple display of the CSS data (used in all my other examples), but in this instance coming from the server on each draw. Filtering, multi-column sorting etc all work as you would expect.</p>
+			
+			<h1>Live example</h1>
+			<div id="dynamic">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="20%">Rendering engine</th>
+			<th width="25%">Browser</th>
+			<th width="25%">Platform(s)</th>
+			<th width="15%">Engine version</th>
+			<th width="15%">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr>
+			<td colspan="5" class="dataTables_empty">Loading data from server</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	$('#example').dataTable( {
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../examples_support/server_processing.php"
+	} );
+} );</pre>
+			
+			
+			<h1>Server side (PHP) code</h1>
+			<pre>&lt;?php
+	/*
+	 * Script:    DataTables server-side script for PHP and MySQL
+	 * Copyright: 2010 - Allan Jardine
+	 * License:   GPL v2 or BSD (3-point)
+	 */
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Easy set variables
+	 */
+	
+	/* Array of database columns which should be read and sent back to DataTables. Use a space where
+	 * you want to insert a non-database field (for example a counter or static image)
+	 */
+	$aColumns = array( 'engine', 'browser', 'platform', 'version', 'grade' );
+	
+	/* Indexed column (used for fast and accurate table cardinality) */
+	$sIndexColumn = "id";
+	
+	/* DB table to use */
+	$sTable = "ajax";
+	
+	/* Database connection information */
+	$gaSql['user']       = "";
+	$gaSql['password']   = "";
+	$gaSql['db']         = "";
+	$gaSql['server']     = "localhost";
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * If you just want to use the basic configuration for DataTables with PHP server-side, there is
+	 * no need to edit below this line
+	 */
+	
+	/* 
+	 * MySQL connection
+	 */
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+	
+	
+	/* 
+	 * Paging
+	 */
+	$sLimit = "";
+	if ( isset( $_GET['iDisplayStart'] ) &amp;&amp; $_GET['iDisplayLength'] != '-1' )
+	{
+		$sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
+			mysql_real_escape_string( $_GET['iDisplayLength'] );
+	}
+	
+	
+	/*
+	 * Ordering
+	 */
+	if ( isset( $_GET['iSortCol_0'] ) )
+	{
+		$sOrder = "ORDER BY  ";
+		for ( $i=0 ; $i&lt;intval( $_GET['iSortingCols'] ) ; $i++ )
+		{
+			if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
+			{
+				$sOrder .= $aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."
+				 	".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
+			}
+		}
+		
+		$sOrder = substr_replace( $sOrder, "", -2 );
+		if ( $sOrder == "ORDER BY" )
+		{
+			$sOrder = "";
+		}
+	}
+	
+	
+	/* 
+	 * Filtering
+	 * NOTE this does not match the built-in DataTables filtering which does it
+	 * word by word on any field. It's possible to do here, but concerned about efficiency
+	 * on very large tables, and MySQL's regex functionality is very limited
+	 */
+	$sWhere = "";
+	if ( $_GET['sSearch'] != "" )
+	{
+		$sWhere = "WHERE (";
+		for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
+		{
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
+		}
+		$sWhere = substr_replace( $sWhere, "", -3 );
+		$sWhere .= ')';
+	}
+	
+	/* Individual column filtering */
+	for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
+	{
+		if ( $_GET['bSearchable_'.$i] == "true" &amp;&amp; $_GET['sSearch_'.$i] != '' )
+		{
+			if ( $sWhere == "" )
+			{
+				$sWhere = "WHERE ";
+			}
+			else
+			{
+				$sWhere .= " AND ";
+			}
+			$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
+		}
+	}
+	
+	
+	/*
+	 * SQL queries
+	 * Get data to display
+	 */
+	$sQuery = "
+		SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
+		FROM   $sTable
+		$sWhere
+		$sOrder
+		$sLimit
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	
+	/* Data set length after filtering */
+	$sQuery = "
+		SELECT FOUND_ROWS()
+	";
+	$rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
+	$iFilteredTotal = $aResultFilterTotal[0];
+	
+	/* Total data set length */
+	$sQuery = "
+		SELECT COUNT(".$sIndexColumn.")
+		FROM   $sTable
+	";
+	$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	$aResultTotal = mysql_fetch_array($rResultTotal);
+	$iTotal = $aResultTotal[0];
+	
+	
+	/*
+	 * Output
+	 */
+	$output = array(
+		"sEcho" =&gt; intval($_GET['sEcho']),
+		"iTotalRecords" =&gt; $iTotal,
+		"iTotalDisplayRecords" =&gt; $iFilteredTotal,
+		"aaData" =&gt; array()
+	);
+	
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		$row = array();
+		for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
+		{
+			if ( $aColumns[$i] == "version" )
+			{
+				/* Special output formatting for 'version' column */
+				$row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ];
+			}
+			else if ( $aColumns[$i] != ' ' )
+			{
+				/* General output */
+				$row[] = $aRow[ $aColumns[$i] ];
+			}
+		}
+		$output['aaData'][] = $row;
+	}
+	
+	echo json_encode( $output );
+?&gt;</pre>
+			
+			
+			<h1>Other examples</h1>
+			<h2>Basic initialisation</h2>
+			<ul>
+				<li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
+				<li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
+				<li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
+				<li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
+				<li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
+				<li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
+				<li><a href="../basic_init/dom.html">DOM positioning</a></li>
+				<li><a href="../basic_init/state_save.html">State saving</a></li>
+				<li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
+				<li>Scrolling: 
+					<a href="../basic_init/scroll_x.html">Horizontal</a> / 
+					<a href="../basic_init/scroll_y.html">Vertical</a> / 
+					<a href="../basic_init/scroll_xy.html">Both</a> / 
+					<a href="../basic_init/scroll_y_theme.html">Themed</a> / 
+					<a href="../basic_init/scroll_y_infinite.html">Infinite</a>
+				</li>
+				<li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
+				<li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
+			</ul>
+			
+			<h2>Advanced initialisation</h2>
+			<ul>
+				<li><a href="../advanced_init/events_pre_init.html">Events (pre initialisation)</a></li>
+				<li><a href="../advanced_init/events_post_init.html">Events (post initialisation)</a></li>
+				<li><a href="../advanced_init/column_render.html">Column rendering</a></li>
+				<li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
+				<li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
+				<li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
+				<li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
+				<li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
+				<li><a href="../advanced_init/complex_header.html">Column grouping through col/row spans</a></li>
+				<li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
+				<li><a href="../advanced_init/row_callback.html">Row callback</a></li>
+				<li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
+				<li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
+			</ul>
+			
+			<h2>Data sources</h2>
+			<ul>
+				<li><a href="../data_sources/dom.html">DOM</a></li>
+				<li><a href="../data_sources/js_array.html">Javascript array</a></li>
+				<li><a href="../data_sources/ajax.html">Ajax source</a></li>
+				<li><a href="../data_sources/server_side.html">Server side processing</a></li>
+			</ul>
+			
+			<h2>Server-side processing</h2>
+			<ul>
+				<li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
+				<li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
+				<li><a href="../server_side/post.html">Use HTTP POST</a></li>
+				<li><a href="../server_side/column_ordering.html">Custom column ordering (in callback data)</a></li>
+				<li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
+				<li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
+			</ul>
+			
+			<h2>API</h2>
+			<ul>
+				<li><a href="../api/add_row.html">Dynamically add a new row</a></li>
+				<li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
+				<li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
+				<li><a href="../api/highlight.html">Highlight rows and columns</a></li>
+				<li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
+				<li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
+				<li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
+				<li><a href="../api/form.html">Submit form with elements in table</a></li>
+				<li><a href="../api/counter_column.html">Index column (static number column)</a></li>
+				<li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
+				<li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
+				<li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
+				<li><a href="../api/regex.html">Regular expression filtering</a></li>
+			</ul>
+			
+			<h2>Plug-ins</h2>
+			<ul>
+				<li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
+				<li><a href="../plug-ins/sorting_plugin.html">Sorting and type detection</a></li>
+				<li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
+				<li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
+				<li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
+				<li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
+			</ul>
+			
+			
+			<p>Please refer to the <a href="http://www.datatables.net/"><i>DataTables</i> documentation</a> for full information about its API properties and methods.</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">DataTables &copy; Allan Jardine 2008-2010</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/callbacks.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/callbacks.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/callbacks.html	(revision 6286)
@@ -0,0 +1,552 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>AutoFill example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/AutoFill.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/AutoFill.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				new AutoFill( oTable, {
+					"aoColumnDefs": [ {
+						"fnCallback": function ( ao ) {
+							var n = document.getElementById('output');
+							for ( var i=0, iLen=ao.length ; i<iLen ; i++ ) {
+								n.innerHTML += "Update: old value: {"+
+									ao[i].oldValue+"} - new value: {"+ao[i].newValue+"}<br>";
+							}
+							n.scrollTop = n.scrollHeight;
+						},
+						"aTargets": [ "_all" ]
+					} ]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				AutoFill example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>
+				AutoFill provides a number of customisable callback functions so you can tailor it's
+				actions to exactly what you need. This specific example shows fnCallback, which is fired when the mouse is released. Further documentation is below.
+			</p>
+			
+			<ul>
+				<li>
+					<b>fnRead</b> - Called when a cell is read for it's value. This allows you to override the default of reading the HTML value (or 'input' elements value if there is one present). For example reading the value from a select list.
+					<ul>
+						<li>Parameter 1: Node - TD element to be read from</li>
+						<li>Returns: String - read value</li>
+					</ul>
+				</li>
+				<li>
+					<b>fnWrite</b> - Called when a cell is to read to. This allows you to write in a specific format, or perhaps to an element within the cell.
+					<ul>
+						<li>Parameter 1: Node - TD element to be written to</li>
+						<li>Parameter 2: String - Value to write</li>
+						<li>Parameter 3: Boolean - Last cell to be written (useful for speeding up DataTables' fnUpdate)</li>
+						<li>Returns: void</li>
+					</ul>
+				</li>
+				<li>
+					<b>fnStep</b> - Called to calculate the new value to give to a cell
+					<ul>
+						<li>Parameter 1: Node - TD element to be written to</li>
+						<li>Parameter 2: String - Statement with a token to be replace with the calculated value</li>
+						<li>Parameter 3: Int - Step counter</li>
+						<li>Parameter 4: Boolean - increment (true), or decrement (false)</li>
+						<li>Parameter 5: String - Token to replace</li>
+						<li>Returns: String - string to write into the cell</li>
+					</ul>
+				</li>
+				<li>
+					<b>fnCallback</b> - Called when the AutoFill is complete, with information about the fill. This can be useful for updating a server database for example.
+					<ul>
+						<li>Parameter 1: Array - An array of objects with information about each cell that was written to. Object parameters are: "td", "newValue" and "oldValue".</li>
+						<li>Returns: void</li>
+					</ul>
+				</li>
+			</ul>
+			
+			
+			<h1>Live example</h1>
+			<form>
+				<div id="output" style="height: 100px; overflow: scroll;"> 
+					Information about each update will appear here.<br><br>
+				</div>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="columns.html">Selecting which columns to provide AutoFill on</a></li>
+				<li><a href="scrolling.html">Scrolling a DataTable using fill</a></li>
+				<li><a href="inputs.html">Using with input elements</a></li>
+				<li><a href="callbacks.html">Customisation using callback functions</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	new AutoFill( oTable, {
+		"aoColumnDefs": [ {
+			"fnCallback": function ( ao ) {
+				var n = document.getElementById('output');
+				for ( var i=0, iLen=ao.length ; i&lt;iLen ; i++ ) {
+					n.innerHTML += "Update: old value: {"+
+						ao[i].oldValue+"} - new value: {"+ao[i].newValue+"}&lt;br&gt;";
+				}
+				n.scrollTop = n.scrollHeight;
+			},
+			"aTargets": [ "_all" ]
+		} ]
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					AutoFill and DataTables &copy; Allan Jardine 2009-2010.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/columns.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/columns.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/columns.html	(revision 6286)
@@ -0,0 +1,503 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>AutoFill example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/AutoFill.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/AutoFill.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				new AutoFill( oTable, {
+					"aoColumnDefs": [ {
+						"bEnable": false,
+						"aTargets": [ -1, -2, -3 ]
+					} ]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				AutoFill example with column selection options
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>
+				Columns can be enabled (default) and disabled from providing the end user the AutoFill option
+				by using either aoColumns or aoColumnDefs and the bEnable option. These two arrays work in
+				<a href="http://datatables.net/usage/columns">exactly the same way has for DataTables</a>.
+			</p>
+			<p>
+				This example shows how disabling columns counting from the right hand side of the table 
+				can be achieved. In this case, the last three columns.
+			</p>
+			
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="columns.html">Selecting which columns to provide AutoFill on</a></li>
+				<li><a href="scrolling.html">Scrolling a DataTable using fill</a></li>
+				<li><a href="inputs.html">Using with input elements</a></li>
+				<li><a href="callbacks.html">Customisation using callback functions</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	new AutoFill( oTable, {
+		"aoColumnDefs": [ {
+			"bEnable": false,
+			"aTargets": [ -1, -2, -3 ]
+		} ]
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					AutoFill and DataTables &copy; Allan Jardine 2009-2010.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/index.html	(revision 6286)
@@ -0,0 +1,489 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>AutoFill example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/AutoFill.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/AutoFill.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				new AutoFill( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				AutoFill example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>
+				AutoFill gives an Excel like option to a DataTable to click and drag over multiple
+				cells, filling in information over the selected cells and incrementing numbers as needed.
+			</p>
+			<p>Thanks to <a href="http://www.phoniax.no/">Phoniax AS</a> for their sponsorship of this plug-in for DataTables.</p>
+			
+			
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="columns.html">Selecting which columns to provide AutoFill on</a></li>
+				<li><a href="scrolling.html">Scrolling a DataTable using fill</a></li>
+				<li><a href="inputs.html">Using with input elements</a></li>
+				<li><a href="callbacks.html">Customisation using callback functions</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	new AutoFill( oTable );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					AutoFill and DataTables &copy; Allan Jardine 2009-2010.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/inputs.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/inputs.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/inputs.html	(revision 6286)
@@ -0,0 +1,519 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>AutoFill example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/AutoFill.css";
+			td input { width: 90% }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/AutoFill.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$.fn.dataTableExt.afnSortData['dom-text'] = function  ( oSettings, iColumn )
+			{
+				var aData = [];
+				$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+					aData.push( this.value );
+				} );
+				return aData;
+			}
+			
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"aoColumnDefs": [
+						{ "sSortDataType": "dom-text", "aTargets": [ "_all" ] },
+						{ "sType": "numeric", "aTargets": [ -2 ] }
+					]
+				} );
+				new AutoFill( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				AutoFill example with input elements
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>
+				AutoFill works with Input elements and Select elements, as well as plain HTML cells. This
+				example shows all inputs cells, combined with DataTables' DOM sorting plug-in. You can 
+				even combine input and plain HTML cells if you wanted (useful from something like jEditable).
+			</p>
+			
+			
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td><input type="text" value="Trident"></td>
+			<td><input type="text" value="Internet Explorer 4.0"></td>
+			<td><input type="text" value="Win 95+ (Entity: &amp;)"></td>
+			<td class="center"><input type="text" value="4"></td>
+			<td class="center"><input type="text" value="X"></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td><input type="text" value="Trident"></td>
+			<td><input type="text" value="Internet Explorer 5.0"></td>
+			<td><input type="text" value="Win 95+"></td>
+			<td class="center"><input type="text" value="5"></td>
+			<td class="center"><input type="text" value="C"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Trident"></td>
+			<td><input type="text" value="Internet Explorer 5.5"></td>
+			<td><input type="text" value="Win 95+"></td>
+			<td class="center"><input type="text" value="5.5"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Trident"></td>
+			<td><input type="text" value="Internet Explorer 6"></td>
+			<td><input type="text" value="Win 98+"></td>
+			<td class="center"><input type="text" value="6"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Trident"></td>
+			<td><input type="text" value="Internet Explorer 7"></td>
+			<td><input type="text" value="Win XP SP2+"></td>
+			<td class="center"><input type="text" value="7"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Trident"></td>
+			<td><input type="text" value="AOL browser (AOL desktop)"></td>
+			<td><input type="text" value="Win XP"></td>
+			<td class="center"><input type="text" value="6"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko (UTF-8: $Â¢â¬)"></td>
+			<td><input type="text" value="Firefox 1.0"></td>
+			<td><input type="text" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="1.7"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Firefox 1.5"></td>
+			<td><input type="text" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Firefox 2.0"></td>
+			<td><input type="text" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Firefox 3.0"></td>
+			<td><input type="text" value="Win 2k+ / OSX.3+"></td>
+			<td class="center"><input type="text" value="1.9"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Camino 1.0"></td>
+			<td><input type="text" value="OSX.2+"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Camino 1.5"></td>
+			<td><input type="text" value="OSX.3+"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Netscape 7.2"></td>
+			<td><input type="text" value="Win 95+ / Mac OS 8.6-9.2"></td>
+			<td class="center"><input type="text" value="1.7"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Netscape Browser 8"></td>
+			<td><input type="text" value="Win 98SE+"></td>
+			<td class="center"><input type="text" value="1.7"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Netscape Navigator 9"></td>
+			<td><input type="text" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.0"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.1"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.1"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.2"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.2"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.3"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.3"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.4"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.4"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.5"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.5"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.6"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.6"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.7"></td>
+			<td><input type="text" value="Win 98+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.7"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Mozilla 1.8"></td>
+			<td><input type="text" value="Win 98+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Seamonkey 1.1"></td>
+			<td><input type="text" value="Win 98+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Gecko"></td>
+			<td><input type="text" value="Epiphany 2.20"></td>
+			<td><input type="text" value="Gnome"></td>
+			<td class="center"><input type="text" value="1.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Webkit"></td>
+			<td><input type="text" value="Safari 1.2"></td>
+			<td><input type="text" value="OSX.3"></td>
+			<td class="center"><input type="text" value="125.5"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Webkit"></td>
+			<td><input type="text" value="Safari 1.3"></td>
+			<td><input type="text" value="OSX.3"></td>
+			<td class="center"><input type="text" value="312.8"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Webkit"></td>
+			<td><input type="text" value="Safari 2.0"></td>
+			<td><input type="text" value="OSX.4+"></td>
+			<td class="center"><input type="text" value="419.3"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Webkit"></td>
+			<td><input type="text" value="Safari 3.0"></td>
+			<td><input type="text" value="OSX.4+"></td>
+			<td class="center"><input type="text" value="522.1"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Webkit"></td>
+			<td><input type="text" value="OmniWeb 5.5"></td>
+			<td><input type="text" value="OSX.4+"></td>
+			<td class="center"><input type="text" value="420"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Webkit"></td>
+			<td><input type="text" value="iPod Touch / iPhone"></td>
+			<td><input type="text" value="iPod"></td>
+			<td class="center"><input type="text" value="420.1"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Webkit"></td>
+			<td><input type="text" value="S60"></td>
+			<td><input type="text" value="S60"></td>
+			<td class="center"><input type="text" value="413"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera 7.0"></td>
+			<td><input type="text" value="Win 95+ / OSX.1+"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera 7.5"></td>
+			<td><input type="text" value="Win 95+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera 8.0"></td>
+			<td><input type="text" value="Win 95+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera 8.5"></td>
+			<td><input type="text" value="Win 95+ / OSX.2+"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera 9.0"></td>
+			<td><input type="text" value="Win 95+ / OSX.3+"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera 9.2"></td>
+			<td><input type="text" value="Win 88+ / OSX.3+"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera 9.5"></td>
+			<td><input type="text" value="Win 88+ / OSX.3+"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Opera for Wii"></td>
+			<td><input type="text" value="Wii"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Nokia N800"></td>
+			<td><input type="text" value="N800"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Presto"></td>
+			<td><input type="text" value="Nintendo DS browser"></td>
+			<td><input type="text" value="Nintendo DS"></td>
+			<td class="center"><input type="text" value="8.5"></td>
+			<td class="center"><input type="text" value="C/A<sup>1</sup>"></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td><input type="text" value="KHTML"></td>
+			<td><input type="text" value="Konqureror 3.1"></td>
+			<td><input type="text" value="KDE 3.1"></td>
+			<td class="center"><input type="text" value="3.1"></td>
+			<td class="center"><input type="text" value="C"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="KHTML"></td>
+			<td><input type="text" value="Konqureror 3.3"></td>
+			<td><input type="text" value="KDE 3.3"></td>
+			<td class="center"><input type="text" value="3.3"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="KHTML"></td>
+			<td><input type="text" value="Konqureror 3.5"></td>
+			<td><input type="text" value="KDE 3.5"></td>
+			<td class="center"><input type="text" value="3.5"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td><input type="text" value="Tasman"></td>
+			<td><input type="text" value="Internet Explorer 4.5"></td>
+			<td><input type="text" value="Mac OS 8-9"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="X"></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td><input type="text" value="Tasman"></td>
+			<td><input type="text" value="Internet Explorer 5.1"></td>
+			<td><input type="text" value="Mac OS 7.6-9"></td>
+			<td class="center"><input type="text" value="1"></td>
+			<td class="center"><input type="text" value="C"></td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td><input type="text" value="Tasman"></td>
+			<td><input type="text" value="Internet Explorer 5.2"></td>
+			<td><input type="text" value="Mac OS 8-X"></td>
+			<td class="center"><input type="text" value="1"></td>
+			<td class="center"><input type="text" value="C"></td>
+		</tr>
+		<tr class="even_gradeA">
+			<td><input type="text" value="Misc"></td>
+			<td><input type="text" value="NetFront 3.1"></td>
+			<td><input type="text" value="Embedded devices"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="C"></td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td><input type="text" value="Misc"></td>
+			<td><input type="text" value="NetFront 3.4"></td>
+			<td><input type="text" value="Embedded devices"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="A"></td>
+		</tr>
+		<tr class="even_gradeX">
+			<td><input type="text" value="Misc"></td>
+			<td><input type="text" value="Dillo 0.8"></td>
+			<td><input type="text" value="Embedded devices"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="X"></td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td><input type="text" value="Misc"></td>
+			<td><input type="text" value="Links"></td>
+			<td><input type="text" value="Text only"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="X"></td>
+		</tr>
+		<tr class="even_gradeX">
+			<td><input type="text" value="Misc"></td>
+			<td><input type="text" value="Lynx"></td>
+			<td><input type="text" value="Text only"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="X"></td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td><input type="text" value="Misc"></td>
+			<td><input type="text" value="IE Mobile"></td>
+			<td><input type="text" value="Windows Mobile 6"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="C"></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td><input type="text" value="Misc"></td>
+			<td><input type="text" value="PSP browser"></td>
+			<td><input type="text" value="PSP"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="C"></td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td><input type="text" value="Other browsers"></td>
+			<td><input type="text" value="All others"></td>
+			<td><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="-"></td>
+			<td class="center"><input type="text" value="U"></td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="columns.html">Selecting which columns to provide AutoFill on</a></li>
+				<li><a href="scrolling.html">Scrolling a DataTable using fill</a></li>
+				<li><a href="inputs.html">Using with input elements</a></li>
+				<li><a href="callbacks.html">Customisation using callback functions</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$.fn.dataTableExt.afnSortData['dom-text'] = function ( oSettings, iColumn )
+{
+	var aData = [];
+	$( 'td:eq('+iColumn+') input', oSettings.oApi._fnGetTrNodes(oSettings) ).each( function () {
+		aData.push( this.value );
+	} );
+	return aData;
+}
+
+$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"aoColumnDefs": [
+			{ "sSortDataType": "dom-text", "aTargets": [ "_all" ] },
+			{ "sType": "numeric", "aTargets": [ -2 ] }
+		]
+	} );
+	new AutoFill( oTable );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					AutoFill and DataTables &copy; Allan Jardine 2009-2010.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/css/AutoFill.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/css/AutoFill.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/css/AutoFill.css	(revision 6286)
@@ -0,0 +1,24 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * AutoFill styles
+ */
+
+div.AutoFill_filler {
+	display: none;
+	position: absolute;
+	height: 14px;
+	width: 14px;
+	background: url(../images/filler.png) no-repeat center center;
+	z-index: 1002;
+}
+
+div.AutoFill_border {
+	display: none;
+	position: absolute;
+	background-color: #0063dc;
+	z-index: 1001;
+	
+	box-shadow: 0px 0px 5px #76b4ff;
+	-moz-box-shadow: 0px 0px 5px #76b4ff;
+	-webkit-box-shadow: 0px 0px 5px #76b4ff;
+}
+
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/css/default.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/css/default.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/css/default.css	(revision 6286)
@@ -0,0 +1,418 @@
+/*
+ * TABLE OF CONTENTS:
+ * - Browser reset
+ * - HTML elements
+ * - JsDoc styling
+ */
+
+
+
+
+
+
+/*
+ * BEGIN BROWSER RESET
+ */
+
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,pre,form,fieldset,input,textarea,p,blockquote,th,td {
+	margin:0;
+	padding:0
+}
+html {
+	height:100%;
+	overflow:-moz-scrollbars-vertical;
+	overflow-x:auto
+}
+table {
+	border:0;
+	border-collapse:collapse;
+	border-spacing:0
+}
+fieldset,img {
+	border:0
+}
+address,caption,cite,code,dfn,em,strong,th,var {
+	font-style:normal;
+	font-weight:normal
+}
+em,cite {
+	font-style:italic
+}
+strong {
+	font-weight:bold
+}
+ol,ul {
+	list-style:none
+}
+caption,th {
+	text-align:left
+}
+h1,h2,h3,h4,h5,h6 {
+	font-size:100%;
+	font-weight:normal;
+	margin:0;
+	padding:0
+}
+q:before,q:after {
+	content:''
+}
+abbr,acronym {
+	border:0
+}
+
+/*
+ * END BROWSER RESET
+ */
+
+
+
+
+
+
+/*
+ * HTML ELEMENTS
+ */
+
+* {
+	line-height: 1.4em;
+}
+
+html {
+	font-size: 100%;
+}
+
+body {
+	font-size: 0.75em !important;
+	padding: 15px 0;
+	background: #eee;
+	background-image: -moz-linear-gradient(left, #dddddd, #f9f9f9);
+	background-image: -webkit-gradient(linear,left bottom,right bottom,color-stop(0, #dddddd),color-stop(1, #f9f9f9));
+  }
+
+body,
+input,
+select,
+textarea {
+	color: #000;
+	font-family: Arial, Geneva, sans-serif;
+}
+
+a:link,
+a:hover,
+a:active,
+a:visited {
+	color: #19199e;
+}
+a:hover,
+a:focus {
+	color: #00f;
+	text-decoration: none;
+}
+
+p {
+	margin: 0 0 1.5em 0;
+}
+
+/*
+ * END HTML ELEMENTS
+ */
+
+
+ 
+/*
+ * BEGIN HACK
+ */
+
+div.containerMain:after,
+div.safeBox:after {
+	content:"";
+	display:block;
+	height:0;
+	clear:both;
+}
+
+/*
+ * END HACK
+ */
+
+
+
+/*
+ * BEGIN JSDOC
+ */
+
+div.index *.heading1 {
+	margin-bottom: 0.5em;
+	border-bottom: 1px solid #999999;
+	padding: 0.5em 0 0.1em 0;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.3em;
+	letter-spacing: 1px;
+}
+ 
+div.index {
+	float: left;
+	width: 30%;
+	min-width: 100px;
+	max-width: 250px;
+}
+div.index div.menu {
+	margin: 0 15px 0 -15px;
+	-moz-border-radius: 15px;
+	-webkit-border-radius: 15px;
+	border-radius: 15px;
+  	padding: 15px 15px 15px 30px;
+	background-color: #FFFFFF;
+	background-color: rgba(255, 255, 255, 0.5);
+	-moz-box-shadow: 0px 0px 10px #c4c4c4;
+	-webkit-box-shadow: 0px 0px 10px #c4c4c4;
+	box-shadow: 0px 0px 10px #c4c4c4;
+}
+*+html div.index div.menu {
+	background-color: #FFFFFF;
+}
+* html div.index div.menu {
+	background-color: #FFFFFF;
+}
+
+div.index div.menu div {
+	text-align: left;
+}
+
+div.index div.menu a {
+	text-decoration: none;
+}
+div.index div.menu a:hover {
+	text-decoration: underline;
+}
+
+div.index ul.classList a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.index div.fineprint {
+  	padding: 15px 30px 15px 15px;
+	color: #777;
+	font-size: 0.9em;
+}
+div.index div.fineprint a {
+	color: #777;
+}
+
+
+
+div.content {
+	float: left;
+	width: 70%;
+	min-width: 300px;
+	max-width: 600px;
+}
+div.innerContent {
+	padding: 0 0 0 2.5em;
+}
+
+div.content ul,
+div.content ol {
+	margin-bottom: 3em;
+}
+
+div.content *.classTitle {
+	margin-bottom: 0.5em;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 2.5em;
+	letter-spacing: 2px;
+}
+
+div.content *.classTitle span {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.content p.summary {
+	font-size: 1.2em;
+}
+
+div.content ul *.classname a,
+div.content ul *.filename a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+	text-decoration: none;
+	font-weight: bold;
+}
+div.content ul *.classname a:hover,
+div.content ul *.filename a:hover {
+	text-decoration: underline;
+}
+
+div.content div.props {
+	position: relative;
+	left: -10px;
+	margin-bottom: 2.5em;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	padding: 10px 15px 15px 15px;
+	overflow: hidden;
+	background: #fff;
+	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2)); /* FF3.6 */
+	background: -webkit-gradient(linear,left top,left bottom,color-stop(0, rgba(255, 255, 255, 0.7)),color-stop(1, rgba(255, 255, 255, 0.2)));
+	-moz-box-shadow: 0px 0px 10px #ccc;
+	-webkit-box-shadow: 0px 0px 5px #bbb;
+	box-shadow: 0px 0px 5px #bbb;
+}
+
+div.content div.props div.sectionTitle {
+	padding-bottom: 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+div.content div.hr {
+	margin: 0 10px 0 0;
+	height: 4em;
+}
+
+
+
+table.summaryTable {
+	position: relative;
+	left: -10px;
+	width: 100%;
+	border-collapse: collapse;
+	box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	-webkit-box-sizing: content-box;
+	-ms-box-sizing: content-box;
+	-o-box-sizing: content-box;
+	-icab-box-sizing: content-box;
+	-khtml-box-sizing: content-box; 
+}
+
+table.summaryTable caption {
+	padding: 0 10px 10px 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+table.summaryTable td,
+table.summaryTable th {
+	padding: 0px 10px 10px 10px;
+	vertical-align: top;
+}
+table.summaryTable tr:last-child td {
+	padding-bottom: 0;
+}
+
+table.summaryTable th {
+	font-weight: bold;
+}
+
+table.summaryTable td.attributes {
+	width: 35%;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	color: #666;
+}
+
+table.summaryTable td.nameDescription {
+	width: 65%
+}
+
+table.summaryTable td.nameDescription div.fixedFont {
+	font-weight: bold;
+}
+
+table.summaryTable div.description {
+	color: #333;
+}
+
+
+
+dl.detailList {
+	margin-top: 0.5em;
+}
+
+dl.detailList.nomargin + dl.detailList.nomargin {
+	margin-top: 0;
+}
+
+dl.detailList dt {
+	display: inline;
+	margin-right: 5px;
+	font-weight: bold;
+}
+
+dl.detailList dt:before {
+	display: block;
+	content: "";
+}
+
+dl.detailList dd {
+	display: inline;
+}
+
+dl.detailList.params dt {
+	display: block;
+}
+dl.detailList.params dd {
+	display: block;
+	padding-left: 2em;
+	padding-bottom: 0.4em;
+}
+
+
+
+
+ul.fileList li {
+	margin-bottom: 1.5em;
+}
+
+
+
+.fixedFont {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+.fixedFont.heading {
+	margin-bottom: 0.5em;
+	font-size: 1.25em;
+	line-height: 1.1em
+}
+
+.fixedFont.heading + .description {
+	font-size: 1.2em;
+}
+
+.fixedFont.heading .light,
+.fixedFont.heading .lighter {
+	font-weight: bold;
+}
+
+pre.code {
+	margin: 10px 0 10px 0;
+	padding: 10px;
+	border: 1px solid #ccc;
+	-moz-border-radius: 2px;
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	overflow: auto;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	background: #eee;
+}
+
+.light {
+	color: #666;
+}
+
+.lighter {
+	color: #999;
+}
+
+.clear {
+	clear: both;
+	width: 100%;
+	min-height: 0;
+}
+
+/*
+ * END JSDOC
+ */
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/files.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/files.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/files.html	(revision 6286)
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		
+		<title>JsDoc Reference - File Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">File Index</h1>
+				
+				<ul class="fileList">
+					
+						<li>
+							<h2 class="filename"><a href="symbols/src/js_AutoFill.js.html">js/AutoFill.js</a></h2>
+							
+							
+							
+							<dl class="detailList">
+								
+								
+								
+								
+								
+								
+							</dl>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/index.html	(revision 6286)
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<title>JsDoc Reference - Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">Class Index</h1>
+				
+				<ul>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/_global_.html">_global_</a></h2>
+							<p></p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill.html">AutoFill</a></h2>
+							<p>AutoFill</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23dom.html">AutoFill#dom</a></h2>
+							<p>Common and useful DOM elements for the class instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23s.html">AutoFill#s</a></h2>
+							<p>Settings object which contains customisable information for AutoFill instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23s.border.html">AutoFill#s.border</a></h2>
+							<p>Cached information about the border display</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></h2>
+							<p>Information stored for each column.</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></h2>
+							<p>Store for live information for the current drag</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></h2>
+							<p>Cached information about the little dragging icon (the filler)</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></h2>
+							<p>Data cache for information that we need for scrolling the screen when we near
+  the edges</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></h2>
+							<p>Data cache for the position of the DataTables scrolling element (when scrolling
+  is enabled)</p>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#dom.html	(revision 6286)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#dom</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#dom</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Common and useful DOM elements for the class instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#dom.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23dom.html#constructor">AutoFill#dom</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#dom</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.border.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.border.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.border.html	(revision 6286)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#s.border</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#s.border</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Cached information about the border display
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#s.border.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23s.border.html#constructor">AutoFill#s.border</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#s.border</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.columns.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.columns.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.columns.html	(revision 6286)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#s.columns</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#s.columns</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Information stored for each column. An array of objects
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#s.columns.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23s.columns.html#constructor">AutoFill#s.columns</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#s.columns</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.drag.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.drag.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.drag.html	(revision 6286)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#s.drag</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#s.drag</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Store for live information for the current drag
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#s.drag.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23s.drag.html#constructor">AutoFill#s.drag</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#s.drag</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.filler.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.filler.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.filler.html	(revision 6286)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#s.filler</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#s.filler</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Cached information about the little dragging icon (the filler)
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#s.filler.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23s.filler.html#constructor">AutoFill#s.filler</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#s.filler</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.html	(revision 6286)
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#s</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#s</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Settings object which contains customisable information for AutoFill instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#s.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23s.html#constructor">AutoFill#s</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#s</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.screen.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.screen.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.screen.html	(revision 6286)
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#s.screen</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#s.screen</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Data cache for information that we need for scrolling the screen when we near
+  the edges
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#s.screen.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23s.screen.html#constructor">AutoFill#s.screen</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#s.screen</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.scroller.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.scroller.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill#s.scroller.html	(revision 6286)
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill#s.scroller</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>AutoFill#s.scroller</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Data cache for the position of the DataTables scrolling element (when scrolling
+  is enabled)
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill#s.scroller.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill%23s.scroller.html#constructor">AutoFill#s.scroller</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill#s.scroller</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/AutoFill.html	(revision 6286)
@@ -0,0 +1,1470 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - AutoFill</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Class <span>AutoFill</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					AutoFill
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_AutoFill.js.html">AutoFill.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class AutoFill.">
+							<caption>Class Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/AutoFill.html#constructor">AutoFill</a></b>(DataTables, Configuration)
+										</div>
+										<div class="description">AutoFill provides Excel like auto fill features for a DataTable</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class AutoFill.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												<b><a href="../symbols/AutoFill.html#CLASS">CLASS</a></b>
+												</div>
+												<div class="description">Name of this class</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												AutoFill.<b><a href="../symbols/AutoFill.html#.VERSION">VERSION</a></b>
+												</div>
+												<div class="description">AutoFill version</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class AutoFill.">
+								<caption>Method Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Method Attributes</th>
+										<th scope="col">Method Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnAddColumn">_fnAddColumn</a></b>(i)
+												</div>
+												<div class="description"></div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnColumnDefs">_fnColumnDefs</a></b>(aoColumnDefs)
+												</div>
+												<div class="description"></div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnColumnOptions">_fnColumnOptions</a></b>(i, opts)
+												</div>
+												<div class="description"></div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnColumnsAll">_fnColumnsAll</a></b>(aoColumns)
+												</div>
+												<div class="description"></div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnFillerDisplay">_fnFillerDisplay</a></b>(e)
+												</div>
+												<div class="description">Display the drag handle on mouse over cell</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnFillerDragMove">_fnFillerDragMove</a></b>(e)
+												</div>
+												<div class="description">Mouse move event handler for during a move.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnFillerDragStart">_fnFillerDragStart</a></b>(e)
+												</div>
+												<div class="description">Mouse down event handler for starting a drag</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnFillerFinish">_fnFillerFinish</a></b>(e)
+												</div>
+												<div class="description">Mouse release handler - end the drag and take action to update the cells with the needed values</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnFillerPosition">_fnFillerPosition</a></b>(nTd)
+												</div>
+												<div class="description">Position the filler icon over a cell</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnInit">_fnInit</a></b>(oDT, oConfig)
+												</div>
+												<div class="description">Initialisation</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnPrep">_fnPrep</a></b>(sStr)
+												</div>
+												<div class="description">Chunk a string such that it can be filled in by the stepper function</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnReadCell">_fnReadCell</a></b>(nTd)
+												</div>
+												<div class="description">Read informaiton from a cell, possibly using live DOM elements if suitable</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnStep">_fnStep</a></b>(nTd, oPrepped, iDiff, bIncrement, sToken)
+												</div>
+												<div class="description">Render a string for it's position in the table after the drag (incrememt numbers)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnTargetCoords">_fnTargetCoords</a></b>(nTd)
+												</div>
+												<div class="description">Find out the coordinates of a given TD cell in a table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnUpdateBorder">_fnUpdateBorder</a></b>(nStart, nEnd)
+												</div>
+												<div class="description">Display the border around one or more cells (from start to end)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#_fnWriteCell">_fnWriteCell</a></b>(nTd, sVal, bLast)
+												</div>
+												<div class="description">Write informaiton to a cell, possibly using live DOM elements if suitable</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/AutoFill.html#fnSettings">fnSettings</a></b>()
+												</div>
+												<div class="description">Retreieve the settings object from an instance</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Class Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>AutoFill</b>(DataTables, Configuration)
+							</div>
+							
+							<div class="description">
+								AutoFill provides Excel like auto fill features for a DataTable
+								
+							</div>
+							
+							
+						
+							
+								<dl class="detailList params">
+									<dt class="heading">Parameters:</dt>
+									
+										<dt>
+											<span class="light fixedFont">{object}</span>  <b>DataTables</b>
+											
+										</dt>
+										<dd>settings object</dd>
+									
+										<dt>
+											<span class="light fixedFont">{object}</span>  <b>Configuration</b>
+											
+										</dt>
+										<dd>object for AutoFill</dd>
+									
+								</dl>
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name="CLASS"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>CLASS</b>							
+								</div>
+								
+								<div class="description">
+									Name of this class
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												AutoFill
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".VERSION"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; &lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">AutoFill.</span><b>VERSION</b>							
+								</div>
+								
+								<div class="description">
+									AutoFill version
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												1.1.1
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+					<div class="details props">
+						<div class="innerProps">
+							<div class="sectionTitle">
+								Method Detail
+							</div>
+							
+							
+								<a name="_fnAddColumn"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnAddColumn</b>(i)
+								</div>
+								
+								<div class="description">
+									
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>i</b>
+												
+											</dt>
+											<dd></dd>
+										
+									</dl>
+								
+								
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnColumnDefs"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnColumnDefs</b>(aoColumnDefs)
+								</div>
+								
+								<div class="description">
+									
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>aoColumnDefs</b>
+												
+											</dt>
+											<dd></dd>
+										
+									</dl>
+								
+								
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnColumnOptions"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnColumnOptions</b>(i, opts)
+								</div>
+								
+								<div class="description">
+									
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>i</b>
+												
+											</dt>
+											<dd></dd>
+										
+											<dt>
+												<b>opts</b>
+												
+											</dt>
+											<dd></dd>
+										
+									</dl>
+								
+								
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnColumnsAll"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnColumnsAll</b>(aoColumns)
+								</div>
+								
+								<div class="description">
+									
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>aoColumns</b>
+												
+											</dt>
+											<dd></dd>
+										
+									</dl>
+								
+								
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnFillerDisplay"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnFillerDisplay</b>(e)
+								</div>
+								
+								<div class="description">
+									Display the drag handle on mouse over cell
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>e</b>
+												
+											</dt>
+											<dd>Event object</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnFillerDragMove"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnFillerDragMove</b>(e)
+								</div>
+								
+								<div class="description">
+									Mouse move event handler for during a move. See if we want to update the display based on the
+new cursor position
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>e</b>
+												
+											</dt>
+											<dd>Event object</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnFillerDragStart"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnFillerDragStart</b>(e)
+								</div>
+								
+								<div class="description">
+									Mouse down event handler for starting a drag
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>e</b>
+												
+											</dt>
+											<dd>Event object</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnFillerFinish"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnFillerFinish</b>(e)
+								</div>
+								
+								<div class="description">
+									Mouse release handler - end the drag and take action to update the cells with the needed values
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>e</b>
+												
+											</dt>
+											<dd>Event object</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnFillerPosition"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnFillerPosition</b>(nTd)
+								</div>
+								
+								<div class="description">
+									Position the filler icon over a cell
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>nTd</b>
+												
+											</dt>
+											<dd>Cell to position filler icon over</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnInit"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnInit</b>(oDT, oConfig)
+								</div>
+								
+								<div class="description">
+									Initialisation
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{object}</span> <b>oDT</b>
+												
+											</dt>
+											<dd>DataTables settings object</dd>
+										
+											<dt>
+												<span class="light fixedFont">{object}</span> <b>oConfig</b>
+												
+											</dt>
+											<dd>Configuration object for AutoFill</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnPrep"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<b>_fnPrep</b>(sStr)
+								</div>
+								
+								<div class="description">
+									Chunk a string such that it can be filled in by the stepper function
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{String}</span> <b>sStr</b>
+												
+											</dt>
+											<dd>String to prep</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Object}</span> with parameters, iStart, sStr and sPostFix</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnReadCell"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>_fnReadCell</b>(nTd)
+								</div>
+								
+								<div class="description">
+									Read informaiton from a cell, possibly using live DOM elements if suitable
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>nTd</b>
+												
+											</dt>
+											<dd>Cell to read</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{String}</span> Read value</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnStep"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>_fnStep</b>(nTd, oPrepped, iDiff, bIncrement, sToken)
+								</div>
+								
+								<div class="description">
+									Render a string for it's position in the table after the drag (incrememt numbers)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>nTd</b>
+												
+											</dt>
+											<dd>Cell being written to</dd>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>oPrepped</b>
+												
+											</dt>
+											<dd>Prepared object for the stepper (from _fnPrep)</dd>
+										
+											<dt>
+												<span class="light fixedFont">{Int}</span> <b>iDiff</b>
+												
+											</dt>
+											<dd>Step difference</dd>
+										
+											<dt>
+												<span class="light fixedFont">{Boolean}</span> <b>bIncrement</b>
+												
+											</dt>
+											<dd>Increment (true) or decriment (false)</dd>
+										
+											<dt>
+												<span class="light fixedFont">{String}</span> <b>sToken</b>
+												
+											</dt>
+											<dd>Token to replace</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{String}</span> Rendered information</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnTargetCoords"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<b>_fnTargetCoords</b>(nTd)
+								</div>
+								
+								<div class="description">
+									Find out the coordinates of a given TD cell in a table
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>nTd</b>
+												
+											</dt>
+											<dd></dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Object}</span> x and y properties, for the position of the cell in the tables DOM</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnUpdateBorder"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnUpdateBorder</b>(nStart, nEnd)
+								</div>
+								
+								<div class="description">
+									Display the border around one or more cells (from start to end)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>nStart</b>
+												
+											</dt>
+											<dd>Starting cell</dd>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>nEnd</b>
+												
+											</dt>
+											<dd>Ending cell</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnWriteCell"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnWriteCell</b>(nTd, sVal, bLast)
+								</div>
+								
+								<div class="description">
+									Write informaiton to a cell, possibly using live DOM elements if suitable
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>nTd</b>
+												
+											</dt>
+											<dd>Cell to write</dd>
+										
+											<dt>
+												<span class="light fixedFont">{String}</span> <b>sVal</b>
+												
+											</dt>
+											<dd>Value to write</dd>
+										
+											<dt>
+												<span class="light fixedFont">{Boolean}</span> <b>bLast</b>
+												
+											</dt>
+											<dd>Flag to show if this is that last update</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnSettings"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									<span class="light">{object}</span>
+									
+									<b>fnSettings</b>()
+								</div>
+								
+								<div class="description">
+									Retreieve the settings object from an instance
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{object}</span> AutoFill settings object</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								
+							
+						</div>
+					</div>
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/_global_.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/_global_.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/_global_.html	(revision 6286)
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - _global_</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/AutoFill.html">AutoFill</a></li>
+	
+		<li><a href="../symbols/AutoFill%23dom.html">AutoFill#dom</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.html">AutoFill#s</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.border.html">AutoFill#s.border</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.columns.html">AutoFill#s.columns</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.drag.html">AutoFill#s.drag</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.filler.html">AutoFill#s.filler</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.screen.html">AutoFill#s.screen</a></li>
+	
+		<li><a href="../symbols/AutoFill%23s.scroller.html">AutoFill#s.scroller</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:59 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Built-In Namespace <span>_global_</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					
+					
+					
+				</p>
+
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/src/js_AutoFill.js.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/src/js_AutoFill.js.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/docs/symbols/src/js_AutoFill.js.html	(revision 6286)
@@ -0,0 +1,821 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="COMM">/*
+<span class='line'>  2</span>  * File:        AutoFill.js
+<span class='line'>  3</span>  * Version:     1.1.1
+<span class='line'>  4</span>  * CVS:         $Id$
+<span class='line'>  5</span>  * Description: AutoFill for DataTables
+<span class='line'>  6</span>  * Author:      Allan Jardine (www.sprymedia.co.uk)
+<span class='line'>  7</span>  * Created:     Mon  6 Sep 2010 16:54:41 BST
+<span class='line'>  8</span>  * Modified:    $Date$ by $Author$
+<span class='line'>  9</span>  * Language:    Javascript
+<span class='line'> 10</span>  * License:     GPL v2 or BSD 3 point
+<span class='line'> 11</span>  * Project:     DataTables
+<span class='line'> 12</span>  * Contact:     www.sprymedia.co.uk/contact
+<span class='line'> 13</span>  * 
+<span class='line'> 14</span>  * Copyright 2010 Allan Jardine, all rights reserved.
+<span class='line'> 15</span>  *
+<span class='line'> 16</span>  */</span><span class="WHIT">
+<span class='line'> 17</span> 
+<span class='line'> 18</span> </span><span class="COMM">/* Global scope for AutoFill */</span><span class="WHIT">
+<span class='line'> 19</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">AutoFill</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 20</span> 
+<span class='line'> 21</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">$</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 22</span> 
+<span class='line'> 23</span> </span><span class="COMM">/** 
+<span class='line'> 24</span>  * AutoFill provides Excel like auto fill features for a DataTable
+<span class='line'> 25</span>  * @class AutoFill
+<span class='line'> 26</span>  * @constructor
+<span class='line'> 27</span>  * @param {object} DataTables settings object
+<span class='line'> 28</span>  * @param {object} Configuration object for AutoFill
+<span class='line'> 29</span>  */</span><span class="WHIT">
+<span class='line'> 30</span> </span><span class="NAME">AutoFill</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDT</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 32</span> </span><span class="WHIT">	</span><span class="COMM">/* Santiy check that we are a new instance */</span><span class="WHIT">
+<span class='line'> 33</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"AutoFill"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 34</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">		</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: AutoFill must be initialised with the keyword 'new'"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 37</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 38</span> 
+<span class='line'> 39</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="PUNC">(</span><span class="STRN">'1.7.0'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 40</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 41</span> </span><span class="WHIT">		</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: AutoFill requires DataTables 1.7 or greater - www.datatables.net/download"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 42</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 44</span> </span><span class="WHIT">	
+<span class='line'> 45</span> 	
+<span class='line'> 46</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'> 47</span> 	 * Public class variables
+<span class='line'> 48</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'> 49</span> </span><span class="WHIT">	
+<span class='line'> 50</span> 	</span><span class="COMM">/**
+<span class='line'> 51</span> 	 * @namespace Settings object which contains customisable information for AutoFill instance
+<span class='line'> 52</span> 	 */</span><span class="WHIT">
+<span class='line'> 53</span> </span><span class="WHIT">	</span><span class="NAME">this.s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 54</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'> 55</span> 		 * @namespace Cached information about the little dragging icon (the filler)
+<span class='line'> 56</span> 		 */</span><span class="WHIT">
+<span class='line'> 57</span> </span><span class="WHIT">		</span><span class="NAME">filler</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 58</span> </span><span class="WHIT">			</span><span class="NAME">height</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 59</span> </span><span class="WHIT">			</span><span class="NAME">width</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT">
+<span class='line'> 60</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 61</span> </span><span class="WHIT">		
+<span class='line'> 62</span> 		</span><span class="COMM">/**
+<span class='line'> 63</span> 		 * @namespace Cached information about the border display
+<span class='line'> 64</span> 		 */</span><span class="WHIT">
+<span class='line'> 65</span> </span><span class="WHIT">		</span><span class="NAME">border</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="WHIT">			</span><span class="NAME">width</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 68</span> </span><span class="WHIT">		
+<span class='line'> 69</span> 		</span><span class="COMM">/**
+<span class='line'> 70</span> 		 * @namespace Store for live information for the current drag
+<span class='line'> 71</span> 		 */</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">		</span><span class="NAME">drag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="WHIT">			</span><span class="NAME">startX</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="WHIT">			</span><span class="NAME">startY</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 75</span> </span><span class="WHIT">			</span><span class="NAME">startTd</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 76</span> </span><span class="WHIT">			</span><span class="NAME">endTd</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="WHIT">			</span><span class="NAME">dragging</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="WHIT">		
+<span class='line'> 80</span> 		</span><span class="COMM">/**
+<span class='line'> 81</span> 		 * @namespace Data cache for information that we need for scrolling the screen when we near
+<span class='line'> 82</span> 		 *   the edges
+<span class='line'> 83</span> 		 */</span><span class="WHIT">
+<span class='line'> 84</span> </span><span class="WHIT">		</span><span class="NAME">screen</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="WHIT">			</span><span class="NAME">interval</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">			</span><span class="NAME">y</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 87</span> </span><span class="WHIT">			</span><span class="NAME">height</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 88</span> </span><span class="WHIT">			</span><span class="NAME">scrollTop</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT">
+<span class='line'> 89</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 90</span> </span><span class="WHIT">		
+<span class='line'> 91</span> 		</span><span class="COMM">/**
+<span class='line'> 92</span> 		 * @namespace Data cache for the position of the DataTables scrolling element (when scrolling
+<span class='line'> 93</span> 		 *   is enabled)
+<span class='line'> 94</span> 		 */</span><span class="WHIT">
+<span class='line'> 95</span> </span><span class="WHIT">		</span><span class="NAME">scroller</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 96</span> </span><span class="WHIT">			</span><span class="NAME">top</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 97</span> </span><span class="WHIT">			</span><span class="NAME">bottom</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT">
+<span class='line'> 98</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 99</span> </span><span class="WHIT">		
+<span class='line'>100</span> 		
+<span class='line'>101</span> 		</span><span class="COMM">/**
+<span class='line'>102</span> 		 * @namespace Information stored for each column. An array of objects
+<span class='line'>103</span> 		 */</span><span class="WHIT">
+<span class='line'>104</span> </span><span class="WHIT">		</span><span class="NAME">columns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="WHIT">
+<span class='line'>105</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>106</span> </span><span class="WHIT">	
+<span class='line'>107</span> 	
+<span class='line'>108</span> 	</span><span class="COMM">/**
+<span class='line'>109</span> 	 * @namespace Common and useful DOM elements for the class instance
+<span class='line'>110</span> 	 */</span><span class="WHIT">
+<span class='line'>111</span> </span><span class="WHIT">	</span><span class="NAME">this.dom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>112</span> </span><span class="WHIT">		</span><span class="NAME">table</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>113</span> </span><span class="WHIT">		</span><span class="NAME">filler</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>114</span> </span><span class="WHIT">		</span><span class="NAME">borderTop</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>115</span> </span><span class="WHIT">		</span><span class="NAME">borderRight</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>116</span> </span><span class="WHIT">		</span><span class="NAME">borderBottom</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>117</span> </span><span class="WHIT">		</span><span class="NAME">borderLeft</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="WHIT">		</span><span class="NAME">currentTarget</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>120</span> </span><span class="WHIT">	
+<span class='line'>121</span> 	
+<span class='line'>122</span> 	
+<span class='line'>123</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>124</span> 	 * Public class methods
+<span class='line'>125</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>126</span> </span><span class="WHIT">	
+<span class='line'>127</span> 	</span><span class="COMM">/**
+<span class='line'>128</span> 	 * Retreieve the settings object from an instance
+<span class='line'>129</span> 	 *  @method fnSettings
+<span class='line'>130</span> 	 *  @returns {object} AutoFill settings object
+<span class='line'>131</span> 	 */</span><span class="WHIT">
+<span class='line'>132</span> </span><span class="WHIT">	</span><span class="NAME">this.fnSettings</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>133</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.s</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>134</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>135</span> </span><span class="WHIT">	
+<span class='line'>136</span> 	
+<span class='line'>137</span> 	</span><span class="COMM">/* Constructor logic */</span><span class="WHIT">
+<span class='line'>138</span> </span><span class="WHIT">	</span><span class="NAME">this._fnInit</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDT</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>139</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>140</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>141</span> 
+<span class='line'>142</span> 
+<span class='line'>143</span> 
+<span class='line'>144</span> </span><span class="NAME">AutoFill.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>145</span> </span><span class="WHIT">	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>146</span> 	 * Private methods (they are of course public in JS, but recommended as private)
+<span class='line'>147</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>148</span> </span><span class="WHIT">	
+<span class='line'>149</span> 	</span><span class="COMM">/**
+<span class='line'>150</span> 	 * Initialisation
+<span class='line'>151</span> 	 *  @method _fnInit
+<span class='line'>152</span>  	 *  @param {object} oDT DataTables settings object
+<span class='line'>153</span>  	 *  @param {object} oConfig Configuration object for AutoFill
+<span class='line'>154</span> 	 *  @returns void
+<span class='line'>155</span> 	 */</span><span class="WHIT">
+<span class='line'>156</span> </span><span class="WHIT">	</span><span class="NAME">_fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDT</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>157</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>158</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>159</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>160</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>161</span> </span><span class="WHIT">		
+<span class='line'>162</span> 		</span><span class="COMM">/*
+<span class='line'>163</span> 		 * Settings
+<span class='line'>164</span> 		 */</span><span class="WHIT">
+<span class='line'>165</span> </span><span class="WHIT">		</span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oDT.fnSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>166</span> </span><span class="WHIT">		
+<span class='line'>167</span> 		</span><span class="NAME">this.dom.table</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTable</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>168</span> </span><span class="WHIT">		
+<span class='line'>169</span> 		</span><span class="COMM">/* Add and configure the columns */</span><span class="WHIT">
+<span class='line'>170</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>171</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>172</span> </span><span class="WHIT">			</span><span class="NAME">this._fnAddColumn</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>173</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>174</span> </span><span class="WHIT">		
+<span class='line'>175</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.aoColumnDefs</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>176</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>177</span> </span><span class="WHIT">			</span><span class="NAME">this._fnColumnDefs</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.aoColumnDefs</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>178</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>179</span> </span><span class="WHIT">		
+<span class='line'>180</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.aoColumns</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>181</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>182</span> </span><span class="WHIT">			</span><span class="NAME">this._fnColumnsAll</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.aoColumns</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>183</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>184</span> </span><span class="WHIT">		
+<span class='line'>185</span> 		
+<span class='line'>186</span> 		</span><span class="COMM">/*
+<span class='line'>187</span> 		 * DOM
+<span class='line'>188</span> 		 */</span><span class="WHIT">
+<span class='line'>189</span> </span><span class="WHIT">		
+<span class='line'>190</span> 		</span><span class="COMM">/* Auto Fill click and drag icon */</span><span class="WHIT">
+<span class='line'>191</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">filler</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>192</span> </span><span class="WHIT">		</span><span class="NAME">filler.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"AutoFill_filler"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>193</span> </span><span class="WHIT">		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">filler</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>194</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.filler</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">filler</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>195</span> </span><span class="WHIT">		
+<span class='line'>196</span> 		</span><span class="NAME">filler.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>197</span> </span><span class="WHIT">		</span><span class="NAME">this.s.filler.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">filler</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>198</span> </span><span class="WHIT">		</span><span class="NAME">this.s.filler.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">filler</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>199</span> </span><span class="WHIT">		</span><span class="NAME">filler.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>200</span> </span><span class="WHIT">		
+<span class='line'>201</span> 		</span><span class="COMM">/* Border display - one div for each side. We can't just use a single one with a border, as
+<span class='line'>202</span> 		 * we want the events to effectively pass through the transparent bit of the box
+<span class='line'>203</span> 		 */</span><span class="WHIT">
+<span class='line'>204</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>205</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">appender</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.body</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>206</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>207</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>208</span> </span><span class="WHIT">			</span><span class="NAME">that.s.dt.nTable.parentNode.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"relative"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>209</span> </span><span class="WHIT">			</span><span class="NAME">appender</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.s.dt.nTable.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>210</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>211</span> </span><span class="WHIT">		
+<span class='line'>212</span> 		</span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>213</span> </span><span class="WHIT">		</span><span class="NAME">border.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"AutoFill_border"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>214</span> </span><span class="WHIT">		</span><span class="NAME">appender.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>215</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.borderTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>216</span> </span><span class="WHIT">		
+<span class='line'>217</span> 		</span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>218</span> </span><span class="WHIT">		</span><span class="NAME">border.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"AutoFill_border"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>219</span> </span><span class="WHIT">		</span><span class="NAME">appender.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>220</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.borderRight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>221</span> </span><span class="WHIT">		
+<span class='line'>222</span> 		</span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>223</span> </span><span class="WHIT">		</span><span class="NAME">border.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"AutoFill_border"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>224</span> </span><span class="WHIT">		</span><span class="NAME">appender.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>225</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.borderBottom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>226</span> </span><span class="WHIT">		
+<span class='line'>227</span> 		</span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>228</span> </span><span class="WHIT">		</span><span class="NAME">border.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"AutoFill_border"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>229</span> </span><span class="WHIT">		</span><span class="NAME">appender.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>230</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.borderLeft</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>231</span> </span><span class="WHIT">		
+<span class='line'>232</span> 		</span><span class="COMM">/*
+<span class='line'>233</span> 		 * Events
+<span class='line'>234</span> 		 */</span><span class="WHIT">
+<span class='line'>235</span> </span><span class="WHIT">		
+<span class='line'>236</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">filler</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">mousedown</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>237</span> </span><span class="WHIT">			</span><span class="NAME">this.onselectstart</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>238</span> </span><span class="WHIT">			</span><span class="NAME">that._fnFillerDragStart.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>239</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>240</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>241</span> </span><span class="WHIT">		
+<span class='line'>242</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tbody>tr>td'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.table</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">live</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mouseover mouseout'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>243</span> </span><span class="WHIT">			</span><span class="NAME">that._fnFillerDisplay.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>244</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>245</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>246</span> </span><span class="WHIT">	
+<span class='line'>247</span> 	
+<span class='line'>248</span> 	</span><span class="NAME">_fnColumnDefs</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aoColumnDefs</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>249</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>250</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>251</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">kLen</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>252</span> </span><span class="WHIT">			</span><span class="NAME">aTargets</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>253</span> </span><span class="WHIT">		
+<span class='line'>254</span> 		</span><span class="COMM">/* Loop over the column defs array - loop in reverse so first instace has priority */</span><span class="WHIT">
+<span class='line'>255</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">aoColumnDefs.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">>=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>256</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>257</span> </span><span class="WHIT">			</span><span class="COMM">/* Each column def can target multiple columns, as it is an array */</span><span class="WHIT">
+<span class='line'>258</span> </span><span class="WHIT">			</span><span class="NAME">aTargets</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aoColumnDefs</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">aTargets</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>259</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jLen</span><span class="PUNC">=</span><span class="NAME">aTargets.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">&lt;</span><span class="NAME">jLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>260</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>261</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'number'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>262</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>263</span> </span><span class="WHIT">					</span><span class="COMM">/* 0+ integer, left to right column counting. */</span><span class="WHIT">
+<span class='line'>264</span> </span><span class="WHIT">					</span><span class="NAME">this._fnColumnOptions</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aoColumnDefs</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>265</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>266</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'number'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>267</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>268</span> </span><span class="WHIT">					</span><span class="COMM">/* Negative integer, right to left column counting */</span><span class="WHIT">
+<span class='line'>269</span> </span><span class="WHIT">					</span><span class="NAME">this._fnColumnOptions</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns.length</span><span class="PUNC">+</span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aoColumnDefs</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>270</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>271</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>272</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>273</span> </span><span class="WHIT">					</span><span class="COMM">/* Class name matching on TH element */</span><span class="WHIT">
+<span class='line'>274</span> </span><span class="WHIT">					</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">kLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">&lt;</span><span class="NAME">kLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>275</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>276</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"_all"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
+<span class='line'>277</span> </span><span class="WHIT">						     </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">k</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTh.className.indexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aTargets</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>278</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>279</span> </span><span class="WHIT">							</span><span class="NAME">this._fnColumnOptions</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">k</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aoColumnDefs</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>280</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>281</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>282</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>283</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>284</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>285</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>286</span> </span><span class="WHIT">		
+<span class='line'>287</span> 		
+<span class='line'>288</span> 	</span><span class="NAME">_fnColumnsAll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aoColumns</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>289</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>290</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>291</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>292</span> </span><span class="WHIT">			</span><span class="NAME">this._fnColumnOptions</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>293</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>294</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>295</span> </span><span class="WHIT">	
+<span class='line'>296</span> 	
+<span class='line'>297</span> 	</span><span class="NAME">_fnAddColumn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>298</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>299</span> </span><span class="WHIT">		</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>300</span> </span><span class="WHIT">			</span><span class="NAME">enable</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>301</span> </span><span class="WHIT">			</span><span class="NAME">read</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this._fnReadCell</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>302</span> </span><span class="WHIT">			</span><span class="NAME">write</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this._fnWriteCell</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>303</span> </span><span class="WHIT">			</span><span class="NAME">step</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this._fnStep</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>304</span> </span><span class="WHIT">			</span><span class="NAME">complete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>305</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>306</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>307</span> </span><span class="WHIT">	
+<span class='line'>308</span> 	</span><span class="NAME">_fnColumnOptions</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">opts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>309</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>310</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">opts.bEnable</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>312</span> </span><span class="WHIT">			</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">enable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">opts.bEnable</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>313</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>314</span> </span><span class="WHIT">		
+<span class='line'>315</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">opts.fnRead</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>316</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>317</span> </span><span class="WHIT">			</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">read</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">opts.fnRead</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>318</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>319</span> </span><span class="WHIT">		
+<span class='line'>320</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">opts.fnWrite</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>321</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>322</span> </span><span class="WHIT">			</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">write</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">opts.fnWrite</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>323</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>324</span> </span><span class="WHIT">		
+<span class='line'>325</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">opts.fnStep</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>326</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>327</span> </span><span class="WHIT">			</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">opts.fnStep</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>328</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>329</span> </span><span class="WHIT">		
+<span class='line'>330</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">opts.fnCallback</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>331</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>332</span> </span><span class="WHIT">			</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">complete</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">opts.fnCallback</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>333</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>334</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>335</span> </span><span class="WHIT">	
+<span class='line'>336</span> 	
+<span class='line'>337</span> 	</span><span class="COMM">/**
+<span class='line'>338</span> 	 * Find out the coordinates of a given TD cell in a table
+<span class='line'>339</span> 	 *  @method  _fnTargetCoords
+<span class='line'>340</span> 	 *  @param   {Node} nTd
+<span class='line'>341</span> 	 *  @returns {Object} x and y properties, for the position of the cell in the tables DOM
+<span class='line'>342</span> 	 */</span><span class="WHIT">
+<span class='line'>343</span> </span><span class="WHIT">	</span><span class="NAME">_fnTargetCoords</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>344</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>345</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nTr</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nTd.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>346</span> </span><span class="WHIT">		
+<span class='line'>347</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>348</span> </span><span class="WHIT">			</span><span class="NAME">x</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'td'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTr</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">index</span><span class="PUNC">(</span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>349</span> </span><span class="WHIT">			</span><span class="NAME">y</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tr'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTr.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">index</span><span class="PUNC">(</span><span class="NAME">nTr</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>350</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>351</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>352</span> </span><span class="WHIT">	
+<span class='line'>353</span> 	
+<span class='line'>354</span> 	</span><span class="COMM">/**
+<span class='line'>355</span> 	 * Display the border around one or more cells (from start to end)
+<span class='line'>356</span> 	 *  @method  _fnUpdateBorder
+<span class='line'>357</span> 	 *  @param   {Node} nStart Starting cell
+<span class='line'>358</span> 	 *  @param   {Node} nEnd Ending cell
+<span class='line'>359</span> 	 *  @returns void
+<span class='line'>360</span> 	 */</span><span class="WHIT">
+<span class='line'>361</span> </span><span class="WHIT">	</span><span class="NAME">_fnUpdateBorder</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nStart</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nEnd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>362</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>363</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>364</span> </span><span class="WHIT">			</span><span class="NAME">border</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.border.width</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>365</span> </span><span class="WHIT">			</span><span class="NAME">offsetStart</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nStart</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>366</span> </span><span class="WHIT">			</span><span class="NAME">offsetEnd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nEnd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>367</span> </span><span class="WHIT">			</span><span class="NAME">x1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetStart.left</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>368</span> </span><span class="WHIT">			</span><span class="NAME">x2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetEnd.left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nEnd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>369</span> </span><span class="WHIT">			</span><span class="NAME">y1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetStart.top</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">border</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>370</span> </span><span class="WHIT">			</span><span class="NAME">y2</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetEnd.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nEnd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>371</span> </span><span class="WHIT">			</span><span class="NAME">width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetEnd.left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nEnd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">offsetStart.left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">2</span><span class="PUNC">*</span><span class="NAME">border</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>372</span> </span><span class="WHIT">			</span><span class="NAME">height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetEnd.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nEnd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">offsetStart.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NUMB">2</span><span class="PUNC">*</span><span class="NAME">border</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>373</span> </span><span class="WHIT">			</span><span class="NAME">oStyle</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>374</span> </span><span class="WHIT">		
+<span class='line'>375</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>376</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>377</span> </span><span class="WHIT">			</span><span class="COMM">/* The border elements are inside the DT scroller - so position relative to that */</span><span class="WHIT">
+<span class='line'>378</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>379</span> </span><span class="WHIT">				</span><span class="NAME">offsetScroll</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>380</span> </span><span class="WHIT">				</span><span class="NAME">scrollTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>381</span> </span><span class="WHIT">				</span><span class="NAME">scrollLeft</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollLeft</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>382</span> </span><span class="WHIT">			
+<span class='line'>383</span> 			</span><span class="NAME">x1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetScroll.left</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">scrollLeft</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>384</span> </span><span class="WHIT">			</span><span class="NAME">x2</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetScroll.left</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">scrollLeft</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>385</span> </span><span class="WHIT">			</span><span class="NAME">y1</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetScroll.top</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">scrollTop</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>386</span> </span><span class="WHIT">			</span><span class="NAME">y2</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">offsetScroll.top</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">scrollTop</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>387</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>388</span> </span><span class="WHIT">		
+<span class='line'>389</span> 		</span><span class="COMM">/* Top */</span><span class="WHIT">
+<span class='line'>390</span> </span><span class="WHIT">		</span><span class="NAME">oStyle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.borderTop.style</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>391</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">y1</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>392</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x1</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>393</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.border.width</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>394</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>395</span> </span><span class="WHIT">		
+<span class='line'>396</span> 		</span><span class="COMM">/* Bottom */</span><span class="WHIT">
+<span class='line'>397</span> </span><span class="WHIT">		</span><span class="NAME">oStyle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.borderBottom.style</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>398</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">y2</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>399</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x1</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>400</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.border.width</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>401</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>402</span> </span><span class="WHIT">		
+<span class='line'>403</span> 		</span><span class="COMM">/* Left */</span><span class="WHIT">
+<span class='line'>404</span> </span><span class="WHIT">		</span><span class="NAME">oStyle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.borderLeft.style</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>405</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">y1</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>406</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x1</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>407</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">height</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>408</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.border.width</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>409</span> </span><span class="WHIT">		
+<span class='line'>410</span> 		</span><span class="COMM">/* Right */</span><span class="WHIT">
+<span class='line'>411</span> </span><span class="WHIT">		</span><span class="NAME">oStyle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.borderRight.style</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>412</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">y1</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>413</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x2</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>414</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">height</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>415</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.border.width</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>416</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>417</span> </span><span class="WHIT">	
+<span class='line'>418</span> 	
+<span class='line'>419</span> 	</span><span class="COMM">/**
+<span class='line'>420</span> 	 * Mouse down event handler for starting a drag
+<span class='line'>421</span> 	 *  @method  _fnFillerDragStart
+<span class='line'>422</span> 	 *  @param   {Object} e Event object
+<span class='line'>423</span> 	 *  @returns void
+<span class='line'>424</span> 	 */</span><span class="WHIT">
+<span class='line'>425</span> </span><span class="WHIT">	</span><span class="NAME">_fnFillerDragStart</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>426</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>427</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>428</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">startingTd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.currentTarget</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>429</span> </span><span class="WHIT">		
+<span class='line'>430</span> 		</span><span class="NAME">this.s.drag.dragging</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>431</span> </span><span class="WHIT">		
+<span class='line'>432</span> 		</span><span class="NAME">that.dom.borderTop.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>433</span> </span><span class="WHIT">		</span><span class="NAME">that.dom.borderRight.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>434</span> </span><span class="WHIT">		</span><span class="NAME">that.dom.borderBottom.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>435</span> </span><span class="WHIT">		</span><span class="NAME">that.dom.borderLeft.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>436</span> </span><span class="WHIT">		
+<span class='line'>437</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnTargetCoords</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">startingTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>438</span> </span><span class="WHIT">		</span><span class="NAME">this.s.drag.startX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">coords.x</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>439</span> </span><span class="WHIT">		</span><span class="NAME">this.s.drag.startY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">coords.y</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>440</span> </span><span class="WHIT">		
+<span class='line'>441</span> 		</span><span class="NAME">this.s.drag.startTd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">startingTd</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>442</span> </span><span class="WHIT">		</span><span class="NAME">this.s.drag.endTd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">startingTd</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>443</span> </span><span class="WHIT">		
+<span class='line'>444</span> 		</span><span class="NAME">this._fnUpdateBorder</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">startingTd</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">startingTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>445</span> </span><span class="WHIT">		
+<span class='line'>446</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="STRN">'mousemove.AutoFill'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>447</span> </span><span class="WHIT">			</span><span class="NAME">that._fnFillerDragMove.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>448</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>449</span> </span><span class="WHIT">		
+<span class='line'>450</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="STRN">'mouseup.AutoFill'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>451</span> </span><span class="WHIT">			</span><span class="NAME">that._fnFillerFinish.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>452</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>453</span> </span><span class="WHIT">		
+<span class='line'>454</span> 		</span><span class="COMM">/* Scrolling information cache */</span><span class="WHIT">
+<span class='line'>455</span> </span><span class="WHIT">		</span><span class="NAME">this.s.screen.y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.pageY</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>456</span> </span><span class="WHIT">		</span><span class="NAME">this.s.screen.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>457</span> </span><span class="WHIT">		</span><span class="NAME">this.s.screen.scrollTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>458</span> </span><span class="WHIT">		
+<span class='line'>459</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>460</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>461</span> </span><span class="WHIT">			</span><span class="NAME">this.s.scroller.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">top</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>462</span> </span><span class="WHIT">			</span><span class="NAME">this.s.scroller.bottom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.scroller.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>463</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>464</span> </span><span class="WHIT">		
+<span class='line'>465</span> 		</span><span class="COMM">/* Scrolling handler - we set an interval (which is cancelled on mouse up) which will fire
+<span class='line'>466</span> 		 * regularly and see if we need to do any scrolling
+<span class='line'>467</span> 		 */</span><span class="WHIT">
+<span class='line'>468</span> </span><span class="WHIT">		</span><span class="NAME">this.s.screen.interval</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">setInterval</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>469</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iScrollTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>470</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iScrollDelta</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iScrollTop</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">that.s.screen.scrollTop</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>471</span> </span><span class="WHIT">			</span><span class="NAME">that.s.screen.y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iScrollDelta</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>472</span> </span><span class="WHIT">			
+<span class='line'>473</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.screen.height</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">that.s.screen.y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iScrollTop</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>474</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>475</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'html, body'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>476</span> </span><span class="WHIT">					</span><span class="NAME">scrollTop</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iScrollTop</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT">
+<span class='line'>477</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">240</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'linear'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>478</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>479</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.screen.y</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">iScrollTop</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>480</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>481</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'html, body'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>482</span> </span><span class="WHIT">					</span><span class="NAME">scrollTop</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iScrollTop</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT">
+<span class='line'>483</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">240</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'linear'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>484</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>485</span> </span><span class="WHIT">			
+<span class='line'>486</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>487</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>488</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.screen.y</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">that.s.scroller.bottom</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>489</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>490</span> </span><span class="WHIT">					</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">that.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>491</span> </span><span class="WHIT">						</span><span class="NAME">scrollTop</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">that.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT">
+<span class='line'>492</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">240</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'linear'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>493</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>494</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.screen.y</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">that.s.scroller.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>495</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>496</span> </span><span class="WHIT">					</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">that.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>497</span> </span><span class="WHIT">						</span><span class="NAME">scrollTop</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">that.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">50</span><span class="WHIT">
+<span class='line'>498</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">240</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'linear'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>499</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>500</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>501</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">250</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>502</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>503</span> </span><span class="WHIT">	
+<span class='line'>504</span> 	
+<span class='line'>505</span> 	</span><span class="COMM">/**
+<span class='line'>506</span> 	 * Mouse move event handler for during a move. See if we want to update the display based on the
+<span class='line'>507</span> 	 * new cursor position
+<span class='line'>508</span> 	 *  @method  _fnFillerDragMove
+<span class='line'>509</span> 	 *  @param   {Object} e Event object
+<span class='line'>510</span> 	 *  @returns void
+<span class='line'>511</span> 	 */</span><span class="WHIT">
+<span class='line'>512</span> </span><span class="WHIT">	</span><span class="NAME">_fnFillerDragMove</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>513</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>514</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">e.target.nodeName.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"TD"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>515</span> </span><span class="WHIT">		 	</span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">this.s.drag.endTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>516</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>517</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnTargetCoords</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>518</span> </span><span class="WHIT">			
+<span class='line'>519</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">coords.x</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">this.s.drag.startX</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>520</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>521</span> </span><span class="WHIT">				</span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tbody>tr:eq('</span><span class="PUNC">+</span><span class="NAME">coords.y</span><span class="PUNC">+</span><span class="STRN">')>td:eq('</span><span class="PUNC">+</span><span class="NAME">this.s.drag.startX</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.table</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>522</span> </span><span class="WHIT">			 	</span><span class="NAME">coords</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnTargetCoords</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>523</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>524</span> </span><span class="WHIT">			
+<span class='line'>525</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">coords.x</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">this.s.drag.startX</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>526</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>527</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">drag</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.drag</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>528</span> </span><span class="WHIT">				</span><span class="NAME">drag.endTd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>529</span> </span><span class="WHIT">				
+<span class='line'>530</span> 				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">coords.y</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NAME">this.s.drag.startY</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>531</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>532</span> </span><span class="WHIT">					</span><span class="NAME">this._fnUpdateBorder</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">drag.startTd</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">drag.endTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>533</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>534</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>535</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>536</span> </span><span class="WHIT">					</span><span class="NAME">this._fnUpdateBorder</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">drag.endTd</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">drag.startTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>537</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>538</span> </span><span class="WHIT">				</span><span class="NAME">this._fnFillerPosition</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>539</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>540</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>541</span> </span><span class="WHIT">		
+<span class='line'>542</span> 		</span><span class="COMM">/* Update the screen information so we can perform scrolling */</span><span class="WHIT">
+<span class='line'>543</span> </span><span class="WHIT">		</span><span class="NAME">this.s.screen.y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.pageY</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>544</span> </span><span class="WHIT">		</span><span class="NAME">this.s.screen.scrollTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>545</span> </span><span class="WHIT">		
+<span class='line'>546</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>547</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>548</span> </span><span class="WHIT">			</span><span class="NAME">this.s.scroller.scrollTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>549</span> </span><span class="WHIT">			</span><span class="NAME">this.s.scroller.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">top</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>550</span> </span><span class="WHIT">			</span><span class="NAME">this.s.scroller.bottom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.scroller.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>551</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>552</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>553</span> </span><span class="WHIT">	
+<span class='line'>554</span> 	
+<span class='line'>555</span> 	</span><span class="COMM">/**
+<span class='line'>556</span> 	 * Mouse release handler - end the drag and take action to update the cells with the needed values
+<span class='line'>557</span> 	 *  @method  _fnFillerFinish
+<span class='line'>558</span> 	 *  @param   {Object} e Event object
+<span class='line'>559</span> 	 *  @returns void
+<span class='line'>560</span> 	 */</span><span class="WHIT">
+<span class='line'>561</span> </span><span class="WHIT">	</span><span class="NAME">_fnFillerFinish</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>562</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>563</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>564</span> </span><span class="WHIT">		
+<span class='line'>565</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">unbind</span><span class="PUNC">(</span><span class="STRN">'mousemove.AutoFill'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>566</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">unbind</span><span class="PUNC">(</span><span class="STRN">'mouseup.AutoFill'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>567</span> </span><span class="WHIT">		
+<span class='line'>568</span> 		</span><span class="NAME">this.dom.borderTop.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>569</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.borderRight.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>570</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.borderBottom.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>571</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.borderLeft.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>572</span> </span><span class="WHIT">		
+<span class='line'>573</span> 		</span><span class="NAME">this.s.drag.dragging</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>574</span> </span><span class="WHIT">		
+<span class='line'>575</span> 		</span><span class="NAME">clearInterval</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.screen.interval</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>576</span> </span><span class="WHIT">		
+<span class='line'>577</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">coordsStart</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnTargetCoords</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.drag.startTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>578</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">coordsEnd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnTargetCoords</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.drag.endTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>579</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aTds</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>580</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">bIncrement</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>581</span> </span><span class="WHIT">		
+<span class='line'>582</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">coordsStart.y</span><span class="WHIT"> </span><span class="PUNC">&lt;=</span><span class="WHIT"> </span><span class="NAME">coordsEnd.y</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>583</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>584</span> </span><span class="WHIT">			</span><span class="NAME">bIncrement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>585</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">coordsStart.y</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;=</span><span class="NAME">coordsEnd.y</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>586</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>587</span> </span><span class="WHIT">				</span><span class="NAME">aTds.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tbody>tr:eq('</span><span class="PUNC">+</span><span class="NAME">i</span><span class="PUNC">+</span><span class="STRN">')>td:eq('</span><span class="PUNC">+</span><span class="NAME">coordsStart.x</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.table</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>588</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>589</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>590</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>591</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>592</span> </span><span class="WHIT">			</span><span class="NAME">bIncrement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>593</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">coordsStart.y</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">>=</span><span class="NAME">coordsEnd.y</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>594</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>595</span> </span><span class="WHIT">				</span><span class="NAME">aTds.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tbody>tr:eq('</span><span class="PUNC">+</span><span class="NAME">i</span><span class="PUNC">+</span><span class="STRN">')>td:eq('</span><span class="PUNC">+</span><span class="NAME">coordsStart.x</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.table</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>596</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>597</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>598</span> </span><span class="WHIT">		
+<span class='line'>599</span> 		
+<span class='line'>600</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iColumn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">coordsStart.x</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>601</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">bLast</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>602</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aoEdited</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>603</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sStart</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">iColumn</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">read.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.drag.startTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>604</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oPrepped</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnPrep</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sStart</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>605</span> </span><span class="WHIT">		
+<span class='line'>606</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aTds.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>607</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>608</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">==</span><span class="NAME">iLen</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>609</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>610</span> </span><span class="WHIT">				</span><span class="NAME">bLast</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>611</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>612</span> </span><span class="WHIT">			
+<span class='line'>613</span> 			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">original</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">iColumn</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">read.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aTds</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>614</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">step</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">iColumn</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">step.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aTds</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oPrepped</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bIncrement</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>615</span> 				</span><span class="STRN">'SPRYMEDIA_AUTOFILL_STEPPER'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>616</span> </span><span class="WHIT">			</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">iColumn</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">write.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aTds</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bLast</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>617</span> </span><span class="WHIT">			
+<span class='line'>618</span> 			</span><span class="NAME">aoEdited.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>619</span> </span><span class="WHIT">				</span><span class="NAME">td</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">aTds</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>620</span> </span><span class="WHIT">				</span><span class="NAME">newValue</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">step</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>621</span> </span><span class="WHIT">				</span><span class="NAME">oldValue</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">original</span><span class="WHIT">
+<span class='line'>622</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>623</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>624</span> </span><span class="WHIT">		
+<span class='line'>625</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">iColumn</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">complete</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>626</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>627</span> </span><span class="WHIT">			</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">iColumn</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">complete.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aoEdited</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>628</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>629</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>630</span> </span><span class="WHIT">	
+<span class='line'>631</span> 	
+<span class='line'>632</span> 	</span><span class="COMM">/**
+<span class='line'>633</span> 	 * Chunk a string such that it can be filled in by the stepper function
+<span class='line'>634</span> 	 *  @method  _fnPrep
+<span class='line'>635</span> 	 *  @param   {String} sStr String to prep
+<span class='line'>636</span> 	 *  @returns {Object} with parameters, iStart, sStr and sPostFix
+<span class='line'>637</span> 	 */</span><span class="WHIT">
+<span class='line'>638</span> </span><span class="WHIT">	</span><span class="NAME">_fnPrep</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sStr</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>639</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>640</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aMatch</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sStr.match</span><span class="PUNC">(</span><span class="REGX">/[\d\.]+/g</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>641</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">aMatch</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">aMatch.length</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>642</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>643</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>644</span> </span><span class="WHIT">				</span><span class="NAME">iStart</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>645</span> </span><span class="WHIT">				</span><span class="NAME">sStr</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">sStr</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>646</span> </span><span class="WHIT">				</span><span class="NAME">sPostFix</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT">
+<span class='line'>647</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>648</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>649</span> </span><span class="WHIT">		
+<span class='line'>650</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sLast</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aMatch</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">aMatch.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>651</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">num</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">sLast</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>652</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">RegExp</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'^(.*)'</span><span class="PUNC">+</span><span class="NAME">sLast</span><span class="PUNC">+</span><span class="STRN">'(.*?)$'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>653</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">decimal</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sLast.match</span><span class="PUNC">(</span><span class="REGX">/\./</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"."</span><span class="PUNC">+</span><span class="NAME">sLast.split</span><span class="PUNC">(</span><span class="STRN">'.'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>654</span> </span><span class="WHIT">		
+<span class='line'>655</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>656</span> </span><span class="WHIT">			</span><span class="NAME">iStart</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">num</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>657</span> </span><span class="WHIT">			</span><span class="NAME">sStr</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">sStr.replace</span><span class="PUNC">(</span><span class="NAME">regex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"$1SPRYMEDIA_AUTOFILL_STEPPER$2"</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>658</span> </span><span class="WHIT">			</span><span class="NAME">sPostFix</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">decimal</span><span class="WHIT">
+<span class='line'>659</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>660</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>661</span> </span><span class="WHIT">	
+<span class='line'>662</span> 	
+<span class='line'>663</span> 	</span><span class="COMM">/**
+<span class='line'>664</span> 	 * Render a string for it's position in the table after the drag (incrememt numbers)
+<span class='line'>665</span> 	 *  @method  _fnStep
+<span class='line'>666</span> 	 *  @param   {Node} nTd Cell being written to
+<span class='line'>667</span> 	 *  @param   {Object} oPrepped Prepared object for the stepper (from _fnPrep)
+<span class='line'>668</span> 	 *  @param   {Int} iDiff Step difference
+<span class='line'>669</span> 	 *  @param   {Boolean} bIncrement Increment (true) or decriment (false)
+<span class='line'>670</span> 	 *  @param   {String} sToken Token to replace
+<span class='line'>671</span> 	 *  @returns {String} Rendered information
+<span class='line'>672</span> 	 */</span><span class="WHIT">
+<span class='line'>673</span> </span><span class="WHIT">	</span><span class="NAME">_fnStep</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oPrepped</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iDiff</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bIncrement</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sToken</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>674</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>675</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iReplace</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">bIncrement</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">oPrepped.iStart</span><span class="PUNC">+</span><span class="NAME">iDiff</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">oPrepped.iStart</span><span class="PUNC">-</span><span class="NAME">iDiff</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>676</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">iReplace</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>677</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>678</span> </span><span class="WHIT">			</span><span class="NAME">iReplace</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>679</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>680</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">oPrepped.sStr.replace</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sToken</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iReplace</span><span class="PUNC">+</span><span class="NAME">oPrepped.sPostFix</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>681</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>682</span> </span><span class="WHIT">	
+<span class='line'>683</span> 	
+<span class='line'>684</span> 	</span><span class="COMM">/**
+<span class='line'>685</span> 	 * Read informaiton from a cell, possibly using live DOM elements if suitable
+<span class='line'>686</span> 	 *  @method  _fnReadCell
+<span class='line'>687</span> 	 *  @param   {Node} nTd Cell to read
+<span class='line'>688</span> 	 *  @returns {String} Read value
+<span class='line'>689</span> 	 */</span><span class="WHIT">
+<span class='line'>690</span> </span><span class="WHIT">	</span><span class="NAME">_fnReadCell</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>691</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>692</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">jq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>693</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jq.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>694</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>695</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">jq</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">val</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>696</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>697</span> </span><span class="WHIT">		
+<span class='line'>698</span> 		</span><span class="NAME">jq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>699</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jq.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>700</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>701</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">jq</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">val</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>702</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>703</span> </span><span class="WHIT">		
+<span class='line'>704</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nTd.innerHTML</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>705</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>706</span> </span><span class="WHIT">	
+<span class='line'>707</span> 	
+<span class='line'>708</span> 	</span><span class="COMM">/**
+<span class='line'>709</span> 	 * Write informaiton to a cell, possibly using live DOM elements if suitable
+<span class='line'>710</span> 	 *  @method  _fnWriteCell
+<span class='line'>711</span> 	 *  @param   {Node} nTd Cell to write
+<span class='line'>712</span> 	 *  @param   {String} sVal Value to write
+<span class='line'>713</span> 	 *  @param   {Boolean} bLast Flag to show if this is that last update
+<span class='line'>714</span> 	 *  @returns void
+<span class='line'>715</span> 	 */</span><span class="WHIT">
+<span class='line'>716</span> </span><span class="WHIT">	</span><span class="NAME">_fnWriteCell</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sVal</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bLast</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>717</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>718</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">jq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>719</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jq.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>720</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>721</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">jq</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">val</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sVal</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>722</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>723</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>724</span> </span><span class="WHIT">		
+<span class='line'>725</span> 		</span><span class="NAME">jq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>726</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jq.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>727</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>728</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">jq</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">val</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sVal</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>729</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>730</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>731</span> </span><span class="WHIT">		
+<span class='line'>732</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oInstance.fnGetPosition</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>733</span> </span><span class="WHIT">		</span><span class="NAME">this.s.dt.oInstance.fnUpdate</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sVal</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">pos</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bLast</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>734</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>735</span> </span><span class="WHIT">	
+<span class='line'>736</span> 	
+<span class='line'>737</span> 	</span><span class="COMM">/**
+<span class='line'>738</span> 	 * Display the drag handle on mouse over cell
+<span class='line'>739</span> 	 *  @method  _fnFillerDisplay
+<span class='line'>740</span> 	 *  @param   {Object} e Event object
+<span class='line'>741</span> 	 *  @returns void
+<span class='line'>742</span> 	 */</span><span class="WHIT">
+<span class='line'>743</span> </span><span class="WHIT">	</span><span class="NAME">_fnFillerDisplay</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>744</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>745</span> </span><span class="WHIT">		</span><span class="COMM">/* Don't display automatically when dragging */</span><span class="WHIT">
+<span class='line'>746</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.drag.dragging</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>747</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>748</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>749</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>750</span> </span><span class="WHIT">		
+<span class='line'>751</span> 		</span><span class="COMM">/* Check that we are allowed to AutoFill this column or not */</span><span class="WHIT">
+<span class='line'>752</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnTargetCoords</span><span class="PUNC">(</span><span class="NAME">e.target</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">x</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>753</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.columns</span><span class="PUNC">[</span><span class="NAME">iX</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">enable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>754</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>755</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>756</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>757</span> </span><span class="WHIT">		
+<span class='line'>758</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">filler</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.filler</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>759</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.type</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'mouseover'</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>760</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>761</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.currentTarget</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>762</span> </span><span class="WHIT">			</span><span class="NAME">this._fnFillerPosition</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>763</span> </span><span class="WHIT">			
+<span class='line'>764</span> 			</span><span class="NAME">filler.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>765</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>766</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">e.relatedTarget</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">e.relatedTarget.className.match</span><span class="PUNC">(</span><span class="REGX">/AutoFill/</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>767</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>768</span> </span><span class="WHIT">			</span><span class="NAME">filler.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>769</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>770</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>771</span> </span><span class="WHIT">	
+<span class='line'>772</span> 	
+<span class='line'>773</span> 	</span><span class="COMM">/**
+<span class='line'>774</span> 	 * Position the filler icon over a cell
+<span class='line'>775</span> 	 *  @method  _fnFillerPosition
+<span class='line'>776</span> 	 *  @param   {Node} nTd Cell to position filler icon over
+<span class='line'>777</span> 	 *  @returns void
+<span class='line'>778</span> 	 */</span><span class="WHIT">
+<span class='line'>779</span> </span><span class="WHIT">	</span><span class="NAME">_fnFillerPosition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>780</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>781</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">offset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>782</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">filler</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.filler</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>783</span> </span><span class="WHIT">		</span><span class="NAME">filler.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">offset.top</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.s.filler.height</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>784</span> </span><span class="WHIT">		</span><span class="NAME">filler.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">offset.left</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.s.filler.width</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nTd</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>785</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>786</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>787</span> 
+<span class='line'>788</span> 
+<span class='line'>789</span> 
+<span class='line'>790</span> 
+<span class='line'>791</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>792</span>  * Constants
+<span class='line'>793</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>794</span> 
+<span class='line'>795</span> </span><span class="COMM">/**
+<span class='line'>796</span>  * Name of this class
+<span class='line'>797</span>  *  @constant CLASS
+<span class='line'>798</span>  *  @type     String
+<span class='line'>799</span>  *  @default  AutoFill
+<span class='line'>800</span>  */</span><span class="WHIT">
+<span class='line'>801</span> </span><span class="NAME">AutoFill.prototype.CLASS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"AutoFill"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>802</span> 
+<span class='line'>803</span> 
+<span class='line'>804</span> </span><span class="COMM">/**
+<span class='line'>805</span>  * AutoFill version
+<span class='line'>806</span>  *  @constant  VERSION
+<span class='line'>807</span>  *  @type      String
+<span class='line'>808</span>  *  @default   1.1.1
+<span class='line'>809</span>  */</span><span class="WHIT">
+<span class='line'>810</span> </span><span class="NAME">AutoFill.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"1.1.1"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>811</span> </span><span class="NAME">AutoFill.prototype.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"1.1.1"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>812</span> 
+<span class='line'>813</span> 
+<span class='line'>814</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">jQuery</span><span class="PUNC">)</span><span class="PUNC">;</span></pre></body></html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/js/AutoFill.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/js/AutoFill.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/js/AutoFill.js	(revision 6286)
@@ -0,0 +1,814 @@
+/*
+ * File:        AutoFill.js
+ * Version:     1.1.1
+ * CVS:         $Id$
+ * Description: AutoFill for DataTables
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     Mon  6 Sep 2010 16:54:41 BST
+ * Modified:    $Date$ by $Author$
+ * Language:    Javascript
+ * License:     GPL v2 or BSD 3 point
+ * Project:     DataTables
+ * Contact:     www.sprymedia.co.uk/contact
+ * 
+ * Copyright 2010 Allan Jardine, all rights reserved.
+ *
+ */
+
+/* Global scope for AutoFill */
+var AutoFill;
+
+(function($) {
+
+/** 
+ * AutoFill provides Excel like auto fill features for a DataTable
+ * @class AutoFill
+ * @constructor
+ * @param {object} DataTables settings object
+ * @param {object} Configuration object for AutoFill
+ */
+AutoFill = function( oDT, oConfig )
+{
+	/* Santiy check that we are a new instance */
+	if ( !this.CLASS || this.CLASS != "AutoFill" )
+	{
+		alert( "Warning: AutoFill must be initialised with the keyword 'new'" );
+		return;
+	}
+
+	if ( !$.fn.dataTableExt.fnVersionCheck('1.7.0') )
+	{
+		alert( "Warning: AutoFill requires DataTables 1.7 or greater - www.datatables.net/download");
+		return;
+	}
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public class variables
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * @namespace Settings object which contains customisable information for AutoFill instance
+	 */
+	this.s = {
+		/**
+		 * @namespace Cached information about the little dragging icon (the filler)
+		 */
+		"filler": {
+			"height": 0,
+			"width": 0
+		},
+		
+		/**
+		 * @namespace Cached information about the border display
+		 */
+		"border": {
+			"width": 2
+		},
+		
+		/**
+		 * @namespace Store for live information for the current drag
+		 */
+		"drag": {
+			"startX": -1,
+			"startY": -1,
+			"startTd": null,
+			"endTd": null,
+			"dragging": false
+		},
+		
+		/**
+		 * @namespace Data cache for information that we need for scrolling the screen when we near
+		 *   the edges
+		 */
+		"screen": {
+			"interval": null,
+			"y": 0,
+			"height": 0,
+			"scrollTop": 0
+		},
+		
+		/**
+		 * @namespace Data cache for the position of the DataTables scrolling element (when scrolling
+		 *   is enabled)
+		 */
+		"scroller": {
+			"top": 0,
+			"bottom": 0
+		},
+		
+		
+		/**
+		 * @namespace Information stored for each column. An array of objects
+		 */
+		"columns": []
+	};
+	
+	
+	/**
+	 * @namespace Common and useful DOM elements for the class instance
+	 */
+	this.dom = {
+		"table": null,
+		"filler": null,
+		"borderTop": null,
+		"borderRight": null,
+		"borderBottom": null,
+		"borderLeft": null,
+		"currentTarget": null
+	};
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public class methods
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Retreieve the settings object from an instance
+	 *  @method fnSettings
+	 *  @returns {object} AutoFill settings object
+	 */
+	this.fnSettings = function () {
+		return this.s;
+	};
+	
+	
+	/* Constructor logic */
+	this._fnInit( oDT, oConfig );
+	return this;
+};
+
+
+
+AutoFill.prototype = {
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Private methods (they are of course public in JS, but recommended as private)
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Initialisation
+	 *  @method _fnInit
+ 	 *  @param {object} oDT DataTables settings object
+ 	 *  @param {object} oConfig Configuration object for AutoFill
+	 *  @returns void
+	 */
+	"_fnInit": function ( oDT, oConfig )
+	{
+		var
+			that = this,
+			i, iLen;
+		
+		/*
+		 * Settings
+		 */
+		this.s.dt = oDT.fnSettings();
+		
+		this.dom.table = this.s.dt.nTable;
+		
+		/* Add and configure the columns */
+		for ( i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
+		{
+			this._fnAddColumn( i );
+		}
+		
+		if ( typeof oConfig != 'undefined' && typeof oConfig.aoColumnDefs != 'undefined' )
+		{
+			this._fnColumnDefs( oConfig.aoColumnDefs );
+		}
+		
+		if ( typeof oConfig != 'undefined' && typeof oConfig.aoColumns != 'undefined' )
+		{
+			this._fnColumnsAll( oConfig.aoColumns );
+		}
+		
+		
+		/*
+		 * DOM
+		 */
+		
+		/* Auto Fill click and drag icon */
+		var filler = document.createElement('div');
+		filler.className = "AutoFill_filler";
+		document.body.appendChild( filler );
+		this.dom.filler = filler;
+		
+		filler.style.display = "block";
+		this.s.filler.height = $(filler).height();
+		this.s.filler.width = $(filler).width();
+		filler.style.display = "none";
+		
+		/* Border display - one div for each side. We can't just use a single one with a border, as
+		 * we want the events to effectively pass through the transparent bit of the box
+		 */
+		var border;
+		var appender = document.body;
+		if ( that.s.dt.oScroll.sY !== "" )
+		{
+			that.s.dt.nTable.parentNode.style.position = "relative";
+			appender = that.s.dt.nTable.parentNode;
+		}
+		
+		border = document.createElement('div');
+		border.className = "AutoFill_border";
+		appender.appendChild( border );
+		this.dom.borderTop = border;
+		
+		border = document.createElement('div');
+		border.className = "AutoFill_border";
+		appender.appendChild( border );
+		this.dom.borderRight = border;
+		
+		border = document.createElement('div');
+		border.className = "AutoFill_border";
+		appender.appendChild( border );
+		this.dom.borderBottom = border;
+		
+		border = document.createElement('div');
+		border.className = "AutoFill_border";
+		appender.appendChild( border );
+		this.dom.borderLeft = border;
+		
+		/*
+		 * Events
+		 */
+		
+		$(filler).mousedown( function (e) {
+			this.onselectstart = function() { return false; };
+			that._fnFillerDragStart.call( that, e );
+			return false;
+		} );
+		
+		$('tbody>tr>td', this.dom.table).live( 'mouseover mouseout', function (e) {
+			that._fnFillerDisplay.call( that, e );
+		} );
+	},
+	
+	
+	"_fnColumnDefs": function ( aoColumnDefs )
+	{
+		var
+			i, j, k, iLen, jLen, kLen,
+			aTargets;
+		
+		/* Loop over the column defs array - loop in reverse so first instace has priority */
+		for ( i=aoColumnDefs.length-1 ; i>=0 ; i-- )
+		{
+			/* Each column def can target multiple columns, as it is an array */
+			aTargets = aoColumnDefs[i].aTargets;
+			for ( j=0, jLen=aTargets.length ; j<jLen ; j++ )
+			{
+				if ( typeof aTargets[j] == 'number' && aTargets[j] >= 0 )
+				{
+					/* 0+ integer, left to right column counting. */
+					this._fnColumnOptions( aTargets[j], aoColumnDefs[i] );
+				}
+				else if ( typeof aTargets[j] == 'number' && aTargets[j] < 0 )
+				{
+					/* Negative integer, right to left column counting */
+					this._fnColumnOptions( this.s.dt.aoColumns.length+aTargets[j], aoColumnDefs[i] );
+				}
+				else if ( typeof aTargets[j] == 'string' )
+				{
+					/* Class name matching on TH element */
+					for ( k=0, kLen=this.s.dt.aoColumns.length ; k<kLen ; k++ )
+					{
+						if ( aTargets[j] == "_all" ||
+						     this.s.dt.aoColumns[k].nTh.className.indexOf( aTargets[j] ) != -1 )
+						{
+							this._fnColumnOptions( k, aoColumnDefs[i] );
+						}
+					}
+				}
+			}
+		}
+	},
+		
+		
+	"_fnColumnsAll": function ( aoColumns )
+	{
+		for ( var i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
+		{
+			this._fnColumnOptions( i, aoColumns[i] );
+		}
+	},
+	
+	
+	"_fnAddColumn": function ( i )
+	{
+		this.s.columns[i] = {
+			"enable": true,
+			"read": this._fnReadCell,
+			"write": this._fnWriteCell,
+			"step": this._fnStep,
+			"complete": null
+		};
+	},
+	
+	"_fnColumnOptions": function ( i, opts )
+	{
+		if ( typeof opts.bEnable != 'undefined' )
+		{
+			this.s.columns[i].enable = opts.bEnable;
+		}
+		
+		if ( typeof opts.fnRead != 'undefined' )
+		{
+			this.s.columns[i].read = opts.fnRead;
+		}
+		
+		if ( typeof opts.fnWrite != 'undefined' )
+		{
+			this.s.columns[i].write = opts.fnWrite;
+		}
+		
+		if ( typeof opts.fnStep != 'undefined' )
+		{
+			this.s.columns[i].step = opts.fnStep;
+		}
+		
+		if ( typeof opts.fnCallback != 'undefined' )
+		{
+			this.s.columns[i].complete = opts.fnCallback;
+		}
+	},
+	
+	
+	/**
+	 * Find out the coordinates of a given TD cell in a table
+	 *  @method  _fnTargetCoords
+	 *  @param   {Node} nTd
+	 *  @returns {Object} x and y properties, for the position of the cell in the tables DOM
+	 */
+	"_fnTargetCoords": function ( nTd )
+	{
+		var nTr = nTd.parentNode;
+		
+		return {
+			"x": $('td', nTr).index(nTd),
+			"y": $('tr', nTr.parentNode).index(nTr)
+		};
+	},
+	
+	
+	/**
+	 * Display the border around one or more cells (from start to end)
+	 *  @method  _fnUpdateBorder
+	 *  @param   {Node} nStart Starting cell
+	 *  @param   {Node} nEnd Ending cell
+	 *  @returns void
+	 */
+	"_fnUpdateBorder": function ( nStart, nEnd )
+	{
+		var
+			border = this.s.border.width,
+			offsetStart = $(nStart).offset(),
+			offsetEnd = $(nEnd).offset(),
+			x1 = offsetStart.left - border,
+			x2 = offsetEnd.left + $(nEnd).outerWidth(),
+			y1 = offsetStart.top - border,
+			y2 = offsetEnd.top + $(nEnd).outerHeight(),
+			width = offsetEnd.left + $(nEnd).outerWidth() - offsetStart.left + (2*border),
+			height = offsetEnd.top + $(nEnd).outerHeight() - offsetStart.top + (2*border),
+			oStyle;
+		
+		if ( this.s.dt.oScroll.sY !== "" )
+		{
+			/* The border elements are inside the DT scroller - so position relative to that */
+			var
+				offsetScroll = $(this.s.dt.nTable.parentNode).offset(),
+				scrollTop = $(this.s.dt.nTable.parentNode).scrollTop(),
+				scrollLeft = $(this.s.dt.nTable.parentNode).scrollLeft();
+			
+			x1 -= offsetScroll.left - scrollLeft;
+			x2 -= offsetScroll.left - scrollLeft;
+			y1 -= offsetScroll.top - scrollTop;
+			y2 -= offsetScroll.top - scrollTop;
+		}
+		
+		/* Top */
+		oStyle = this.dom.borderTop.style;
+		oStyle.top = y1+"px";
+		oStyle.left = x1+"px";
+		oStyle.height = this.s.border.width+"px";
+		oStyle.width = width+"px";
+		
+		/* Bottom */
+		oStyle = this.dom.borderBottom.style;
+		oStyle.top = y2+"px";
+		oStyle.left = x1+"px";
+		oStyle.height = this.s.border.width+"px";
+		oStyle.width = width+"px";
+		
+		/* Left */
+		oStyle = this.dom.borderLeft.style;
+		oStyle.top = y1+"px";
+		oStyle.left = x1+"px";
+		oStyle.height = height+"px";
+		oStyle.width = this.s.border.width+"px";
+		
+		/* Right */
+		oStyle = this.dom.borderRight.style;
+		oStyle.top = y1+"px";
+		oStyle.left = x2+"px";
+		oStyle.height = height+"px";
+		oStyle.width = this.s.border.width+"px";
+	},
+	
+	
+	/**
+	 * Mouse down event handler for starting a drag
+	 *  @method  _fnFillerDragStart
+	 *  @param   {Object} e Event object
+	 *  @returns void
+	 */
+	"_fnFillerDragStart": function (e)
+	{
+		var that = this;
+		var startingTd = this.dom.currentTarget;
+		
+		this.s.drag.dragging = true;
+		
+		that.dom.borderTop.style.display = "block";
+		that.dom.borderRight.style.display = "block";
+		that.dom.borderBottom.style.display = "block";
+		that.dom.borderLeft.style.display = "block";
+		
+		var coords = this._fnTargetCoords( startingTd );
+		this.s.drag.startX = coords.x;
+		this.s.drag.startY = coords.y;
+		
+		this.s.drag.startTd = startingTd;
+		this.s.drag.endTd = startingTd;
+		
+		this._fnUpdateBorder( startingTd, startingTd );
+		
+		$(document).bind('mousemove.AutoFill', function (e) {
+			that._fnFillerDragMove.call( that, e );
+		} );
+		
+		$(document).bind('mouseup.AutoFill', function (e) {
+			that._fnFillerFinish.call( that, e );
+		} );
+		
+		/* Scrolling information cache */
+		this.s.screen.y = e.pageY;
+		this.s.screen.height = $(window).height();
+		this.s.screen.scrollTop = $(document).scrollTop();
+		
+		if ( this.s.dt.oScroll.sY !== "" )
+		{
+			this.s.scroller.top = $(this.s.dt.nTable.parentNode).offset().top;
+			this.s.scroller.bottom = this.s.scroller.top + $(this.s.dt.nTable.parentNode).height();
+		}
+		
+		/* Scrolling handler - we set an interval (which is cancelled on mouse up) which will fire
+		 * regularly and see if we need to do any scrolling
+		 */
+		this.s.screen.interval = setInterval( function () {
+			var iScrollTop = $(document).scrollTop();
+			var iScrollDelta = iScrollTop - that.s.screen.scrollTop;
+			that.s.screen.y += iScrollDelta;
+			
+			if ( that.s.screen.height - that.s.screen.y + iScrollTop < 50 )
+			{
+				$('html, body').animate( {
+					"scrollTop": iScrollTop + 50
+				}, 240, 'linear' );
+			}
+			else if ( that.s.screen.y - iScrollTop < 50 )
+			{
+				$('html, body').animate( {
+					"scrollTop": iScrollTop - 50
+				}, 240, 'linear' );
+			}
+			
+			if ( that.s.dt.oScroll.sY !== "" )
+			{
+				if ( that.s.screen.y > that.s.scroller.bottom - 50 )
+				{
+					$(that.s.dt.nTable.parentNode).animate( {
+						"scrollTop": $(that.s.dt.nTable.parentNode).scrollTop() + 50
+					}, 240, 'linear' );
+				}
+				else if ( that.s.screen.y < that.s.scroller.top + 50 )
+				{
+					$(that.s.dt.nTable.parentNode).animate( {
+						"scrollTop": $(that.s.dt.nTable.parentNode).scrollTop() - 50
+					}, 240, 'linear' );
+				}
+			}
+		}, 250 );
+	},
+	
+	
+	/**
+	 * Mouse move event handler for during a move. See if we want to update the display based on the
+	 * new cursor position
+	 *  @method  _fnFillerDragMove
+	 *  @param   {Object} e Event object
+	 *  @returns void
+	 */
+	"_fnFillerDragMove": function (e)
+	{
+		if ( e.target && e.target.nodeName.toUpperCase() == "TD" &&
+		 	e.target != this.s.drag.endTd )
+		{
+			var coords = this._fnTargetCoords( e.target );
+			
+			if ( coords.x != this.s.drag.startX )
+			{
+				e.target = $('tbody>tr:eq('+coords.y+')>td:eq('+this.s.drag.startX+')', this.dom.table)[0];
+			 	coords = this._fnTargetCoords( e.target );
+			}
+			
+			if ( coords.x == this.s.drag.startX )
+			{
+				var drag = this.s.drag;
+				drag.endTd = e.target;
+				
+				if ( coords.y >= this.s.drag.startY )
+				{
+					this._fnUpdateBorder( drag.startTd, drag.endTd );
+				}
+				else
+				{
+					this._fnUpdateBorder( drag.endTd, drag.startTd );
+				}
+				this._fnFillerPosition( e.target );
+			}
+		}
+		
+		/* Update the screen information so we can perform scrolling */
+		this.s.screen.y = e.pageY;
+		this.s.screen.scrollTop = $(document).scrollTop();
+		
+		if ( this.s.dt.oScroll.sY !== "" )
+		{
+			this.s.scroller.scrollTop = $(this.s.dt.nTable.parentNode).scrollTop();
+			this.s.scroller.top = $(this.s.dt.nTable.parentNode).offset().top;
+			this.s.scroller.bottom = this.s.scroller.top + $(this.s.dt.nTable.parentNode).height();
+		}
+	},
+	
+	
+	/**
+	 * Mouse release handler - end the drag and take action to update the cells with the needed values
+	 *  @method  _fnFillerFinish
+	 *  @param   {Object} e Event object
+	 *  @returns void
+	 */
+	"_fnFillerFinish": function (e)
+	{
+		var that = this;
+		
+		$(document).unbind('mousemove.AutoFill');
+		$(document).unbind('mouseup.AutoFill');
+		
+		this.dom.borderTop.style.display = "none";
+		this.dom.borderRight.style.display = "none";
+		this.dom.borderBottom.style.display = "none";
+		this.dom.borderLeft.style.display = "none";
+		
+		this.s.drag.dragging = false;
+		
+		clearInterval( this.s.screen.interval );
+		
+		var coordsStart = this._fnTargetCoords( this.s.drag.startTd );
+		var coordsEnd = this._fnTargetCoords( this.s.drag.endTd );
+		var aTds = [];
+		var bIncrement;
+		
+		if ( coordsStart.y <= coordsEnd.y )
+		{
+			bIncrement = true;
+			for ( i=coordsStart.y ; i<=coordsEnd.y ; i++ )
+			{
+				aTds.push( $('tbody>tr:eq('+i+')>td:eq('+coordsStart.x+')', this.dom.table)[0] );
+			}
+		}
+		else
+		{
+			bIncrement = false;
+			for ( i=coordsStart.y ; i>=coordsEnd.y ; i-- )
+			{
+				aTds.push( $('tbody>tr:eq('+i+')>td:eq('+coordsStart.x+')', this.dom.table)[0] );
+			}
+		}
+		
+		
+		var iColumn = coordsStart.x;
+		var bLast = false;
+		var aoEdited = [];
+		var sStart = this.s.columns[iColumn].read.call( this, this.s.drag.startTd );
+		var oPrepped = this._fnPrep( sStart );
+		
+		for ( i=0, iLen=aTds.length ; i<iLen ; i++ )
+		{
+			if ( i==iLen-1 )
+			{
+				bLast = true;
+			}
+			
+			var original = this.s.columns[iColumn].read.call( this, aTds[i] );
+			var step = this.s.columns[iColumn].step.call( this, aTds[i], oPrepped, i, bIncrement, 
+				'SPRYMEDIA_AUTOFILL_STEPPER' );
+			this.s.columns[iColumn].write.call( this, aTds[i], step, bLast );
+			
+			aoEdited.push( {
+				"td": aTds[i],
+				"newValue": step,
+				"oldValue": original
+			} );
+		}
+		
+		if ( this.s.columns[iColumn].complete !== null )
+		{
+			this.s.columns[iColumn].complete.call( this, aoEdited );
+		}
+	},
+	
+	
+	/**
+	 * Chunk a string such that it can be filled in by the stepper function
+	 *  @method  _fnPrep
+	 *  @param   {String} sStr String to prep
+	 *  @returns {Object} with parameters, iStart, sStr and sPostFix
+	 */
+	"_fnPrep": function ( sStr )
+	{
+		var aMatch = sStr.match(/[\d\.]+/g);
+		if ( !aMatch || aMatch.length === 0 )
+		{
+			return {
+				"iStart": 0,
+				"sStr": sStr,
+				"sPostFix": ""
+			};
+		}
+		
+		var sLast = aMatch[ aMatch.length-1 ];
+		var num = parseInt(sLast, 10);
+		var regex = new RegExp( '^(.*)'+sLast+'(.*?)$' );
+		var decimal = sLast.match(/\./) ? "."+sLast.split('.')[1] : "";
+		
+		return {
+			"iStart": num,
+			"sStr": sStr.replace(regex, "$1SPRYMEDIA_AUTOFILL_STEPPER$2"),
+			"sPostFix": decimal
+		};
+	},
+	
+	
+	/**
+	 * Render a string for it's position in the table after the drag (incrememt numbers)
+	 *  @method  _fnStep
+	 *  @param   {Node} nTd Cell being written to
+	 *  @param   {Object} oPrepped Prepared object for the stepper (from _fnPrep)
+	 *  @param   {Int} iDiff Step difference
+	 *  @param   {Boolean} bIncrement Increment (true) or decriment (false)
+	 *  @param   {String} sToken Token to replace
+	 *  @returns {String} Rendered information
+	 */
+	"_fnStep": function ( nTd, oPrepped, iDiff, bIncrement, sToken )
+	{
+		var iReplace = bIncrement ? (oPrepped.iStart+iDiff) : (oPrepped.iStart-iDiff);
+		if ( isNaN(iReplace) )
+		{
+			iReplace = "";
+		}
+		return oPrepped.sStr.replace( sToken, iReplace+oPrepped.sPostFix );
+	},
+	
+	
+	/**
+	 * Read informaiton from a cell, possibly using live DOM elements if suitable
+	 *  @method  _fnReadCell
+	 *  @param   {Node} nTd Cell to read
+	 *  @returns {String} Read value
+	 */
+	"_fnReadCell": function ( nTd )
+	{
+		var jq = $('input', nTd);
+		if ( jq.length > 0 )
+		{
+			return $(jq).val();
+		}
+		
+		jq = $('select', nTd);
+		if ( jq.length > 0 )
+		{
+			return $(jq).val();
+		}
+		
+		return nTd.innerHTML;
+	},
+	
+	
+	/**
+	 * Write informaiton to a cell, possibly using live DOM elements if suitable
+	 *  @method  _fnWriteCell
+	 *  @param   {Node} nTd Cell to write
+	 *  @param   {String} sVal Value to write
+	 *  @param   {Boolean} bLast Flag to show if this is that last update
+	 *  @returns void
+	 */
+	"_fnWriteCell": function ( nTd, sVal, bLast )
+	{
+		var jq = $('input', nTd);
+		if ( jq.length > 0 )
+		{
+			$(jq).val( sVal );
+			return;
+		}
+		
+		jq = $('select', nTd);
+		if ( jq.length > 0 )
+		{
+			$(jq).val( sVal );
+			return;
+		}
+		
+		var pos = this.s.dt.oInstance.fnGetPosition( nTd );
+		this.s.dt.oInstance.fnUpdate( sVal, pos[0], pos[2], bLast );
+	},
+	
+	
+	/**
+	 * Display the drag handle on mouse over cell
+	 *  @method  _fnFillerDisplay
+	 *  @param   {Object} e Event object
+	 *  @returns void
+	 */
+	"_fnFillerDisplay": function (e)
+	{
+		/* Don't display automatically when dragging */
+		if ( this.s.drag.dragging)
+		{
+			return;
+		}
+		
+		/* Check that we are allowed to AutoFill this column or not */
+		var iX = this._fnTargetCoords(e.target).x;
+		if ( !this.s.columns[iX].enable )
+		{
+			return;
+		}
+		
+		var filler = this.dom.filler;
+		if (e.type == 'mouseover')
+		{
+			this.dom.currentTarget = e.target;
+			this._fnFillerPosition( e.target );
+			
+			filler.style.display = "block";
+		}
+		else if ( !e.relatedTarget || !e.relatedTarget.className.match(/AutoFill/) )
+		{
+			filler.style.display = "none";
+		}
+	},
+	
+	
+	/**
+	 * Position the filler icon over a cell
+	 *  @method  _fnFillerPosition
+	 *  @param   {Node} nTd Cell to position filler icon over
+	 *  @returns void
+	 */
+	"_fnFillerPosition": function ( nTd )
+	{
+		var offset = $(nTd).offset();
+		var filler = this.dom.filler;
+		filler.style.top = (offset.top - (this.s.filler.height / 2)-1 + $(nTd).outerHeight())+"px";
+		filler.style.left = (offset.left - (this.s.filler.width / 2)-1 + $(nTd).outerWidth())+"px";
+	}
+};
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Constants
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Name of this class
+ *  @constant CLASS
+ *  @type     String
+ *  @default  AutoFill
+ */
+AutoFill.prototype.CLASS = "AutoFill";
+
+
+/**
+ * AutoFill version
+ *  @constant  VERSION
+ *  @type      String
+ *  @default   1.1.1
+ */
+AutoFill.VERSION = "1.1.1";
+AutoFill.prototype.VERSION = "1.1.1";
+
+
+})(jQuery);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/js/AutoFill.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/js/AutoFill.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/media/js/AutoFill.min.js	(revision 6286)
@@ -0,0 +1,33 @@
+/*
+ * File:        AutoFill.min.js
+ * Version:     1.1.1
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * 
+ * Copyright 2010-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD (3 point) style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+var AutoFill;
+(function(d){AutoFill=function(b,a){if(!this.CLASS||this.CLASS!="AutoFill")alert("Warning: AutoFill must be initialised with the keyword 'new'");else if(d.fn.dataTableExt.fnVersionCheck("1.7.0")){this.s={filler:{height:0,width:0},border:{width:2},drag:{startX:-1,startY:-1,startTd:null,endTd:null,dragging:false},screen:{interval:null,y:0,height:0,scrollTop:0},scroller:{top:0,bottom:0},columns:[]};this.dom={table:null,filler:null,borderTop:null,borderRight:null,borderBottom:null,borderLeft:null,currentTarget:null};
+this.fnSettings=function(){return this.s};this._fnInit(b,a);return this}else alert("Warning: AutoFill requires DataTables 1.7 or greater - www.datatables.net/download")};AutoFill.prototype={_fnInit:function(b,a){var c=this,e;this.s.dt=b.fnSettings();this.dom.table=this.s.dt.nTable;b=0;for(e=this.s.dt.aoColumns.length;b<e;b++)this._fnAddColumn(b);typeof a!="undefined"&&typeof a.aoColumnDefs!="undefined"&&this._fnColumnDefs(a.aoColumnDefs);typeof a!="undefined"&&typeof a.aoColumns!="undefined"&&this._fnColumnsAll(a.aoColumns);
+a=document.createElement("div");a.className="AutoFill_filler";document.body.appendChild(a);this.dom.filler=a;a.style.display="block";this.s.filler.height=d(a).height();this.s.filler.width=d(a).width();a.style.display="none";e=document.body;if(c.s.dt.oScroll.sY!==""){c.s.dt.nTable.parentNode.style.position="relative";e=c.s.dt.nTable.parentNode}b=document.createElement("div");b.className="AutoFill_border";e.appendChild(b);this.dom.borderTop=b;b=document.createElement("div");b.className="AutoFill_border";
+e.appendChild(b);this.dom.borderRight=b;b=document.createElement("div");b.className="AutoFill_border";e.appendChild(b);this.dom.borderBottom=b;b=document.createElement("div");b.className="AutoFill_border";e.appendChild(b);this.dom.borderLeft=b;d(a).mousedown(function(f){this.onselectstart=function(){return false};c._fnFillerDragStart.call(c,f);return false});d("tbody>tr>td",this.dom.table).live("mouseover mouseout",function(f){c._fnFillerDisplay.call(c,f)})},_fnColumnDefs:function(b){var a,c,e,f,
+h,g;for(a=b.length-1;a>=0;a--){g=b[a].aTargets;c=0;for(f=g.length;c<f;c++)if(typeof g[c]=="number"&&g[c]>=0)this._fnColumnOptions(g[c],b[a]);else if(typeof g[c]=="number"&&g[c]<0)this._fnColumnOptions(this.s.dt.aoColumns.length+g[c],b[a]);else if(typeof g[c]=="string"){e=0;for(h=this.s.dt.aoColumns.length;e<h;e++)if(g[c]=="_all"||this.s.dt.aoColumns[e].nTh.className.indexOf(g[c])!=-1)this._fnColumnOptions(e,b[a])}}},_fnColumnsAll:function(b){for(var a=0,c=this.s.dt.aoColumns.length;a<c;a++)this._fnColumnOptions(a,
+b[a])},_fnAddColumn:function(b){this.s.columns[b]={enable:true,read:this._fnReadCell,write:this._fnWriteCell,step:this._fnStep,complete:null}},_fnColumnOptions:function(b,a){if(typeof a.bEnable!="undefined")this.s.columns[b].enable=a.bEnable;if(typeof a.fnRead!="undefined")this.s.columns[b].read=a.fnRead;if(typeof a.fnWrite!="undefined")this.s.columns[b].write=a.fnWrite;if(typeof a.fnStep!="undefined")this.s.columns[b].step=a.fnStep;if(typeof a.fnCallback!="undefined")this.s.columns[b].complete=a.fnCallback},
+_fnTargetCoords:function(b){var a=b.parentNode;return{x:d("td",a).index(b),y:d("tr",a.parentNode).index(a)}},_fnUpdateBorder:function(b,a){var c=this.s.border.width,e=d(b).offset(),f=d(a).offset();b=e.left-c;var h=f.left+d(a).outerWidth(),g=e.top-c,j=f.top+d(a).outerHeight(),k=f.left+d(a).outerWidth()-e.left+2*c;a=f.top+d(a).outerHeight()-e.top+2*c;if(this.s.dt.oScroll.sY!==""){c=d(this.s.dt.nTable.parentNode).offset();e=d(this.s.dt.nTable.parentNode).scrollTop();f=d(this.s.dt.nTable.parentNode).scrollLeft();
+b-=c.left-f;h-=c.left-f;g-=c.top-e;j-=c.top-e}c=this.dom.borderTop.style;c.top=g+"px";c.left=b+"px";c.height=this.s.border.width+"px";c.width=k+"px";c=this.dom.borderBottom.style;c.top=j+"px";c.left=b+"px";c.height=this.s.border.width+"px";c.width=k+"px";c=this.dom.borderLeft.style;c.top=g+"px";c.left=b+"px";c.height=a+"px";c.width=this.s.border.width+"px";c=this.dom.borderRight.style;c.top=g+"px";c.left=h+"px";c.height=a+"px";c.width=this.s.border.width+"px"},_fnFillerDragStart:function(b){var a=
+this,c=this.dom.currentTarget;this.s.drag.dragging=true;a.dom.borderTop.style.display="block";a.dom.borderRight.style.display="block";a.dom.borderBottom.style.display="block";a.dom.borderLeft.style.display="block";var e=this._fnTargetCoords(c);this.s.drag.startX=e.x;this.s.drag.startY=e.y;this.s.drag.startTd=c;this.s.drag.endTd=c;this._fnUpdateBorder(c,c);d(document).bind("mousemove.AutoFill",function(f){a._fnFillerDragMove.call(a,f)});d(document).bind("mouseup.AutoFill",function(f){a._fnFillerFinish.call(a,
+f)});this.s.screen.y=b.pageY;this.s.screen.height=d(window).height();this.s.screen.scrollTop=d(document).scrollTop();if(this.s.dt.oScroll.sY!==""){this.s.scroller.top=d(this.s.dt.nTable.parentNode).offset().top;this.s.scroller.bottom=this.s.scroller.top+d(this.s.dt.nTable.parentNode).height()}this.s.screen.interval=setInterval(function(){var f=d(document).scrollTop();a.s.screen.y+=f-a.s.screen.scrollTop;if(a.s.screen.height-a.s.screen.y+f<50)d("html, body").animate({scrollTop:f+50},240,"linear");
+else a.s.screen.y-f<50&&d("html, body").animate({scrollTop:f-50},240,"linear");if(a.s.dt.oScroll.sY!=="")if(a.s.screen.y>a.s.scroller.bottom-50)d(a.s.dt.nTable.parentNode).animate({scrollTop:d(a.s.dt.nTable.parentNode).scrollTop()+50},240,"linear");else a.s.screen.y<a.s.scroller.top+50&&d(a.s.dt.nTable.parentNode).animate({scrollTop:d(a.s.dt.nTable.parentNode).scrollTop()-50},240,"linear")},250)},_fnFillerDragMove:function(b){if(b.target&&b.target.nodeName.toUpperCase()=="TD"&&b.target!=this.s.drag.endTd){var a=
+this._fnTargetCoords(b.target);if(a.x!=this.s.drag.startX){b.target=d("tbody>tr:eq("+a.y+")>td:eq("+this.s.drag.startX+")",this.dom.table)[0];a=this._fnTargetCoords(b.target)}if(a.x==this.s.drag.startX){var c=this.s.drag;c.endTd=b.target;a.y>=this.s.drag.startY?this._fnUpdateBorder(c.startTd,c.endTd):this._fnUpdateBorder(c.endTd,c.startTd);this._fnFillerPosition(b.target)}}this.s.screen.y=b.pageY;this.s.screen.scrollTop=d(document).scrollTop();if(this.s.dt.oScroll.sY!==""){this.s.scroller.scrollTop=
+d(this.s.dt.nTable.parentNode).scrollTop();this.s.scroller.top=d(this.s.dt.nTable.parentNode).offset().top;this.s.scroller.bottom=this.s.scroller.top+d(this.s.dt.nTable.parentNode).height()}},_fnFillerFinish:function(){d(document).unbind("mousemove.AutoFill");d(document).unbind("mouseup.AutoFill");this.dom.borderTop.style.display="none";this.dom.borderRight.style.display="none";this.dom.borderBottom.style.display="none";this.dom.borderLeft.style.display="none";this.s.drag.dragging=false;clearInterval(this.s.screen.interval);
+var b=this._fnTargetCoords(this.s.drag.startTd),a=this._fnTargetCoords(this.s.drag.endTd),c=[],e;if(b.y<=a.y){e=true;for(i=b.y;i<=a.y;i++)c.push(d("tbody>tr:eq("+i+")>td:eq("+b.x+")",this.dom.table)[0])}else{e=false;for(i=b.y;i>=a.y;i--)c.push(d("tbody>tr:eq("+i+")>td:eq("+b.x+")",this.dom.table)[0])}b=b.x;a=false;var f=[],h=this._fnPrep(this.s.columns[b].read.call(this,this.s.drag.startTd));i=0;for(iLen=c.length;i<iLen;i++){if(i==iLen-1)a=true;var g=this.s.columns[b].read.call(this,c[i]),j=this.s.columns[b].step.call(this,
+c[i],h,i,e,"SPRYMEDIA_AUTOFILL_STEPPER");this.s.columns[b].write.call(this,c[i],j,a);f.push({td:c[i],newValue:j,oldValue:g})}this.s.columns[b].complete!==null&&this.s.columns[b].complete.call(this,f)},_fnPrep:function(b){var a=b.match(/[\d\.]+/g);if(!a||a.length===0)return{iStart:0,sStr:b,sPostFix:""};var c=a[a.length-1];a=parseInt(c,10);var e=new RegExp("^(.*)"+c+"(.*?)$");c=c.match(/\./)?"."+c.split(".")[1]:"";return{iStart:a,sStr:b.replace(e,"$1SPRYMEDIA_AUTOFILL_STEPPER$2"),sPostFix:c}},_fnStep:function(b,
+a,c,e,f){b=e?a.iStart+c:a.iStart-c;if(isNaN(b))b="";return a.sStr.replace(f,b+a.sPostFix)},_fnReadCell:function(b){var a=d("input",b);if(a.length>0)return d(a).val();a=d("select",b);if(a.length>0)return d(a).val();return b.innerHTML},_fnWriteCell:function(b,a,c){var e=d("input",b);if(e.length>0)d(e).val(a);else{e=d("select",b);if(e.length>0)d(e).val(a);else{b=this.s.dt.oInstance.fnGetPosition(b);this.s.dt.oInstance.fnUpdate(a,b[0],b[2],c)}}},_fnFillerDisplay:function(b){if(!this.s.drag.dragging)if(this.s.columns[this._fnTargetCoords(b.target).x].enable){var a=
+this.dom.filler;if(b.type=="mouseover"){this.dom.currentTarget=b.target;this._fnFillerPosition(b.target);a.style.display="block"}else if(!b.relatedTarget||!b.relatedTarget.className.match(/AutoFill/))a.style.display="none"}},_fnFillerPosition:function(b){var a=d(b).offset(),c=this.dom.filler;c.style.top=a.top-this.s.filler.height/2-1+d(b).outerHeight()+"px";c.style.left=a.left-this.s.filler.width/2-1+d(b).outerWidth()+"px"}};AutoFill.prototype.CLASS="AutoFill";AutoFill.VERSION="1.1.1";AutoFill.prototype.VERSION=
+"1.1.1"})(jQuery);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/scrolling.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/scrolling.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/AutoFill/scrolling.html	(revision 6286)
@@ -0,0 +1,496 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>AutoFill example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/AutoFill.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/AutoFill.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable({
+					"sScrollY": 200,
+					"bScrollCollapse": true,
+					"bPaginate": false
+				});
+				new AutoFill( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				AutoFill example with scrolling
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>
+				When dragging an AutoFill handle, the table (if DataTables scrolling is enabled) or the window will be automatically scrolled, as you approach the edge of the scrolling component. The example below shows the effect with DataTables scrolling (and also window if needed).
+			</p>
+			
+			
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="columns.html">Selecting which columns to provide AutoFill on</a></li>
+				<li><a href="scrolling.html">Scrolling a DataTable using fill</a></li>
+				<li><a href="inputs.html">Using with input elements</a></li>
+				<li><a href="callbacks.html">Customisation using callback functions</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable({
+		"sScrollY": 200,
+		"bScrollCollapse": true,
+		"bPaginate": false
+	});
+	new AutoFill( oTable );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					AutoFill and DataTables &copy; Allan Jardine 2009-2010.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/alt_insert.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/alt_insert.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/alt_insert.html	(revision 6286)
@@ -0,0 +1,495 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example" class="alt">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with alternative insert styling
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Using CSS it is relatively easy to modify the insert bar to suit your web-site. This
+				example shows how an arrow can be used to show the insert point rather than the straight
+				bar used in the other examples.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip'
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/col_filter.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/col_filter.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/col_filter.html	(revision 6286)
@@ -0,0 +1,586 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+			@import "../ColVis/media/css/ColVis.css";
+			thead input { width: 100% }
+			input.search_init { color: #999 }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../ColVis/media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable;
+				
+				/* Add the events etc before DataTables hides a column */
+				$("thead input").keyup( function () {
+					/* Filter on the column (the index) of this element */
+					oTable.fnFilter( this.value, oTable.oApi._fnVisibleToColumnIndex( 
+						oTable.fnSettings(), $("thead input").index(this) ) );
+				} );
+				
+				/*
+				 * Support functions to provide a little bit of 'user friendlyness' to the textboxes
+				 */
+				$("thead input").each( function (i) {
+					this.initVal = this.value;
+				} );
+				
+				$("thead input").focus( function () {
+					if ( this.className == "search_init" )
+					{
+						this.className = "";
+						this.value = "";
+					}
+				} );
+				
+				$("thead input").blur( function (i) {
+					if ( this.value == "" )
+					{
+						this.className = "search_init";
+						this.value = this.initVal;
+					}
+				} );
+				
+				oTable = $('#example').dataTable( {
+					"sDom": 'RC<"clear">lfrtip',
+					"aoColumnDefs": [
+						{ "bVisible": false, "aTargets": [ 2 ] }
+					],
+					"oLanguage": {
+						"sSearch": "Search all columns:"
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with individual column filtering
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example of how to use ColReorder shows quite a number of different interesting 
+				properties. Firstly, there is integration with ColVis, then there is the fact that there
+				is more than one row in the table header with the second being used for the input
+				elements, and finally of course the filtering itself. Note that it is important to use
+				the _fnVisibleToColumnIndex() internal function to calculate which column index should
+				be given to fnFilter (or you could employ your own methods).</p>
+			<p>Please note that this demo requires DataTables 1.7.5 or later.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+		<tr>
+			<td><input type="text" name="search_engine" value="Search engines" class="search_init" /></td>
+			<td><input type="text" name="search_browser" value="Search browsers" class="search_init" /></td>
+			<td><input type="text" name="search_platform" value="Search platforms" class="search_init" /></td>
+			<td><input type="text" name="search_version" value="Search versions" class="search_init" /></td>
+			<td><input type="text" name="search_grade" value="Search grades" class="search_init" /></td>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	var oTable;
+	
+	/* Add the events etc before DataTables hides a column */
+	$("thead input").keyup( function () {
+		/* Filter on the column (the index) of this element */
+		oTable.fnFilter( this.value, oTable.oApi._fnVisibleToColumnIndex( 
+			oTable.fnSettings(), $("thead input").index(this) ) );
+	} );
+	
+	/*
+	 * Support functions to provide a little bit of 'user friendlyness' to the textboxes
+	 */
+	$("thead input").each( function (i) {
+		this.initVal = this.value;
+	} );
+	
+	$("thead input").focus( function () {
+		if ( this.className == "search_init" )
+		{
+			this.className = "";
+			this.value = "";
+		}
+	} );
+	
+	$("thead input").blur( function (i) {
+		if ( this.value == "" )
+		{
+			this.className = "search_init";
+			this.value = this.initVal;
+		}
+	} );
+	
+	oTable = $('#example').dataTable( {
+		"sDom": 'RC&lt;"clear"&gt;lfrtip',
+		"aoColumnDefs": [
+			{ "bVisible": false, "aTargets": [ 2 ] }
+		],
+		"oLanguage": {
+			"sSearch": "Search all columns:"
+		}
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/colvis.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/colvis.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/colvis.html	(revision 6286)
@@ -0,0 +1,503 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+			@import "../ColVis/media/css/ColVis.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../ColVis/media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'RC<"clear">lfrtip',
+					"aoColumnDefs": [
+						{ "bVisible": false, "aTargets": [ 1 ] }
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with ColVis
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The ColReorder plug-in interacts with the ColVis plug-in for DataTables by updating the
+				order of the list of columns whenever a reorder is done. This is shown in the example
+				below, where one column has been hidden by default to add extra emphasis to ColVis.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'RC&lt;"clear"&gt;lfrtip',
+		"aoColumnDefs": [
+			{ "bVisible": false, "aTargets": [ 1 ] }
+		]
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/fixedcolumns.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/fixedcolumns.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/fixedcolumns.html	(revision 6286)
@@ -0,0 +1,603 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+			.FixedColumns_Cloned th { background-color: white; }
+			td.index { background-color: white; border-right: 1px solid black; }
+			table.display th.sorting_disabled { border-bottom: 1px solid white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../FixedColumns/media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip',
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true,
+					"fnDrawCallback": function ( oSettings ) {
+						/* Need to redo the counters if filtered or sorted */
+						if ( oSettings.bSorted || oSettings.bFiltered ) {
+							for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ ) {
+								$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+							}
+						}
+					},
+					"aoColumnDefs": [
+						{ "bSortable": false, "sClass": "index", "aTargets": [ 0 ] }
+					],
+					"aaSorting": [[ 1, 'asc' ]],
+					"oColReorder": {
+						"iFixedColumns": 1
+					}
+				} );
+				new FixedColumns( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with FixedColumns
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>While ColReorder works great with scrolling in DataTables (and thus FixedColumns), 
+				it also presents an additional option called 'iFixedColumns' which allows you to not
+				let the user reorder certain columns (specific the number given, counting left to
+				right). So in the case of FixedColumns this is useful because you typically won't want
+				to let your fixed column be reordered. This is shown below in the FixedColumns index column
+				example.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="3%">&nbsp;</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td class="center">1</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">2</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">3</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">4</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">5</td>
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">6</td>
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">7</td>
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">8</td>
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">9</td>
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">10</td>
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">11</td>
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">12</td>
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">13</td>
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">14</td>
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">15</td>
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">16</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">17</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">18</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">19</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">20</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">21</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">22</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">23</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">24</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">25</td>
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">26</td>
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">27</td>
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">28</td>
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">29</td>
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">30</td>
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">31</td>
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">32</td>
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">33</td>
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">34</td>
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">35</td>
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">36</td>
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">37</td>
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">38</td>
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">39</td>
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">40</td>
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">41</td>
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">42</td>
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">43</td>
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">44</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">45</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">46</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">47</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">48</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">49</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">50</td>
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">51</td>
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">52</td>
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">53</td>
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">54</td>
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">55</td>
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">56</td>
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td class="center">57</td>
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>&nbsp;</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip',
+		"sScrollX": "100%",
+		"sScrollXInner": "150%",
+		"bScrollCollapse": true,
+		"fnDrawCallback": function ( oSettings ) {
+			/* Need to redo the counters if filtered or sorted */
+			if ( oSettings.bSorted || oSettings.bFiltered ) {
+				for ( var i=0, iLen=oSettings.aiDisplay.length ; i&lt;iLen ; i++ ) {
+					$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bSortable": false, "sClass": "index", "aTargets": [ 0 ] }
+		],
+		"aaSorting": [[ 1, 'asc' ]],
+		"oColReorder": {
+			"iFixedColumns": 1
+		}
+	} );
+	new FixedColumns( oTable );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/fixedheader.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/fixedheader.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/fixedheader.html	(revision 6286)
@@ -0,0 +1,499 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+			.FixedHeader_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../FixedHeader/js/FixedHeader.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					 "sDom": 'RC<"clear">lfrtip'
+				} );
+				new FixedHeader( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with FixedHeader
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>FixedHeader is a particularly useful plug-in for DataTables, allowing a table header
+				to float at the top of a scrolling window. ColReorder works well with FixedHeader, allowing
+				you to reorder columns even using the floating header, as shown in the example below.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		 "sDom": 'RC&lt;"clear"&gt;lfrtip'
+	} );
+	new FixedHeader( oTable );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/index.html	(revision 6286)
@@ -0,0 +1,496 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows the basic use case of the ColReorder plug-in. With ColReorder enabled
+				for a table, the user has the ability to click and drag any table header cell, and drop 
+				it where they wish the column to be inserted. The insert point is shown visually, and
+				the column reordering is done as soon as the mouse button is released.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip'
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/css/ColReorder.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/css/ColReorder.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/css/ColReorder.css	(revision 6286)
@@ -0,0 +1,21 @@
+/*
+ * Namespace DTCR - "DataTables ColReorder" plug-in
+ */
+
+table.DTCR_clonedTable {
+	background-color: white;
+	z-index: 202;
+}
+
+div.DTCR_pointer {
+	width: 1px;
+	background-color: #0259C4;
+	z-index: 201;
+}
+
+body.alt div.DTCR_pointer {
+	margin-top: -15px;
+	margin-left: -9px;
+	width: 18px;
+	background: url('../images/insert.png') no-repeat top left;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/css/default.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/css/default.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/css/default.css	(revision 6286)
@@ -0,0 +1,418 @@
+/*
+ * TABLE OF CONTENTS:
+ * - Browser reset
+ * - HTML elements
+ * - JsDoc styling
+ */
+
+
+
+
+
+
+/*
+ * BEGIN BROWSER RESET
+ */
+
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,pre,form,fieldset,input,textarea,p,blockquote,th,td {
+	margin:0;
+	padding:0
+}
+html {
+	height:100%;
+	overflow:-moz-scrollbars-vertical;
+	overflow-x:auto
+}
+table {
+	border:0;
+	border-collapse:collapse;
+	border-spacing:0
+}
+fieldset,img {
+	border:0
+}
+address,caption,cite,code,dfn,em,strong,th,var {
+	font-style:normal;
+	font-weight:normal
+}
+em,cite {
+	font-style:italic
+}
+strong {
+	font-weight:bold
+}
+ol,ul {
+	list-style:none
+}
+caption,th {
+	text-align:left
+}
+h1,h2,h3,h4,h5,h6 {
+	font-size:100%;
+	font-weight:normal;
+	margin:0;
+	padding:0
+}
+q:before,q:after {
+	content:''
+}
+abbr,acronym {
+	border:0
+}
+
+/*
+ * END BROWSER RESET
+ */
+
+
+
+
+
+
+/*
+ * HTML ELEMENTS
+ */
+
+* {
+	line-height: 1.4em;
+}
+
+html {
+	font-size: 100%;
+}
+
+body {
+	font-size: 0.75em !important;
+	padding: 15px 0;
+	background: #eee;
+	background-image: -moz-linear-gradient(left, #dddddd, #f9f9f9);
+	background-image: -webkit-gradient(linear,left bottom,right bottom,color-stop(0, #dddddd),color-stop(1, #f9f9f9));
+  }
+
+body,
+input,
+select,
+textarea {
+	color: #000;
+	font-family: Arial, Geneva, sans-serif;
+}
+
+a:link,
+a:hover,
+a:active,
+a:visited {
+	color: #19199e;
+}
+a:hover,
+a:focus {
+	color: #00f;
+	text-decoration: none;
+}
+
+p {
+	margin: 0 0 1.5em 0;
+}
+
+/*
+ * END HTML ELEMENTS
+ */
+
+
+ 
+/*
+ * BEGIN HACK
+ */
+
+div.containerMain:after,
+div.safeBox:after {
+	content:"";
+	display:block;
+	height:0;
+	clear:both;
+}
+
+/*
+ * END HACK
+ */
+
+
+
+/*
+ * BEGIN JSDOC
+ */
+
+div.index *.heading1 {
+	margin-bottom: 0.5em;
+	border-bottom: 1px solid #999999;
+	padding: 0.5em 0 0.1em 0;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.3em;
+	letter-spacing: 1px;
+}
+ 
+div.index {
+	float: left;
+	width: 30%;
+	min-width: 100px;
+	max-width: 250px;
+}
+div.index div.menu {
+	margin: 0 15px 0 -15px;
+	-moz-border-radius: 15px;
+	-webkit-border-radius: 15px;
+	border-radius: 15px;
+  	padding: 15px 15px 15px 30px;
+	background-color: #FFFFFF;
+	background-color: rgba(255, 255, 255, 0.5);
+	-moz-box-shadow: 0px 0px 10px #c4c4c4;
+	-webkit-box-shadow: 0px 0px 10px #c4c4c4;
+	box-shadow: 0px 0px 10px #c4c4c4;
+}
+*+html div.index div.menu {
+	background-color: #FFFFFF;
+}
+* html div.index div.menu {
+	background-color: #FFFFFF;
+}
+
+div.index div.menu div {
+	text-align: left;
+}
+
+div.index div.menu a {
+	text-decoration: none;
+}
+div.index div.menu a:hover {
+	text-decoration: underline;
+}
+
+div.index ul.classList a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.index div.fineprint {
+  	padding: 15px 30px 15px 15px;
+	color: #777;
+	font-size: 0.9em;
+}
+div.index div.fineprint a {
+	color: #777;
+}
+
+
+
+div.content {
+	float: left;
+	width: 70%;
+	min-width: 300px;
+	max-width: 600px;
+}
+div.innerContent {
+	padding: 0 0 0 2.5em;
+}
+
+div.content ul,
+div.content ol {
+	margin-bottom: 3em;
+}
+
+div.content *.classTitle {
+	margin-bottom: 0.5em;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 2.5em;
+	letter-spacing: 2px;
+}
+
+div.content *.classTitle span {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.content p.summary {
+	font-size: 1.2em;
+}
+
+div.content ul *.classname a,
+div.content ul *.filename a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+	text-decoration: none;
+	font-weight: bold;
+}
+div.content ul *.classname a:hover,
+div.content ul *.filename a:hover {
+	text-decoration: underline;
+}
+
+div.content div.props {
+	position: relative;
+	left: -10px;
+	margin-bottom: 2.5em;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	padding: 10px 15px 15px 15px;
+	overflow: hidden;
+	background: #fff;
+	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2)); /* FF3.6 */
+	background: -webkit-gradient(linear,left top,left bottom,color-stop(0, rgba(255, 255, 255, 0.7)),color-stop(1, rgba(255, 255, 255, 0.2)));
+	-moz-box-shadow: 0px 0px 10px #ccc;
+	-webkit-box-shadow: 0px 0px 5px #bbb;
+	box-shadow: 0px 0px 5px #bbb;
+}
+
+div.content div.props div.sectionTitle {
+	padding-bottom: 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+div.content div.hr {
+	margin: 0 10px 0 0;
+	height: 4em;
+}
+
+
+
+table.summaryTable {
+	position: relative;
+	left: -10px;
+	width: 100%;
+	border-collapse: collapse;
+	box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	-webkit-box-sizing: content-box;
+	-ms-box-sizing: content-box;
+	-o-box-sizing: content-box;
+	-icab-box-sizing: content-box;
+	-khtml-box-sizing: content-box; 
+}
+
+table.summaryTable caption {
+	padding: 0 10px 10px 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+table.summaryTable td,
+table.summaryTable th {
+	padding: 0px 10px 10px 10px;
+	vertical-align: top;
+}
+table.summaryTable tr:last-child td {
+	padding-bottom: 0;
+}
+
+table.summaryTable th {
+	font-weight: bold;
+}
+
+table.summaryTable td.attributes {
+	width: 35%;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	color: #666;
+}
+
+table.summaryTable td.nameDescription {
+	width: 65%
+}
+
+table.summaryTable td.nameDescription div.fixedFont {
+	font-weight: bold;
+}
+
+table.summaryTable div.description {
+	color: #333;
+}
+
+
+
+dl.detailList {
+	margin-top: 0.5em;
+}
+
+dl.detailList.nomargin + dl.detailList.nomargin {
+	margin-top: 0;
+}
+
+dl.detailList dt {
+	display: inline;
+	margin-right: 5px;
+	font-weight: bold;
+}
+
+dl.detailList dt:before {
+	display: block;
+	content: "";
+}
+
+dl.detailList dd {
+	display: inline;
+}
+
+dl.detailList.params dt {
+	display: block;
+}
+dl.detailList.params dd {
+	display: block;
+	padding-left: 2em;
+	padding-bottom: 0.4em;
+}
+
+
+
+
+ul.fileList li {
+	margin-bottom: 1.5em;
+}
+
+
+
+.fixedFont {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+.fixedFont.heading {
+	margin-bottom: 0.5em;
+	font-size: 1.25em;
+	line-height: 1.1em
+}
+
+.fixedFont.heading + .description {
+	font-size: 1.2em;
+}
+
+.fixedFont.heading .light,
+.fixedFont.heading .lighter {
+	font-weight: bold;
+}
+
+pre.code {
+	margin: 10px 0 10px 0;
+	padding: 10px;
+	border: 1px solid #ccc;
+	-moz-border-radius: 2px;
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	overflow: auto;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	background: #eee;
+}
+
+.light {
+	color: #666;
+}
+
+.lighter {
+	color: #999;
+}
+
+.clear {
+	clear: both;
+	width: 100%;
+	min-height: 0;
+}
+
+/*
+ * END JSDOC
+ */
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/files.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/files.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/files.html	(revision 6286)
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		
+		<title>JsDoc Reference - File Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/ColReorder.html">ColReorder</a></li>
+	
+		<li><a href="symbols/ColReorder%23dom.html">ColReorder#dom</a></li>
+	
+		<li><a href="symbols/ColReorder%23s.html">ColReorder#s</a></li>
+	
+		<li><a href="symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:11:21 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">File Index</h1>
+				
+				<ul class="fileList">
+					
+						<li>
+							<h2 class="filename"><a href="symbols/src/js_ColReorder.js.html">js/ColReorder.js</a></h2>
+							
+							
+							
+							<dl class="detailList">
+								
+								
+								
+								
+								
+								
+							</dl>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/index.html	(revision 6286)
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<title>JsDoc Reference - Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/ColReorder.html">ColReorder</a></li>
+	
+		<li><a href="symbols/ColReorder%23dom.html">ColReorder#dom</a></li>
+	
+		<li><a href="symbols/ColReorder%23s.html">ColReorder#s</a></li>
+	
+		<li><a href="symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:11:21 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">Class Index</h1>
+				
+				<ul>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/_global_.html">_global_</a></h2>
+							<p></p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColReorder.html">ColReorder</a></h2>
+							<p>ColReorder</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColReorder%23dom.html">ColReorder#dom</a></h2>
+							<p>Common and useful DOM elements for the class instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColReorder%23s.html">ColReorder#s</a></h2>
+							<p>Settings object which contains customisable information for ColReorder instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></h2>
+							<p>Information used for the mouse drag</p>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#dom.html	(revision 6286)
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColReorder#dom</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColReorder.html">ColReorder</a></li>
+	
+		<li><a href="../symbols/ColReorder%23dom.html">ColReorder#dom</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.html">ColReorder#s</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:11:21 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>ColReorder#dom</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Common and useful DOM elements for the class instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColReorder.js.html">ColReorder.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColReorder#dom.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColReorder%23dom.html#constructor">ColReorder#dom</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColReorder#dom.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder#dom.<b><a href="../symbols/ColReorder%23dom.html#.drag">drag</a></b>
+												</div>
+												<div class="description">Dragging element (the one the mouse is moving)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder#dom.<b><a href="../symbols/ColReorder%23dom.html#.pointer">pointer</a></b>
+												</div>
+												<div class="description">The insert cursor</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColReorder#dom</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".drag"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{element}</span>
+									
+									<span class="light">ColReorder#dom.</span><b>drag</b>							
+								</div>
+								
+								<div class="description">
+									Dragging element (the one the mouse is moving)
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".pointer"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{element}</span>
+									
+									<span class="light">ColReorder#dom.</span><b>pointer</b>							
+								</div>
+								
+								<div class="description">
+									The insert cursor
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#s.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#s.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#s.html	(revision 6286)
@@ -0,0 +1,365 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColReorder#s</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColReorder.html">ColReorder</a></li>
+	
+		<li><a href="../symbols/ColReorder%23dom.html">ColReorder#dom</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.html">ColReorder#s</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:11:21 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>ColReorder#s</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Settings object which contains customisable information for ColReorder instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColReorder.js.html">ColReorder.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColReorder#s.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColReorder%23s.html#constructor">ColReorder#s</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColReorder#s.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder#s.<b><a href="../symbols/ColReorder%23s.html#.aoTargets">aoTargets</a></b>
+												</div>
+												<div class="description">Information which is used for positioning the insert cusor and knowing where to do the
+insert.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder#s.<b><a href="../symbols/ColReorder%23s.html#.dt">dt</a></b>
+												</div>
+												<div class="description">DataTables settings object</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder#s.<b><a href="../symbols/ColReorder%23s.html#.fixed">fixed</a></b>
+												</div>
+												<div class="description">Number of columns to fix (not allow to be reordered)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder#s.<b><a href="../symbols/ColReorder%23s.html#.init">init</a></b>
+												</div>
+												<div class="description">Initialisation object used for this instance</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColReorder#s</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".aoTargets"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{array}</span>
+									
+									<span class="light">ColReorder#s.</span><b>aoTargets</b>							
+								</div>
+								
+								<div class="description">
+									Information which is used for positioning the insert cusor and knowing where to do the
+insert. Array of objects with the properties:
+  x: x-axis position
+  to: insert point
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".dt"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<span class="light">ColReorder#s.</span><b>dt</b>							
+								</div>
+								
+								<div class="description">
+									DataTables settings object
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".fixed"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<span class="light">ColReorder#s.</span><b>fixed</b>							
+								</div>
+								
+								<div class="description">
+									Number of columns to fix (not allow to be reordered)
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												0
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".init"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{object}</span>
+									
+									<span class="light">ColReorder#s.</span><b>init</b>							
+								</div>
+								
+								<div class="description">
+									Initialisation object used for this instance
+									
+									
+									
+								</div>
+								
+								
+
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#s.mouse.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#s.mouse.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder#s.mouse.html	(revision 6286)
@@ -0,0 +1,149 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColReorder#s.mouse</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColReorder.html">ColReorder</a></li>
+	
+		<li><a href="../symbols/ColReorder%23dom.html">ColReorder#dom</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.html">ColReorder#s</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:11:21 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>ColReorder#s.mouse</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Information used for the mouse drag
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColReorder.js.html">ColReorder.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColReorder#s.mouse.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColReorder%23s.mouse.html#constructor">ColReorder#s.mouse</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColReorder#s.mouse</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/ColReorder.html	(revision 6286)
@@ -0,0 +1,1030 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColReorder</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColReorder.html">ColReorder</a></li>
+	
+		<li><a href="../symbols/ColReorder%23dom.html">ColReorder#dom</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.html">ColReorder#s</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:11:21 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Class <span>ColReorder</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					ColReorder
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColReorder.js.html">ColReorder.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColReorder.">
+							<caption>Class Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColReorder.html#constructor">ColReorder</a></b>(DataTables, ColReorder)
+										</div>
+										<div class="description">ColReorder provides column visiblity control for DataTables</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColReorder.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder.<b><a href="../symbols/ColReorder.html#.aoInstances">aoInstances</a></b>
+												</div>
+												<div class="description">Array of all ColReorder instances for later reference</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												<b><a href="../symbols/ColReorder.html#CLASS">CLASS</a></b>
+												</div>
+												<div class="description">Name of this class</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColReorder.<b><a href="../symbols/ColReorder.html#.VERSION">VERSION</a></b>
+												</div>
+												<div class="description">ColReorder version</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class ColReorder.">
+								<caption>Method Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Method Attributes</th>
+										<th scope="col">Method Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnConstruct">_fnConstruct</a></b>()
+												</div>
+												<div class="description">Constructor logic</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnCreateDragNode">_fnCreateDragNode</a></b>()
+												</div>
+												<div class="description">Copy the TH element that is being drags so the user has the idea that they are actually 
+moving it around the page.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnMouseDown">_fnMouseDown</a></b>(event, element)
+												</div>
+												<div class="description">Mouse down on a TH element in the table header</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnMouseListener">_fnMouseListener</a></b>(int, element)
+												</div>
+												<div class="description">Add a mouse down listener to a particluar TH element</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnMouseMove">_fnMouseMove</a></b>(event)
+												</div>
+												<div class="description">Deal with a mouse move event while dragging a node</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnMouseUp">_fnMouseUp</a></b>(event)
+												</div>
+												<div class="description">Finish off the mouse drag and insert the column where needed</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnOrderColumns">_fnOrderColumns</a></b>(array)
+												</div>
+												<div class="description">Set the column order from an array</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#_fnStateSave">_fnStateSave</a></b>(string)
+												</div>
+												<div class="description">This function effectively replaces the state saving function in DataTables (this is needed
+because otherwise DataTables would state save the columns in their reordered state, not the
+original which is needed on first draw).</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">ColReorder.<b><a href="../symbols/ColReorder.html#.fnReset">fnReset</a></b>(object)
+												</div>
+												<div class="description">Reset the column ordering for a DataTables instance</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColReorder.html#fnReset">fnReset</a></b>()
+												</div>
+												<div class="description"></div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Class Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColReorder</b>(DataTables, ColReorder)
+							</div>
+							
+							<div class="description">
+								ColReorder provides column visiblity control for DataTables
+								
+							</div>
+							
+							
+						
+							
+								<dl class="detailList params">
+									<dt class="heading">Parameters:</dt>
+									
+										<dt>
+											<span class="light fixedFont">{object}</span>  <b>DataTables</b>
+											
+										</dt>
+										<dd>object</dd>
+									
+										<dt>
+											<span class="light fixedFont">{object}</span>  <b>ColReorder</b>
+											
+										</dt>
+										<dd>options</dd>
+									
+								</dl>
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".aoInstances"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{array}</span>
+									
+									<span class="light">ColReorder.</span><b>aoInstances</b>							
+								</div>
+								
+								<div class="description">
+									Array of all ColReorder instances for later reference
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name="CLASS"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>CLASS</b>							
+								</div>
+								
+								<div class="description">
+									Name of this class
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												ColReorder
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".VERSION"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; &lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColReorder.</span><b>VERSION</b>							
+								</div>
+								
+								<div class="description">
+									ColReorder version
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												1.0.1.dev
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+					<div class="details props">
+						<div class="innerProps">
+							<div class="sectionTitle">
+								Method Detail
+							</div>
+							
+							
+								<a name="_fnConstruct"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnConstruct</b>()
+								</div>
+								
+								<div class="description">
+									Constructor logic
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnCreateDragNode"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnCreateDragNode</b>()
+								</div>
+								
+								<div class="description">
+									Copy the TH element that is being drags so the user has the idea that they are actually 
+moving it around the page.
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnMouseDown"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnMouseDown</b>(event, element)
+								</div>
+								
+								<div class="description">
+									Mouse down on a TH element in the table header
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>event</b>
+												
+											</dt>
+											<dd>e Mouse event</dd>
+										
+											<dt>
+												<b>element</b>
+												
+											</dt>
+											<dd>nTh TH element to be dragged</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnMouseListener"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnMouseListener</b>(int, element)
+								</div>
+								
+								<div class="description">
+									Add a mouse down listener to a particluar TH element
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>int</b>
+												
+											</dt>
+											<dd>i Column index</dd>
+										
+											<dt>
+												<b>element</b>
+												
+											</dt>
+											<dd>nTh TH element clicked on</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnMouseMove"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnMouseMove</b>(event)
+								</div>
+								
+								<div class="description">
+									Deal with a mouse move event while dragging a node
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>event</b>
+												
+											</dt>
+											<dd>e Mouse event</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnMouseUp"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnMouseUp</b>(event)
+								</div>
+								
+								<div class="description">
+									Finish off the mouse drag and insert the column where needed
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>event</b>
+												
+											</dt>
+											<dd>e Mouse event</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnOrderColumns"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnOrderColumns</b>(array)
+								</div>
+								
+								<div class="description">
+									Set the column order from an array
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>array</b>
+												
+											</dt>
+											<dd>a An array of integers which dictate the column order that should be applied</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnStateSave"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnStateSave</b>(string)
+								</div>
+								
+								<div class="description">
+									This function effectively replaces the state saving function in DataTables (this is needed
+because otherwise DataTables would state save the columns in their reordered state, not the
+original which is needed on first draw). This is sensitive to any changes in the DataTables
+state saving method!
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>string</b>
+												
+											</dt>
+											<dd>sCurrentVal</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>string JSON encoded cookie string for DataTables</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name=".fnReset"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									
+									
+									<span class="light">ColReorder.</span><b>fnReset</b>(object)
+								</div>
+								
+								<div class="description">
+									Reset the column ordering for a DataTables instance
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>object</b>
+												
+											</dt>
+											<dd>oTable DataTables instance to consider</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnReset"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnReset</b>()
+								</div>
+								
+								<div class="description">
+									
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+
+								
+							
+						</div>
+					</div>
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/_global_.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/_global_.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/_global_.html	(revision 6286)
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - _global_</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColReorder.html">ColReorder</a></li>
+	
+		<li><a href="../symbols/ColReorder%23dom.html">ColReorder#dom</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.html">ColReorder#s</a></li>
+	
+		<li><a href="../symbols/ColReorder%23s.mouse.html">ColReorder#s.mouse</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:11:21 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Built-In Namespace <span>_global_</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					
+					
+					
+				</p>
+
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/src/js_ColReorder.js.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/src/js_ColReorder.js.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/docs/symbols/src/js_ColReorder.js.html	(revision 6286)
@@ -0,0 +1,937 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="COMM">/*
+<span class='line'>  2</span>  * File:        ColReorder.js
+<span class='line'>  3</span>  * Version:     1.0.1
+<span class='line'>  4</span>  * CVS:         $Id$
+<span class='line'>  5</span>  * Description: Controls for column visiblity in DataTables
+<span class='line'>  6</span>  * Author:      Allan Jardine (www.sprymedia.co.uk)
+<span class='line'>  7</span>  * Created:     Wed Sep 15 18:23:29 BST 2010
+<span class='line'>  8</span>  * Modified:    $Date$ by $Author$
+<span class='line'>  9</span>  * Language:    Javascript
+<span class='line'> 10</span>  * License:     LGPL
+<span class='line'> 11</span>  * Project:     DataTables
+<span class='line'> 12</span>  * Contact:     www.sprymedia.co.uk/contact
+<span class='line'> 13</span>  * 
+<span class='line'> 14</span>  * Copyright 2010 Allan Jardine, all rights reserved.
+<span class='line'> 15</span>  *
+<span class='line'> 16</span>  */</span><span class="WHIT">
+<span class='line'> 17</span> 
+<span class='line'> 18</span> 
+<span class='line'> 19</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">$</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">window</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">document</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 20</span> 
+<span class='line'> 21</span> 
+<span class='line'> 22</span> </span><span class="COMM">/**
+<span class='line'> 23</span>  * Switch the key value pairing of an index array to be value key (i.e. the old value is now the
+<span class='line'> 24</span>  * key). For example consider [ 2, 0, 1 ] this would be returned as [ 1, 2, 0 ].
+<span class='line'> 25</span>  *  @method  fnInvertKeyValues
+<span class='line'> 26</span>  *  @param   array aIn Array to switch around
+<span class='line'> 27</span>  *  @returns array
+<span class='line'> 28</span>  */</span><span class="WHIT">
+<span class='line'> 29</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">fnInvertKeyValues</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aIn</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 30</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aRet</span><span class="PUNC">=</span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 32</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aIn.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 33</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 34</span> </span><span class="WHIT">		</span><span class="NAME">aRet</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">aIn</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">aRet</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 37</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 38</span> 
+<span class='line'> 39</span> 
+<span class='line'> 40</span> </span><span class="COMM">/**
+<span class='line'> 41</span>  * Modify an array by switching the position of two elements
+<span class='line'> 42</span>  *  @method  fnArraySwitch
+<span class='line'> 43</span>  *  @param   array aArray Array to consider, will be modified by reference (i.e. no return)
+<span class='line'> 44</span>  *  @param   int iFrom From point
+<span class='line'> 45</span>  *  @param   int iTo Insert point
+<span class='line'> 46</span>  *  @returns void
+<span class='line'> 47</span>  */</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">fnArraySwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aArray</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 49</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 50</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">mStore</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aArray.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 51</span> </span><span class="WHIT">	</span><span class="NAME">aArray.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">mStore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 52</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 53</span> 
+<span class='line'> 54</span> 
+<span class='line'> 55</span> </span><span class="COMM">/**
+<span class='line'> 56</span>  * Switch the positions of nodes in a parent node (note this is specifically designed for 
+<span class='line'> 57</span>  * table rows). Note this function considers all element nodes under the parent!
+<span class='line'> 58</span>  *  @method  fnDomSwitch
+<span class='line'> 59</span>  *  @param   string sTag Tag to consider
+<span class='line'> 60</span>  *  @param   int iFrom Element to move
+<span class='line'> 61</span>  *  @param   int Point to element the element to (before this point), can be null for append
+<span class='line'> 62</span>  *  @returns void
+<span class='line'> 63</span>  */</span><span class="WHIT">
+<span class='line'> 64</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">fnDomSwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nParent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 65</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 66</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">anTags</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">nParent.childNodes.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 68</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 69</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nParent.childNodes</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">			</span><span class="NAME">anTags.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nParent.childNodes</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 72</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 73</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nStore</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">anTags</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 75</span> </span><span class="WHIT">	
+<span class='line'> 76</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">		</span><span class="NAME">nParent.insertBefore</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nStore</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">anTags</span><span class="PUNC">[</span><span class="NAME">iTo</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 80</span> </span><span class="WHIT">	</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'> 81</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 82</span> </span><span class="WHIT">		</span><span class="NAME">nParent.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nStore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 83</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 84</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 85</span> 
+<span class='line'> 86</span> 
+<span class='line'> 87</span> 
+<span class='line'> 88</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'> 89</span>  * DataTables plug-in API functions
+<span class='line'> 90</span>  *
+<span class='line'> 91</span>  * This are required by ColReorder in order to perform the tasks required, and also keep this
+<span class='line'> 92</span>  * code portable, to be used for other column reordering projects with DataTables, if needed.
+<span class='line'> 93</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'> 94</span> 
+<span class='line'> 95</span> 
+<span class='line'> 96</span> </span><span class="COMM">/**
+<span class='line'> 97</span>  * Plug-in for DataTables which will reorder the internal column structure by taking the column
+<span class='line'> 98</span>  * from one position (iFrom) and insert it into a given point (iTo).
+<span class='line'> 99</span>  *  @method  $.fn.dataTableExt.oApi.fnColReorder
+<span class='line'>100</span>  *  @param   object oSettings DataTables settings object - automatically added by DataTables! 
+<span class='line'>101</span>  *  @param   int iFrom Take the column to be repositioned from this point
+<span class='line'>102</span>  *  @param   int iTo and insert it into this point
+<span class='line'>103</span>  *  @returns void
+<span class='line'>104</span>  */</span><span class="WHIT">
+<span class='line'>105</span> </span><span class="NAME">$.fn.dataTableExt.oApi.fnColReorder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>106</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>107</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iCols</span><span class="PUNC">=</span><span class="NAME">oSettings.aoColumns.length</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTrs</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>108</span> </span><span class="WHIT">	
+<span class='line'>109</span> 	</span><span class="COMM">/* Sanity check in the input */</span><span class="WHIT">
+<span class='line'>110</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>111</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>112</span> </span><span class="WHIT">		</span><span class="COMM">/* Pointless reorder */</span><span class="WHIT">
+<span class='line'>113</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>114</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>115</span> </span><span class="WHIT">	
+<span class='line'>116</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NAME">iCols</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>117</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="WHIT">		</span><span class="NAME">this.oApi._fnLog</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"ColReorder 'from' index is out of bounds: "</span><span class="PUNC">+</span><span class="NAME">iFrom</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>120</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>121</span> </span><span class="WHIT">	
+<span class='line'>122</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NAME">iCols</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>123</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>124</span> </span><span class="WHIT">		</span><span class="NAME">this.oApi._fnLog</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"ColReorder 'to' index is out of bounds: "</span><span class="PUNC">+</span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>125</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>126</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>127</span> </span><span class="WHIT">	
+<span class='line'>128</span> 	</span><span class="COMM">/*
+<span class='line'>129</span> 	 * Calculate the new column array index, so we have a mapping between the old and new
+<span class='line'>130</span> 	 */</span><span class="WHIT">
+<span class='line'>131</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aiMapping</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>132</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">iCols</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>133</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>134</span> </span><span class="WHIT">		</span><span class="NAME">aiMapping</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>135</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>136</span> </span><span class="WHIT">	</span><span class="NAME">fnArraySwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aiMapping</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>137</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aiInvertMapping</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">fnInvertKeyValues</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aiMapping</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>138</span> </span><span class="WHIT">	
+<span class='line'>139</span> 	
+<span class='line'>140</span> 	</span><span class="COMM">/*
+<span class='line'>141</span> 	 * Convert all internal indexing to the new column order indexes
+<span class='line'>142</span> 	 */</span><span class="WHIT">
+<span class='line'>143</span> </span><span class="WHIT">	</span><span class="COMM">/* Sorting */</span><span class="WHIT">
+<span class='line'>144</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">oSettings.aaSorting.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>145</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>146</span> </span><span class="WHIT">		</span><span class="NAME">oSettings.aaSorting</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aiInvertMapping</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">oSettings.aaSorting</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>147</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>148</span> </span><span class="WHIT">	
+<span class='line'>149</span> 	</span><span class="COMM">/* Fixed sorting */</span><span class="WHIT">
+<span class='line'>150</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aaSortingFixed</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>151</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>152</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">oSettings.aaSortingFixed.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>153</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>154</span> </span><span class="WHIT">			</span><span class="NAME">oSettings.aaSortingFixed</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aiInvertMapping</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">oSettings.aaSortingFixed</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>155</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>156</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>157</span> </span><span class="WHIT">	
+<span class='line'>158</span> 	</span><span class="COMM">/* Data column sorting (the column which the sort for a given column should take place on) */</span><span class="WHIT">
+<span class='line'>159</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">iCols</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>160</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>161</span> </span><span class="WHIT">		</span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">iDataSort</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aiInvertMapping</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">iDataSort</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>162</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>163</span> </span><span class="WHIT">	
+<span class='line'>164</span> 	
+<span class='line'>165</span> 	</span><span class="COMM">/*
+<span class='line'>166</span> 	 * Move the DOM elements
+<span class='line'>167</span> 	 */</span><span class="WHIT">
+<span class='line'>168</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">iFrom</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>169</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>170</span> </span><span class="WHIT">		</span><span class="COMM">/* Calculate the current visible index and the point to insert the node before. The insert
+<span class='line'>171</span> 		 * before needs to take into account that there might not be an element to insert before,
+<span class='line'>172</span> 		 * in which case it will be null, and an appendChild should be used
+<span class='line'>173</span> 		 */</span><span class="WHIT">
+<span class='line'>174</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iVisibleIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.oApi._fnColumnIndexToVisible</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>175</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iInsertBeforeIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>176</span> </span><span class="WHIT">		
+<span class='line'>177</span> 		</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>178</span> </span><span class="WHIT">		</span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iInsertBeforeIndex</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">iCols</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>179</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>180</span> </span><span class="WHIT">			</span><span class="NAME">iInsertBeforeIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.oApi._fnColumnIndexToVisible</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>181</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>182</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>183</span> </span><span class="WHIT">		
+<span class='line'>184</span> 		</span><span class="COMM">/* Header */</span><span class="WHIT">
+<span class='line'>185</span> </span><span class="WHIT">		</span><span class="NAME">nTrs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSettings.nTHead.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'tr'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>186</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">nTrs.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>187</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>188</span> </span><span class="WHIT">			</span><span class="NAME">fnDomSwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTrs</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iVisibleIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iInsertBeforeIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>189</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>190</span> </span><span class="WHIT">		
+<span class='line'>191</span> 		</span><span class="COMM">/* Footer */</span><span class="WHIT">
+<span class='line'>192</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.nTFoot</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>193</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>194</span> </span><span class="WHIT">			</span><span class="NAME">nTrs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSettings.nTFoot.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'tr'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>195</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">nTrs.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>196</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>197</span> </span><span class="WHIT">				</span><span class="NAME">fnDomSwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTrs</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iVisibleIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iInsertBeforeIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>198</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>199</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>200</span> </span><span class="WHIT">		
+<span class='line'>201</span> 		</span><span class="COMM">/* Body */</span><span class="WHIT">
+<span class='line'>202</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">oSettings.aoData.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>203</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>204</span> </span><span class="WHIT">			</span><span class="NAME">fnDomSwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aoData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iVisibleIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iInsertBeforeIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>205</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>206</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>207</span> </span><span class="WHIT">	
+<span class='line'>208</span> 	
+<span class='line'>209</span> 	</span><span class="COMM">/* 
+<span class='line'>210</span> 	 * Move the internal array elements
+<span class='line'>211</span> 	 */</span><span class="WHIT">
+<span class='line'>212</span> </span><span class="WHIT">	</span><span class="COMM">/* Columns */</span><span class="WHIT">
+<span class='line'>213</span> </span><span class="WHIT">	</span><span class="NAME">fnArraySwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>214</span> </span><span class="WHIT">	
+<span class='line'>215</span> 	</span><span class="COMM">/* Search columns */</span><span class="WHIT">
+<span class='line'>216</span> </span><span class="WHIT">	</span><span class="NAME">fnArraySwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aoPreSearchCols</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>217</span> </span><span class="WHIT">	
+<span class='line'>218</span> 	</span><span class="COMM">/* Array array - internal data anodes cache */</span><span class="WHIT">
+<span class='line'>219</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">oSettings.aoData.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>220</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>221</span> </span><span class="WHIT">		</span><span class="NAME">fnArraySwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aoData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_aData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>222</span> </span><span class="WHIT">		</span><span class="NAME">fnArraySwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aoData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_anHidden</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iFrom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>223</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>224</span> </span><span class="WHIT">	
+<span class='line'>225</span> 	
+<span class='line'>226</span> 	</span><span class="COMM">/*
+<span class='line'>227</span> 	 * Update DataTables' event handlers
+<span class='line'>228</span> 	 */</span><span class="WHIT">
+<span class='line'>229</span> </span><span class="WHIT">	
+<span class='line'>230</span> 	</span><span class="COMM">/* Sort listener */</span><span class="WHIT">
+<span class='line'>231</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">iCols</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>232</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>233</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTh</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">unbind</span><span class="PUNC">(</span><span class="STRN">'click'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>234</span> </span><span class="WHIT">		</span><span class="NAME">this.oApi._fnSortAttachListener</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTh</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>235</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>236</span> </span><span class="WHIT">	
+<span class='line'>237</span> 	
+<span class='line'>238</span> 	</span><span class="COMM">/*
+<span class='line'>239</span> 	 * Any extra operations for the other plug-ins
+<span class='line'>240</span> 	 */</span><span class="WHIT">
+<span class='line'>241</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">ColVis</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>242</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>243</span> </span><span class="WHIT">		</span><span class="NAME">ColVis.fnRebuild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.oInstance</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>244</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>245</span> </span><span class="WHIT">	
+<span class='line'>246</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oSettings.oInstance._oPluginFixedHeader</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>247</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>248</span> </span><span class="WHIT">		</span><span class="NAME">oSettings.oInstance._oPluginFixedHeader.fnUpdate</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>249</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>250</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>251</span> 
+<span class='line'>252</span> 
+<span class='line'>253</span> 
+<span class='line'>254</span> 
+<span class='line'>255</span> </span><span class="COMM">/** 
+<span class='line'>256</span>  * ColReorder provides column visiblity control for DataTables
+<span class='line'>257</span>  * @class ColReorder
+<span class='line'>258</span>  * @constructor
+<span class='line'>259</span>  * @param {object} DataTables object
+<span class='line'>260</span>  * @param {object} ColReorder options
+<span class='line'>261</span>  */</span><span class="WHIT">
+<span class='line'>262</span> </span><span class="NAME">ColReorder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>263</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>264</span> </span><span class="WHIT">	</span><span class="COMM">/* Santiy check that we are a new instance */</span><span class="WHIT">
+<span class='line'>265</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"ColReorder"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>266</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>267</span> </span><span class="WHIT">		</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: ColReorder must be initialised with the keyword 'new'"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>268</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>269</span> </span><span class="WHIT">	
+<span class='line'>270</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>271</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>272</span> </span><span class="WHIT">		</span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>273</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>274</span> </span><span class="WHIT">	
+<span class='line'>275</span> 	
+<span class='line'>276</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>277</span> 	 * Public class variables
+<span class='line'>278</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>279</span> </span><span class="WHIT">	
+<span class='line'>280</span> 	</span><span class="COMM">/**
+<span class='line'>281</span> 	 * @namespace Settings object which contains customisable information for ColReorder instance
+<span class='line'>282</span> 	 */</span><span class="WHIT">
+<span class='line'>283</span> </span><span class="WHIT">	</span><span class="NAME">this.s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>284</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>285</span> 		 * DataTables settings object
+<span class='line'>286</span> 		 *  @property dt
+<span class='line'>287</span> 		 *  @type     Object
+<span class='line'>288</span> 		 *  @default  null
+<span class='line'>289</span> 		 */</span><span class="WHIT">
+<span class='line'>290</span> </span><span class="WHIT">		</span><span class="NAME">dt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>291</span> </span><span class="WHIT">		
+<span class='line'>292</span> 		</span><span class="COMM">/**
+<span class='line'>293</span> 		 * Initialisation object used for this instance
+<span class='line'>294</span> 		 *  @property init
+<span class='line'>295</span> 		 *  @type     object
+<span class='line'>296</span> 		 *  @default  {}
+<span class='line'>297</span> 		 */</span><span class="WHIT">
+<span class='line'>298</span> </span><span class="WHIT">		</span><span class="NAME">init</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>299</span> </span><span class="WHIT">		
+<span class='line'>300</span> 		</span><span class="COMM">/**
+<span class='line'>301</span> 		 * Number of columns to fix (not allow to be reordered)
+<span class='line'>302</span> 		 *  @property fixed
+<span class='line'>303</span> 		 *  @type     int
+<span class='line'>304</span> 		 *  @default  0
+<span class='line'>305</span> 		 */</span><span class="WHIT">
+<span class='line'>306</span> </span><span class="WHIT">		</span><span class="NAME">fixed</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>307</span> </span><span class="WHIT">		
+<span class='line'>308</span> 		</span><span class="COMM">/**
+<span class='line'>309</span> 		 * @namespace Information used for the mouse drag
+<span class='line'>310</span> 		 */</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">		</span><span class="NAME">mouse</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>312</span> </span><span class="WHIT">			</span><span class="NAME">startX</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>313</span> </span><span class="WHIT">			</span><span class="NAME">startY</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>314</span> </span><span class="WHIT">			</span><span class="NAME">offsetX</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>315</span> </span><span class="WHIT">			</span><span class="NAME">offsetY</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>316</span> </span><span class="WHIT">			</span><span class="NAME">target</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>317</span> </span><span class="WHIT">			</span><span class="NAME">targetIndex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>318</span> </span><span class="WHIT">			</span><span class="NAME">fromIndex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT">
+<span class='line'>319</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>320</span> </span><span class="WHIT">		
+<span class='line'>321</span> 		</span><span class="COMM">/**
+<span class='line'>322</span> 		 * Information which is used for positioning the insert cusor and knowing where to do the
+<span class='line'>323</span> 		 * insert. Array of objects with the properties:
+<span class='line'>324</span> 		 *   x: x-axis position
+<span class='line'>325</span> 		 *   to: insert point
+<span class='line'>326</span> 		 *  @property aoTargets
+<span class='line'>327</span> 		 *  @type     array
+<span class='line'>328</span> 		 *  @default  []
+<span class='line'>329</span> 		 */</span><span class="WHIT">
+<span class='line'>330</span> </span><span class="WHIT">		</span><span class="NAME">aoTargets</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="WHIT">
+<span class='line'>331</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>332</span> </span><span class="WHIT">	
+<span class='line'>333</span> 	
+<span class='line'>334</span> 	</span><span class="COMM">/**
+<span class='line'>335</span> 	 * @namespace Common and useful DOM elements for the class instance
+<span class='line'>336</span> 	 */</span><span class="WHIT">
+<span class='line'>337</span> </span><span class="WHIT">	</span><span class="NAME">this.dom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>338</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>339</span> 		 * Dragging element (the one the mouse is moving)
+<span class='line'>340</span> 		 *  @property drag
+<span class='line'>341</span> 		 *  @type     element
+<span class='line'>342</span> 		 *  @default  null
+<span class='line'>343</span> 		 */</span><span class="WHIT">
+<span class='line'>344</span> </span><span class="WHIT">		</span><span class="NAME">drag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>345</span> </span><span class="WHIT">		
+<span class='line'>346</span> 		</span><span class="COMM">/**
+<span class='line'>347</span> 		 * The insert cursor
+<span class='line'>348</span> 		 *  @property pointer
+<span class='line'>349</span> 		 *  @type     element
+<span class='line'>350</span> 		 *  @default  null
+<span class='line'>351</span> 		 */</span><span class="WHIT">
+<span class='line'>352</span> </span><span class="WHIT">		</span><span class="NAME">pointer</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>353</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>354</span> </span><span class="WHIT">	
+<span class='line'>355</span> 	
+<span class='line'>356</span> 	</span><span class="COMM">/* Constructor logic */</span><span class="WHIT">
+<span class='line'>357</span> </span><span class="WHIT">	</span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oTable.fnSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>358</span> </span><span class="WHIT">	</span><span class="NAME">this._fnConstruct</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>359</span> </span><span class="WHIT">	
+<span class='line'>360</span> 	</span><span class="COMM">/* Store the instance for later use */</span><span class="WHIT">
+<span class='line'>361</span> </span><span class="WHIT">	</span><span class="NAME">ColReorder.aoInstances.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>362</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>363</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>364</span> 
+<span class='line'>365</span> 
+<span class='line'>366</span> 
+<span class='line'>367</span> </span><span class="NAME">ColReorder.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>368</span> </span><span class="WHIT">	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>369</span> 	 * Public methods
+<span class='line'>370</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>371</span> </span><span class="WHIT">	
+<span class='line'>372</span> 	</span><span class="NAME">fnReset</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>373</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>374</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>375</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>376</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>377</span> </span><span class="WHIT">			</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_ColReorder_iOrigCol</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>378</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>379</span> </span><span class="WHIT">		
+<span class='line'>380</span> 		</span><span class="NAME">this._fnOrderColumns</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>381</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>382</span> </span><span class="WHIT">	
+<span class='line'>383</span> 	
+<span class='line'>384</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>385</span> 	 * Private methods (they are of course public in JS, but recommended as private)
+<span class='line'>386</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>387</span> </span><span class="WHIT">	
+<span class='line'>388</span> 	</span><span class="COMM">/**
+<span class='line'>389</span> 	 * Constructor logic
+<span class='line'>390</span> 	 *  @method  _fnConstruct
+<span class='line'>391</span> 	 *  @returns void
+<span class='line'>392</span> 	 *  @private 
+<span class='line'>393</span> 	 */</span><span class="WHIT">
+<span class='line'>394</span> </span><span class="WHIT">	</span><span class="NAME">_fnConstruct</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>395</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>396</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>397</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>398</span> </span><span class="WHIT">		
+<span class='line'>399</span> 		</span><span class="COMM">/* Columns discounted from reordering - counting left to right */</span><span class="WHIT">
+<span class='line'>400</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">this.s.init.iFixedColumns</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>401</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>402</span> </span><span class="WHIT">			</span><span class="NAME">this.s.fixed</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.init.iFixedColumns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>403</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>404</span> </span><span class="WHIT">		
+<span class='line'>405</span> 		</span><span class="COMM">/* Add event handlers for the drag and drop, and also mark the original column order */</span><span class="WHIT">
+<span class='line'>406</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>407</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>408</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">this.s.fixed</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>409</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>410</span> </span><span class="WHIT">				</span><span class="NAME">this._fnMouseListener</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTh</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>411</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>412</span> </span><span class="WHIT">			
+<span class='line'>413</span> 			</span><span class="COMM">/* Mark the original column order for later reference */</span><span class="WHIT">
+<span class='line'>414</span> </span><span class="WHIT">			</span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_ColReorder_iOrigCol</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>415</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>416</span> </span><span class="WHIT">		
+<span class='line'>417</span> 		</span><span class="COMM">/* State saving */</span><span class="WHIT">
+<span class='line'>418</span> </span><span class="WHIT">		</span><span class="NAME">this.s.dt.aoStateSave.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>419</span> </span><span class="WHIT">			</span><span class="NAME">fn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">oS</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sVal</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>420</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">that._fnStateSave.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sVal</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>421</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>422</span> </span><span class="WHIT">			</span><span class="NAME">sName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ColReorder_State"</span><span class="WHIT">
+<span class='line'>423</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>424</span> </span><span class="WHIT">		
+<span class='line'>425</span> 		</span><span class="COMM">/* An initial column order has been specified */</span><span class="WHIT">
+<span class='line'>426</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aiOrder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>427</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">this.s.init.aiOrder</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>428</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>429</span> </span><span class="WHIT">			</span><span class="NAME">aiOrder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.init.aiOrder.slice</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>430</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>431</span> </span><span class="WHIT">		
+<span class='line'>432</span> 		</span><span class="COMM">/* State loading, overrides the column order given */</span><span class="WHIT">
+<span class='line'>433</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oLoadedState</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oLoadedState.ColReorder</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>434</span> </span><span class="WHIT">		  </span><span class="NAME">this.s.dt.oLoadedState.ColReorder.length</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>435</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>436</span> </span><span class="WHIT">			</span><span class="NAME">aiOrder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oLoadedState.ColReorder</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>437</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>438</span> </span><span class="WHIT">		
+<span class='line'>439</span> 		</span><span class="COMM">/* If we have an order to apply - do so */</span><span class="WHIT">
+<span class='line'>440</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aiOrder</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>441</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>442</span> </span><span class="WHIT">			</span><span class="COMM">/* We might be called during or after the DataTables initialisation. If before, then we need
+<span class='line'>443</span> 			 * to wait until the draw is done, if after, then do what we need to do right away
+<span class='line'>444</span> 			 */</span><span class="WHIT">
+<span class='line'>445</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">that.s.dt._bInitComplete</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>446</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>447</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">bDone</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>448</span> </span><span class="WHIT">				</span><span class="NAME">this.s.dt.aoDrawCallback.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>449</span> </span><span class="WHIT">					</span><span class="NAME">fn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>450</span> </span><span class="WHIT">						</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">that.s.dt._bInitComplete</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">bDone</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>451</span> </span><span class="WHIT">						</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>452</span> </span><span class="WHIT">							</span><span class="NAME">bDone</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>453</span> </span><span class="WHIT">							</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">resort</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">fnInvertKeyValues</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aiOrder</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>454</span> </span><span class="WHIT">							</span><span class="NAME">that._fnOrderColumns.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">resort</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>455</span> </span><span class="WHIT">						</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>456</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>457</span> </span><span class="WHIT">					</span><span class="NAME">sName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ColReorder_Pre"</span><span class="WHIT">
+<span class='line'>458</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>459</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>460</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>461</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>462</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">resort</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">fnInvertKeyValues</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aiOrder</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>463</span> </span><span class="WHIT">				</span><span class="NAME">that._fnOrderColumns.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">resort</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>464</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>465</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>466</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>467</span> </span><span class="WHIT">	
+<span class='line'>468</span> 	
+<span class='line'>469</span> 	</span><span class="COMM">/**
+<span class='line'>470</span> 	 * Set the column order from an array
+<span class='line'>471</span> 	 *  @method  _fnOrderColumns
+<span class='line'>472</span> 	 *  @param   array a An array of integers which dictate the column order that should be applied
+<span class='line'>473</span> 	 *  @returns void
+<span class='line'>474</span> 	 *  @private 
+<span class='line'>475</span> 	 */</span><span class="WHIT">
+<span class='line'>476</span> </span><span class="WHIT">	</span><span class="NAME">_fnOrderColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>477</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>478</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>479</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>480</span> </span><span class="WHIT">			</span><span class="NAME">this.s.dt.oInstance.oApi._fnLog</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"ColReorder - array reorder does not "</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>481</span> </span><span class="WHIT">			 	</span><span class="STRN">"match known number of columns. Skipping."</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>482</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>483</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>484</span> </span><span class="WHIT">		
+<span class='line'>485</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>486</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>487</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">currIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.inArray</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>488</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">currIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>489</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>490</span> </span><span class="WHIT">				</span><span class="COMM">/* Reorder our switching array */</span><span class="WHIT">
+<span class='line'>491</span> </span><span class="WHIT">				</span><span class="NAME">fnArraySwitch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">currIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>492</span> </span><span class="WHIT">				
+<span class='line'>493</span> 				</span><span class="COMM">/* Do the column reorder in the table */</span><span class="WHIT">
+<span class='line'>494</span> </span><span class="WHIT">				</span><span class="NAME">this.s.dt.oInstance.fnColReorder</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">currIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>495</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>496</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>497</span> </span><span class="WHIT">		
+<span class='line'>498</span> 		</span><span class="COMM">/* When scrolling we need to recalculate the column sizes to allow for the shift */</span><span class="WHIT">
+<span class='line'>499</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>500</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>501</span> </span><span class="WHIT">			</span><span class="NAME">this.s.dt.oInstance.fnAdjustColumnSizing</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>502</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>503</span> </span><span class="WHIT">			
+<span class='line'>504</span> 		</span><span class="COMM">/* Save the state */</span><span class="WHIT">
+<span class='line'>505</span> </span><span class="WHIT">		</span><span class="NAME">this.s.dt.oInstance.oApi._fnSaveState</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>506</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>507</span> </span><span class="WHIT">	
+<span class='line'>508</span> 	
+<span class='line'>509</span> 	</span><span class="COMM">/**
+<span class='line'>510</span> 	 * This function effectively replaces the state saving function in DataTables (this is needed
+<span class='line'>511</span> 	 * because otherwise DataTables would state save the columns in their reordered state, not the
+<span class='line'>512</span> 	 * original which is needed on first draw). This is sensitive to any changes in the DataTables
+<span class='line'>513</span> 	 * state saving method!
+<span class='line'>514</span> 	 *  @method  _fnStateSave
+<span class='line'>515</span> 	 *  @param   string sCurrentVal 
+<span class='line'>516</span> 	 *  @returns string JSON encoded cookie string for DataTables
+<span class='line'>517</span> 	 *  @private 
+<span class='line'>518</span> 	 */</span><span class="WHIT">
+<span class='line'>519</span> </span><span class="WHIT">	</span><span class="NAME">_fnStateSave</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sCurrentVal</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>520</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>521</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sTmp</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>522</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sCurrentVal.split</span><span class="PUNC">(</span><span class="STRN">'"aaSorting"'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>523</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>524</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oSettings</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>525</span> </span><span class="WHIT">		
+<span class='line'>526</span> 		</span><span class="COMM">/* Sorting */</span><span class="WHIT">
+<span class='line'>527</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'"aaSorting":[ '</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>528</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">oSettings.aaSorting.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>529</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>530</span> </span><span class="WHIT">			</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'['</span><span class="PUNC">+</span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">oSettings.aaSorting</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_ColReorder_iOrigCol</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>531</span> </span><span class="WHIT">				</span><span class="STRN">',"'</span><span class="PUNC">+</span><span class="NAME">oSettings.aaSorting</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">+</span><span class="STRN">'"],'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>532</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>533</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sValue.substring</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sValue.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>534</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"],"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>535</span> </span><span class="WHIT">		
+<span class='line'>536</span> 		</span><span class="COMM">/* Column filter */</span><span class="WHIT">
+<span class='line'>537</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">oSettings.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>538</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>539</span> </span><span class="WHIT">			</span><span class="NAME">a</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_ColReorder_iOrigCol</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>540</span> </span><span class="WHIT">				</span><span class="NAME">sSearch</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">encodeURIComponent</span><span class="PUNC">(</span><span class="NAME">oSettings.aoPreSearchCols</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">sSearch</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>541</span> </span><span class="WHIT">				</span><span class="NAME">bRegex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">oSettings.aoPreSearchCols</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bRegex</span><span class="WHIT">
+<span class='line'>542</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>543</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>544</span> </span><span class="WHIT">		
+<span class='line'>545</span> 		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'"aaSearchCols":[ '</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>546</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>547</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>548</span> </span><span class="WHIT">			</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'["'</span><span class="PUNC">+</span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">sSearch</span><span class="PUNC">+</span><span class="STRN">'",'</span><span class="PUNC">+</span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bRegex</span><span class="PUNC">+</span><span class="STRN">'],'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>549</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>550</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sValue.substring</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sValue.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>551</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"],"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>552</span> </span><span class="WHIT">		
+<span class='line'>553</span> 		</span><span class="COMM">/* Visibility */</span><span class="WHIT">
+<span class='line'>554</span> </span><span class="WHIT">		</span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>555</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">oSettings.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>556</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>557</span> </span><span class="WHIT">			</span><span class="NAME">a</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_ColReorder_iOrigCol</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>558</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>559</span> </span><span class="WHIT">		
+<span class='line'>560</span> 		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'"abVisCols":[ '</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>561</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>562</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>563</span> </span><span class="WHIT">			</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">+</span><span class="STRN">","</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>564</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>565</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sValue.substring</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sValue.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>566</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"],"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>567</span> </span><span class="WHIT">		
+<span class='line'>568</span> 		</span><span class="COMM">/* Column reordering */</span><span class="WHIT">
+<span class='line'>569</span> </span><span class="WHIT">		</span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>570</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">oSettings.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>571</span> </span><span class="WHIT">			</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSettings.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_ColReorder_iOrigCol</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>572</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>573</span> </span><span class="WHIT">		</span><span class="NAME">sValue</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'"ColReorder":['</span><span class="PUNC">+</span><span class="NAME">a.join</span><span class="PUNC">(</span><span class="STRN">','</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">']'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>574</span> </span><span class="WHIT">		
+<span class='line'>575</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sValue</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>576</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>577</span> </span><span class="WHIT">	
+<span class='line'>578</span> 	
+<span class='line'>579</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>580</span> 	 * Mouse drop and drag
+<span class='line'>581</span> 	 */</span><span class="WHIT">
+<span class='line'>582</span> </span><span class="WHIT">	
+<span class='line'>583</span> 	</span><span class="COMM">/**
+<span class='line'>584</span> 	 * Add a mouse down listener to a particluar TH element
+<span class='line'>585</span> 	 *  @method  _fnMouseListener
+<span class='line'>586</span> 	 *  @param   int i Column index
+<span class='line'>587</span> 	 *  @param   element nTh TH element clicked on
+<span class='line'>588</span> 	 *  @returns void
+<span class='line'>589</span> 	 *  @private 
+<span class='line'>590</span> 	 */</span><span class="WHIT">
+<span class='line'>591</span> </span><span class="WHIT">	</span><span class="NAME">_fnMouseListener</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTh</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>592</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>593</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>594</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nTh</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mousedown.ColReorder'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>595</span> </span><span class="WHIT">			</span><span class="NAME">that._fnMouseDown.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTh</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>596</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>597</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>598</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>599</span> </span><span class="WHIT">	
+<span class='line'>600</span> 	
+<span class='line'>601</span> 	</span><span class="COMM">/**
+<span class='line'>602</span> 	 * Mouse down on a TH element in the table header
+<span class='line'>603</span> 	 *  @method  _fnMouseDown
+<span class='line'>604</span> 	 *  @param   event e Mouse event
+<span class='line'>605</span> 	 *  @param   element nTh TH element to be dragged
+<span class='line'>606</span> 	 *  @returns void
+<span class='line'>607</span> 	 *  @private 
+<span class='line'>608</span> 	 */</span><span class="WHIT">
+<span class='line'>609</span> </span><span class="WHIT">	</span><span class="NAME">_fnMouseDown</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTh</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>610</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>611</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>612</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>613</span> </span><span class="WHIT">			</span><span class="NAME">aoColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>614</span> </span><span class="WHIT">		
+<span class='line'>615</span> 		</span><span class="COMM">/* Store information about the mouse position */</span><span class="WHIT">
+<span class='line'>616</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nThTarget</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.target.nodeName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"TH"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">e.target</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">parents</span><span class="PUNC">(</span><span class="STRN">'TH'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>617</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">offset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nThTarget</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>618</span> </span><span class="WHIT">		</span><span class="NAME">this.s.mouse.startX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.pageX</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>619</span> </span><span class="WHIT">		</span><span class="NAME">this.s.mouse.startY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.pageY</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>620</span> </span><span class="WHIT">		</span><span class="NAME">this.s.mouse.offsetX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.pageX</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">offset.left</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>621</span> </span><span class="WHIT">		</span><span class="NAME">this.s.mouse.offsetY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.pageY</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">offset.top</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>622</span> </span><span class="WHIT">		</span><span class="NAME">this.s.mouse.target</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nTh</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>623</span> </span><span class="WHIT">		</span><span class="NAME">this.s.mouse.targetIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'th'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTh.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">index</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTh</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>624</span> </span><span class="WHIT">		</span><span class="NAME">this.s.mouse.fromIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oInstance.oApi._fnVisibleToColumnIndex</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>625</span> 			</span><span class="NAME">this.s.mouse.targetIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>626</span> </span><span class="WHIT">		
+<span class='line'>627</span> 		</span><span class="COMM">/* Calculate a cached array with the points of the column inserts, and the 'to' points */</span><span class="WHIT">
+<span class='line'>628</span> </span><span class="WHIT">		</span><span class="NAME">this.s.aoTargets.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.aoTargets.length</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>629</span> </span><span class="WHIT">		
+<span class='line'>630</span> 		</span><span class="NAME">this.s.aoTargets.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>631</span> </span><span class="WHIT">			</span><span class="NAME">x</span><span class="PUNC">:</span><span class="WHIT">  </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">left</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>632</span> </span><span class="WHIT">			</span><span class="NAME">to</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT">
+<span class='line'>633</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>634</span> </span><span class="WHIT">		
+<span class='line'>635</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iToPoint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>636</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>637</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>638</span> </span><span class="WHIT">			</span><span class="COMM">/* For the column / header in question, we want it's position to remain the same if the 
+<span class='line'>639</span> 			 * position is just to it's immediate left or right, so we only incremement the counter for
+<span class='line'>640</span> 			 * other columns
+<span class='line'>641</span> 			 */</span><span class="WHIT">
+<span class='line'>642</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">this.s.mouse.fromIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>643</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>644</span> </span><span class="WHIT">				</span><span class="NAME">iToPoint</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>645</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>646</span> </span><span class="WHIT">			
+<span class='line'>647</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>648</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>649</span> </span><span class="WHIT">				</span><span class="NAME">this.s.aoTargets.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>650</span> </span><span class="WHIT">					</span><span class="NAME">x</span><span class="PUNC">:</span><span class="WHIT">  </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTh</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">left</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTh</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>651</span> </span><span class="WHIT">					</span><span class="NAME">to</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iToPoint</span><span class="WHIT">
+<span class='line'>652</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>653</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>654</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>655</span> </span><span class="WHIT">		
+<span class='line'>656</span> 		</span><span class="COMM">/* Disallow columns for being reordered by drag and drop, counting left to right */</span><span class="WHIT">
+<span class='line'>657</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.fixed</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>658</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>659</span> </span><span class="WHIT">			</span><span class="NAME">this.s.aoTargets.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.fixed</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>660</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>661</span> </span><span class="WHIT">		
+<span class='line'>662</span> 		</span><span class="COMM">/* Add event handlers to the document */</span><span class="WHIT">
+<span class='line'>663</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mousemove.ColReorder'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>664</span> </span><span class="WHIT">			</span><span class="NAME">that._fnMouseMove.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>665</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>666</span> </span><span class="WHIT">		
+<span class='line'>667</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mouseup.ColReorder'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>668</span> </span><span class="WHIT">			</span><span class="NAME">that._fnMouseUp.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>669</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>670</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>671</span> </span><span class="WHIT">	
+<span class='line'>672</span> 	
+<span class='line'>673</span> 	</span><span class="COMM">/**
+<span class='line'>674</span> 	 * Deal with a mouse move event while dragging a node
+<span class='line'>675</span> 	 *  @method  _fnMouseMove
+<span class='line'>676</span> 	 *  @param   event e Mouse event
+<span class='line'>677</span> 	 *  @returns void
+<span class='line'>678</span> 	 *  @private 
+<span class='line'>679</span> 	 */</span><span class="WHIT">
+<span class='line'>680</span> </span><span class="WHIT">	</span><span class="NAME">_fnMouseMove</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>681</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>682</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>683</span> </span><span class="WHIT">		
+<span class='line'>684</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>685</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>686</span> </span><span class="WHIT">			</span><span class="COMM">/* Only create the drag element if the mouse has moved a specific distance from the start
+<span class='line'>687</span> 			 * point - this allows the user to make small mouse movements when sorting and not have a
+<span class='line'>688</span> 			 * possibly confusing drag element showing up
+<span class='line'>689</span> 			 */</span><span class="WHIT">
+<span class='line'>690</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">Math.pow</span><span class="PUNC">(</span><span class="WHIT">
+<span class='line'>691</span> </span><span class="WHIT">				</span><span class="NAME">Math.pow</span><span class="PUNC">(</span><span class="NAME">e.pageX</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.s.mouse.startX</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> 
+<span class='line'>692</span> 				</span><span class="NAME">Math.pow</span><span class="PUNC">(</span><span class="NAME">e.pageY</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.s.mouse.startY</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0.5</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">5</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>693</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>694</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>695</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>696</span> </span><span class="WHIT">			</span><span class="NAME">this._fnCreateDragNode</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>697</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>698</span> </span><span class="WHIT">		
+<span class='line'>699</span> 		</span><span class="COMM">/* Position the element - we respect where in the element the click occured */</span><span class="WHIT">
+<span class='line'>700</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.drag.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.pageX</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.s.mouse.offsetX</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>701</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.drag.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.pageY</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">this.s.mouse.offsetY</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>702</span> </span><span class="WHIT">		
+<span class='line'>703</span> 		</span><span class="COMM">/* Based on the current mouse position, calculate where the insert should go */</span><span class="WHIT">
+<span class='line'>704</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">bSet</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>705</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.aoTargets.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>706</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>707</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.pageX</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">this.s.aoTargets</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">this.s.aoTargets</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">x</span><span class="PUNC">-</span><span class="NAME">this.s.aoTargets</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">x</span><span class="PUNC">)</span><span class="PUNC">/</span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>708</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>709</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.pointer.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.aoTargets</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>710</span> </span><span class="WHIT">				</span><span class="NAME">this.s.mouse.toIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.aoTargets</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">to</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>711</span> </span><span class="WHIT">				</span><span class="NAME">bSet</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>712</span> </span><span class="WHIT">				</span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>713</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>714</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>715</span> </span><span class="WHIT">		
+<span class='line'>716</span> 		</span><span class="COMM">/* The insert element wasn't positioned in the array (less than operator), so we put it at 
+<span class='line'>717</span> 		 * the end
+<span class='line'>718</span> 		 */</span><span class="WHIT">
+<span class='line'>719</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">bSet</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>720</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>721</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.pointer.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.aoTargets</span><span class="PUNC">[</span><span class="NAME">this.s.aoTargets.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>722</span> </span><span class="WHIT">			</span><span class="NAME">this.s.mouse.toIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.aoTargets</span><span class="PUNC">[</span><span class="NAME">this.s.aoTargets.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">to</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>723</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>724</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>725</span> </span><span class="WHIT">	
+<span class='line'>726</span> 	
+<span class='line'>727</span> 	</span><span class="COMM">/**
+<span class='line'>728</span> 	 * Finish off the mouse drag and insert the column where needed
+<span class='line'>729</span> 	 *  @method  _fnMouseUp
+<span class='line'>730</span> 	 *  @param   event e Mouse event
+<span class='line'>731</span> 	 *  @returns void
+<span class='line'>732</span> 	 *  @private 
+<span class='line'>733</span> 	 */</span><span class="WHIT">
+<span class='line'>734</span> </span><span class="WHIT">	</span><span class="NAME">_fnMouseUp</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>735</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>736</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>737</span> </span><span class="WHIT">		
+<span class='line'>738</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">unbind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mousemove.ColReorder'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>739</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">unbind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'mouseup.ColReorder'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>740</span> </span><span class="WHIT">		
+<span class='line'>741</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>742</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>743</span> </span><span class="WHIT">			</span><span class="COMM">/* Remove the guide elements */</span><span class="WHIT">
+<span class='line'>744</span> </span><span class="WHIT">			</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>745</span> </span><span class="WHIT">			</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.pointer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>746</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.drag</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>747</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.pointer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>748</span> </span><span class="WHIT">			
+<span class='line'>749</span> 			</span><span class="COMM">/* Actually do the reorder */</span><span class="WHIT">
+<span class='line'>750</span> </span><span class="WHIT">			</span><span class="NAME">this.s.dt.oInstance.fnColReorder</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.mouse.fromIndex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.mouse.toIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>751</span> </span><span class="WHIT">			
+<span class='line'>752</span> 			</span><span class="COMM">/* When scrolling we need to recalculate the column sizes to allow for the shift */</span><span class="WHIT">
+<span class='line'>753</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>754</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>755</span> </span><span class="WHIT">				</span><span class="NAME">this.s.dt.oInstance.fnAdjustColumnSizing</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>756</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>757</span> </span><span class="WHIT">			
+<span class='line'>758</span> 			</span><span class="COMM">/* Save the state */</span><span class="WHIT">
+<span class='line'>759</span> </span><span class="WHIT">			</span><span class="NAME">this.s.dt.oInstance.oApi._fnSaveState</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>760</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>761</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>762</span> </span><span class="WHIT">	
+<span class='line'>763</span> 	
+<span class='line'>764</span> 	</span><span class="COMM">/**
+<span class='line'>765</span> 	 * Copy the TH element that is being drags so the user has the idea that they are actually 
+<span class='line'>766</span> 	 * moving it around the page.
+<span class='line'>767</span> 	 *  @method  _fnCreateDragNode
+<span class='line'>768</span> 	 *  @returns void
+<span class='line'>769</span> 	 *  @private 
+<span class='line'>770</span> 	 */</span><span class="WHIT">
+<span class='line'>771</span> </span><span class="WHIT">	</span><span class="NAME">_fnCreateDragNode</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>772</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>773</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>774</span> </span><span class="WHIT">		
+<span class='line'>775</span> 		</span><span class="NAME">this.dom.drag</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTHead.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">clone</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>776</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.drag.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" DTCR_clonedTable"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>777</span> </span><span class="WHIT">		</span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'tbody'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>778</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>779</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.drag.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'tbody'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>780</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>781</span> </span><span class="WHIT">		</span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'tfoot'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>782</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>783</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.drag.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'tfoot'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>784</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>785</span> </span><span class="WHIT">		
+<span class='line'>786</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>787</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'th:not(:eq('</span><span class="PUNC">+</span><span class="NAME">that.s.mouse.targetIndex</span><span class="PUNC">+</span><span class="STRN">'))'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>788</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>789</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tr'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.s.dt.nTHead</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>790</span> </span><span class="WHIT">		
+<span class='line'>791</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:gt(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>792</span> </span><span class="WHIT">		
+<span class='line'>793</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead th:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>794</span> </span><span class="WHIT">			</span><span class="NAME">this.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'th:eq('</span><span class="PUNC">+</span><span class="NAME">that.s.mouse.targetIndex</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.s.dt.nTHead</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>795</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>796</span> </span><span class="WHIT">		
+<span class='line'>797</span> 		</span><span class="NAME">this.dom.drag.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>798</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.drag.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>799</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.drag.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>800</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.drag.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'th:eq('</span><span class="PUNC">+</span><span class="NAME">that.s.mouse.targetIndex</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.s.dt.nTHead</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>801</span> </span><span class="WHIT">		
+<span class='line'>802</span> 		
+<span class='line'>803</span> 		</span><span class="NAME">this.dom.pointer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'div'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>804</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.pointer.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"DTCR_pointer"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>805</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.pointer.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>806</span> </span><span class="WHIT">		
+<span class='line'>807</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>808</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>809</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.pointer.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">top</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>810</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.pointer.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>811</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>812</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>813</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>814</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.pointer.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'div.dataTables_scroll'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTableWrapper</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">top</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>815</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.pointer.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'div.dataTables_scroll'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTableWrapper</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>816</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>817</span> </span><span class="WHIT">	
+<span class='line'>818</span> 		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.pointer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>819</span> </span><span class="WHIT">		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.drag</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>820</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>821</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>822</span> 
+<span class='line'>823</span> 
+<span class='line'>824</span> 
+<span class='line'>825</span> 
+<span class='line'>826</span> 
+<span class='line'>827</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>828</span>  * Static parameters
+<span class='line'>829</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>830</span> 
+<span class='line'>831</span> </span><span class="COMM">/**
+<span class='line'>832</span>  * Array of all ColReorder instances for later reference
+<span class='line'>833</span>  *  @property ColReorder.aoInstances
+<span class='line'>834</span>  *  @type     array
+<span class='line'>835</span>  *  @default  []
+<span class='line'>836</span>  *  @static
+<span class='line'>837</span>  */</span><span class="WHIT">
+<span class='line'>838</span> </span><span class="NAME">ColReorder.aoInstances</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>839</span> 
+<span class='line'>840</span> 
+<span class='line'>841</span> 
+<span class='line'>842</span> 
+<span class='line'>843</span> 
+<span class='line'>844</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>845</span>  * Static functions
+<span class='line'>846</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>847</span> 
+<span class='line'>848</span> </span><span class="COMM">/**
+<span class='line'>849</span>  * Reset the column ordering for a DataTables instance
+<span class='line'>850</span>  *  @method  ColReorder.fnReset
+<span class='line'>851</span>  *  @param   object oTable DataTables instance to consider
+<span class='line'>852</span>  *  @returns void
+<span class='line'>853</span>  *  @static
+<span class='line'>854</span>  */</span><span class="WHIT">
+<span class='line'>855</span> </span><span class="NAME">ColReorder.fnReset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>856</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>857</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">ColReorder.aoInstances.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>858</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>859</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">ColReorder.aoInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s.dt.oInstance</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>860</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>861</span> </span><span class="WHIT">			</span><span class="NAME">ColReorder.aoInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">fnReset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>862</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>863</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>864</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>865</span> 
+<span class='line'>866</span> 
+<span class='line'>867</span> 
+<span class='line'>868</span> 
+<span class='line'>869</span> 
+<span class='line'>870</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>871</span>  * Constants
+<span class='line'>872</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>873</span> 
+<span class='line'>874</span> </span><span class="COMM">/**
+<span class='line'>875</span>  * Name of this class
+<span class='line'>876</span>  *  @constant CLASS
+<span class='line'>877</span>  *  @type     String
+<span class='line'>878</span>  *  @default  ColReorder
+<span class='line'>879</span>  */</span><span class="WHIT">
+<span class='line'>880</span> </span><span class="NAME">ColReorder.prototype.CLASS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColReorder"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>881</span> 
+<span class='line'>882</span> 
+<span class='line'>883</span> </span><span class="COMM">/**
+<span class='line'>884</span>  * ColReorder version
+<span class='line'>885</span>  *  @constant  VERSION
+<span class='line'>886</span>  *  @type      String
+<span class='line'>887</span>  *  @default   1.0.1.dev
+<span class='line'>888</span>  */</span><span class="WHIT">
+<span class='line'>889</span> </span><span class="NAME">ColReorder.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"1.0.1"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>890</span> </span><span class="NAME">ColReorder.prototype.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ColReorder.VERSION</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>891</span> 
+<span class='line'>892</span> 
+<span class='line'>893</span> 
+<span class='line'>894</span> 
+<span class='line'>895</span> 
+<span class='line'>896</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>897</span>  * Initialisation
+<span class='line'>898</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>899</span> 
+<span class='line'>900</span> </span><span class="COMM">/*
+<span class='line'>901</span>  * Register a new feature with DataTables
+<span class='line'>902</span>  */</span><span class="WHIT">
+<span class='line'>903</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>904</span> </span><span class="WHIT">     </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>905</span> </span><span class="WHIT">     </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="PUNC">(</span><span class="STRN">'1.7.4'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>906</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>907</span> </span><span class="WHIT">	</span><span class="NAME">$.fn.dataTableExt.aoFeatures.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>908</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>909</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInstance</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>910</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oTable._oPluginColReorder</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>911</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">opts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInit.oColReorder</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> 
+<span class='line'>912</span> 					</span><span class="NAME">oDTSettings.oInit.oColReorder</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>913</span> </span><span class="WHIT">				</span><span class="NAME">oTable._oPluginColReorder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">ColReorder</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInstance</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">opts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>914</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>915</span> </span><span class="WHIT">				</span><span class="NAME">oTable.oApi._fnLog</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"ColReorder attempted to initialise twice. Ignoring second"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>916</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>917</span> </span><span class="WHIT">			
+<span class='line'>918</span> 			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">/* No node to insert */</span><span class="WHIT">
+<span class='line'>919</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>920</span> </span><span class="WHIT">		</span><span class="NAME">cFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"R"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>921</span> </span><span class="WHIT">		</span><span class="NAME">sFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ColReorder"</span><span class="WHIT">
+<span class='line'>922</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>923</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>924</span> </span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>925</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>926</span> </span><span class="WHIT">	</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: ColReorder requires DataTables 1.7.4 or greater - www.datatables.net/download"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>927</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>928</span> 
+<span class='line'>929</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">jQuery</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">window</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>930</span> </span></pre></body></html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/js/ColReorder.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/js/ColReorder.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/js/ColReorder.js	(revision 6286)
@@ -0,0 +1,929 @@
+/*
+ * File:        ColReorder.js
+ * Version:     1.0.1
+ * CVS:         $Id$
+ * Description: Controls for column visiblity in DataTables
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     Wed Sep 15 18:23:29 BST 2010
+ * Modified:    $Date$ by $Author$
+ * Language:    Javascript
+ * License:     LGPL
+ * Project:     DataTables
+ * Contact:     www.sprymedia.co.uk/contact
+ * 
+ * Copyright 2010 Allan Jardine, all rights reserved.
+ *
+ */
+
+
+(function($, window, document) {
+
+
+/**
+ * Switch the key value pairing of an index array to be value key (i.e. the old value is now the
+ * key). For example consider [ 2, 0, 1 ] this would be returned as [ 1, 2, 0 ].
+ *  @method  fnInvertKeyValues
+ *  @param   array aIn Array to switch around
+ *  @returns array
+ */
+function fnInvertKeyValues( aIn )
+{
+	var aRet=[];
+	for ( var i=0, iLen=aIn.length ; i<iLen ; i++ )
+	{
+		aRet[ aIn[i] ] = i;
+	}
+	return aRet;
+}
+
+
+/**
+ * Modify an array by switching the position of two elements
+ *  @method  fnArraySwitch
+ *  @param   array aArray Array to consider, will be modified by reference (i.e. no return)
+ *  @param   int iFrom From point
+ *  @param   int iTo Insert point
+ *  @returns void
+ */
+function fnArraySwitch( aArray, iFrom, iTo )
+{
+	var mStore = aArray.splice( iFrom, 1 )[0];
+	aArray.splice( iTo, 0, mStore );
+}
+
+
+/**
+ * Switch the positions of nodes in a parent node (note this is specifically designed for 
+ * table rows). Note this function considers all element nodes under the parent!
+ *  @method  fnDomSwitch
+ *  @param   string sTag Tag to consider
+ *  @param   int iFrom Element to move
+ *  @param   int Point to element the element to (before this point), can be null for append
+ *  @returns void
+ */
+function fnDomSwitch( nParent, iFrom, iTo )
+{
+	var anTags = [];
+	for ( var i=0, iLen=nParent.childNodes.length ; i<iLen ; i++ )
+	{
+		if ( nParent.childNodes[i].nodeType == 1 )
+		{
+			anTags.push( nParent.childNodes[i] );
+		}
+	}
+	var nStore = anTags[ iFrom ];
+	
+	if ( iTo !== null )
+	{
+		nParent.insertBefore( nStore, anTags[iTo] );
+	}
+	else
+	{
+		nParent.appendChild( nStore );
+	}
+}
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables plug-in API functions
+ *
+ * This are required by ColReorder in order to perform the tasks required, and also keep this
+ * code portable, to be used for other column reordering projects with DataTables, if needed.
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
+/**
+ * Plug-in for DataTables which will reorder the internal column structure by taking the column
+ * from one position (iFrom) and insert it into a given point (iTo).
+ *  @method  $.fn.dataTableExt.oApi.fnColReorder
+ *  @param   object oSettings DataTables settings object - automatically added by DataTables! 
+ *  @param   int iFrom Take the column to be repositioned from this point
+ *  @param   int iTo and insert it into this point
+ *  @returns void
+ */
+$.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo )
+{
+	var i, iLen, j, jLen, iCols=oSettings.aoColumns.length, nTrs;
+	
+	/* Sanity check in the input */
+	if ( iFrom == iTo )
+	{
+		/* Pointless reorder */
+		return;
+	}
+	
+	if ( iFrom < 0 || iFrom >= iCols )
+	{
+		this.oApi._fnLog( oSettings, 1, "ColReorder 'from' index is out of bounds: "+iFrom );
+		return;
+	}
+	
+	if ( iTo < 0 || iTo >= iCols )
+	{
+		this.oApi._fnLog( oSettings, 1, "ColReorder 'to' index is out of bounds: "+iTo );
+		return;
+	}
+	
+	/*
+	 * Calculate the new column array index, so we have a mapping between the old and new
+	 */
+	var aiMapping = [];
+	for ( i=0, iLen=iCols ; i<iLen ; i++ )
+	{
+		aiMapping[i] = i;
+	}
+	fnArraySwitch( aiMapping, iFrom, iTo );
+	var aiInvertMapping = fnInvertKeyValues( aiMapping );
+	
+	
+	/*
+	 * Convert all internal indexing to the new column order indexes
+	 */
+	/* Sorting */
+	for ( i=0, iLen=oSettings.aaSorting.length ; i<iLen ; i++ )
+	{
+		oSettings.aaSorting[i][0] = aiInvertMapping[ oSettings.aaSorting[i][0] ];
+	}
+	
+	/* Fixed sorting */
+	if ( oSettings.aaSortingFixed !== null )
+	{
+		for ( i=0, iLen=oSettings.aaSortingFixed.length ; i<iLen ; i++ )
+		{
+			oSettings.aaSortingFixed[i][0] = aiInvertMapping[ oSettings.aaSortingFixed[i][0] ];
+		}
+	}
+	
+	/* Data column sorting (the column which the sort for a given column should take place on) */
+	for ( i=0, iLen=iCols ; i<iLen ; i++ )
+	{
+		oSettings.aoColumns[i].iDataSort = aiInvertMapping[ oSettings.aoColumns[i].iDataSort ];
+	}
+	
+	
+	/*
+	 * Move the DOM elements
+	 */
+	if ( oSettings.aoColumns[iFrom].bVisible )
+	{
+		/* Calculate the current visible index and the point to insert the node before. The insert
+		 * before needs to take into account that there might not be an element to insert before,
+		 * in which case it will be null, and an appendChild should be used
+		 */
+		var iVisibleIndex = this.oApi._fnColumnIndexToVisible( oSettings, iFrom );
+		var iInsertBeforeIndex = null;
+		
+		i = iTo < iFrom ? iTo : iTo + 1;
+		while ( iInsertBeforeIndex === null && i < iCols )
+		{
+			iInsertBeforeIndex = this.oApi._fnColumnIndexToVisible( oSettings, i );
+			i++;
+		}
+		
+		/* Header */
+		nTrs = oSettings.nTHead.getElementsByTagName('tr');
+		for ( i=0, iLen=nTrs.length ; i<iLen ; i++ )
+		{
+			fnDomSwitch( nTrs[i], iVisibleIndex, iInsertBeforeIndex );
+		}
+		
+		/* Footer */
+		if ( oSettings.nTFoot !== null )
+		{
+			nTrs = oSettings.nTFoot.getElementsByTagName('tr');
+			for ( i=0, iLen=nTrs.length ; i<iLen ; i++ )
+			{
+				fnDomSwitch( nTrs[i], iVisibleIndex, iInsertBeforeIndex );
+			}
+		}
+		
+		/* Body */
+		for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ )
+		{
+			fnDomSwitch( oSettings.aoData[i].nTr, iVisibleIndex, iInsertBeforeIndex );
+		}
+	}
+	
+	
+	/* 
+	 * Move the internal array elements
+	 */
+	/* Columns */
+	fnArraySwitch( oSettings.aoColumns, iFrom, iTo );
+	
+	/* Search columns */
+	fnArraySwitch( oSettings.aoPreSearchCols, iFrom, iTo );
+	
+	/* Array array - internal data anodes cache */
+	for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ )
+	{
+		fnArraySwitch( oSettings.aoData[i]._aData, iFrom, iTo );
+		fnArraySwitch( oSettings.aoData[i]._anHidden, iFrom, iTo );
+	}
+	
+	
+	/*
+	 * Update DataTables' event handlers
+	 */
+	
+	/* Sort listener */
+	for ( i=0, iLen=iCols ; i<iLen ; i++ )
+	{
+		$(oSettings.aoColumns[i].nTh).unbind('click');
+		this.oApi._fnSortAttachListener( oSettings, oSettings.aoColumns[i].nTh, i );
+	}
+	
+	
+	/*
+	 * Any extra operations for the other plug-ins
+	 */
+	if ( typeof ColVis != 'undefined' )
+	{
+		ColVis.fnRebuild( oSettings.oInstance );
+	}
+	
+	if ( typeof oSettings.oInstance._oPluginFixedHeader != 'undefined' )
+	{
+		oSettings.oInstance._oPluginFixedHeader.fnUpdate();
+	}
+};
+
+
+
+
+/** 
+ * ColReorder provides column visiblity control for DataTables
+ * @class ColReorder
+ * @constructor
+ * @param {object} DataTables object
+ * @param {object} ColReorder options
+ */
+ColReorder = function( oTable, oOpts )
+{
+	/* Santiy check that we are a new instance */
+	if ( !this.CLASS || this.CLASS != "ColReorder" )
+	{
+		alert( "Warning: ColReorder must be initialised with the keyword 'new'" );
+	}
+	
+	if ( typeof oOpts == 'undefined' )
+	{
+		oOpts = {};
+	}
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public class variables
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * @namespace Settings object which contains customisable information for ColReorder instance
+	 */
+	this.s = {
+		/**
+		 * DataTables settings object
+		 *  @property dt
+		 *  @type     Object
+		 *  @default  null
+		 */
+		"dt": null,
+		
+		/**
+		 * Initialisation object used for this instance
+		 *  @property init
+		 *  @type     object
+		 *  @default  {}
+		 */
+		"init": oOpts,
+		
+		/**
+		 * Number of columns to fix (not allow to be reordered)
+		 *  @property fixed
+		 *  @type     int
+		 *  @default  0
+		 */
+		"fixed": 0,
+		
+		/**
+		 * @namespace Information used for the mouse drag
+		 */
+		"mouse": {
+			"startX": -1,
+			"startY": -1,
+			"offsetX": -1,
+			"offsetY": -1,
+			"target": -1,
+			"targetIndex": -1,
+			"fromIndex": -1
+		},
+		
+		/**
+		 * Information which is used for positioning the insert cusor and knowing where to do the
+		 * insert. Array of objects with the properties:
+		 *   x: x-axis position
+		 *   to: insert point
+		 *  @property aoTargets
+		 *  @type     array
+		 *  @default  []
+		 */
+		"aoTargets": []
+	};
+	
+	
+	/**
+	 * @namespace Common and useful DOM elements for the class instance
+	 */
+	this.dom = {
+		/**
+		 * Dragging element (the one the mouse is moving)
+		 *  @property drag
+		 *  @type     element
+		 *  @default  null
+		 */
+		"drag": null,
+		
+		/**
+		 * The insert cursor
+		 *  @property pointer
+		 *  @type     element
+		 *  @default  null
+		 */
+		"pointer": null
+	};
+	
+	
+	/* Constructor logic */
+	this.s.dt = oTable.fnSettings();
+	this._fnConstruct();
+	
+	/* Store the instance for later use */
+	ColReorder.aoInstances.push( this );
+	return this;
+};
+
+
+
+ColReorder.prototype = {
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public methods
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	"fnReset": function ()
+	{
+		var a = [];
+		for ( var i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
+		{
+			a.push( this.s.dt.aoColumns[i]._ColReorder_iOrigCol );
+		}
+		
+		this._fnOrderColumns( a );
+	},
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Private methods (they are of course public in JS, but recommended as private)
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Constructor logic
+	 *  @method  _fnConstruct
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnConstruct": function ()
+	{
+		var that = this;
+		var i, iLen;
+		
+		/* Columns discounted from reordering - counting left to right */
+		if ( typeof this.s.init.iFixedColumns != 'undefined' )
+		{
+			this.s.fixed = this.s.init.iFixedColumns;
+		}
+		
+		/* Add event handlers for the drag and drop, and also mark the original column order */
+		for ( i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
+		{
+			if ( i > this.s.fixed-1 )
+			{
+				this._fnMouseListener( i, this.s.dt.aoColumns[i].nTh );
+			}
+			
+			/* Mark the original column order for later reference */
+			this.s.dt.aoColumns[i]._ColReorder_iOrigCol = i;
+		}
+		
+		/* State saving */
+		this.s.dt.aoStateSave.push( {
+			"fn": function (oS, sVal) {
+				return that._fnStateSave.call( that, sVal );
+			},
+			"sName": "ColReorder_State"
+		} );
+		
+		/* An initial column order has been specified */
+		var aiOrder = null;
+		if ( typeof this.s.init.aiOrder != 'undefined' )
+		{
+			aiOrder = this.s.init.aiOrder.slice();
+		}
+		
+		/* State loading, overrides the column order given */
+		if ( this.s.dt.oLoadedState && typeof this.s.dt.oLoadedState.ColReorder != 'undefined' &&
+		  this.s.dt.oLoadedState.ColReorder.length == this.s.dt.aoColumns.length )
+		{
+			aiOrder = this.s.dt.oLoadedState.ColReorder;
+		}
+		
+		/* If we have an order to apply - do so */
+		if ( aiOrder )
+		{
+			/* We might be called during or after the DataTables initialisation. If before, then we need
+			 * to wait until the draw is done, if after, then do what we need to do right away
+			 */
+			if ( !that.s.dt._bInitComplete )
+			{
+				var bDone = false;
+				this.s.dt.aoDrawCallback.push( {
+					"fn": function () {
+						if ( !that.s.dt._bInitComplete && !bDone )
+						{
+							bDone = true;
+							var resort = fnInvertKeyValues( aiOrder );
+							that._fnOrderColumns.call( that, resort );
+						}
+					},
+					"sName": "ColReorder_Pre"
+				} );
+			}
+			else
+			{
+				var resort = fnInvertKeyValues( aiOrder );
+				that._fnOrderColumns.call( that, resort );
+			}
+		}
+	},
+	
+	
+	/**
+	 * Set the column order from an array
+	 *  @method  _fnOrderColumns
+	 *  @param   array a An array of integers which dictate the column order that should be applied
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnOrderColumns": function ( a )
+	{
+		if ( a.length != this.s.dt.aoColumns.length )
+		{
+			this.s.dt.oInstance.oApi._fnLog( oDTSettings, 1, "ColReorder - array reorder does not "+
+			 	"match known number of columns. Skipping." );
+			return;
+		}
+		
+		for ( var i=0, iLen=a.length ; i<iLen ; i++ )
+		{
+			var currIndex = $.inArray( i, a );
+			if ( i != currIndex )
+			{
+				/* Reorder our switching array */
+				fnArraySwitch( a, currIndex, i );
+				
+				/* Do the column reorder in the table */
+				this.s.dt.oInstance.fnColReorder( currIndex, i );
+			}
+		}
+		
+		/* When scrolling we need to recalculate the column sizes to allow for the shift */
+		if ( this.s.dt.oScroll.sX !== "" || this.s.dt.oScroll.sY !== "" )
+		{
+			this.s.dt.oInstance.fnAdjustColumnSizing();
+		}
+			
+		/* Save the state */
+		this.s.dt.oInstance.oApi._fnSaveState( this.s.dt );
+	},
+	
+	
+	/**
+	 * This function effectively replaces the state saving function in DataTables (this is needed
+	 * because otherwise DataTables would state save the columns in their reordered state, not the
+	 * original which is needed on first draw). This is sensitive to any changes in the DataTables
+	 * state saving method!
+	 *  @method  _fnStateSave
+	 *  @param   string sCurrentVal 
+	 *  @returns string JSON encoded cookie string for DataTables
+	 *  @private 
+	 */
+	"_fnStateSave": function ( sCurrentVal )
+	{
+		var i, iLen, sTmp;
+		var sValue = sCurrentVal.split('"aaSorting"')[0];
+		var a = [];
+		var oSettings = this.s.dt;
+		
+		/* Sorting */
+		sValue += '"aaSorting":[ ';
+		for ( i=0 ; i<oSettings.aaSorting.length ; i++ )
+		{
+			sValue += '['+oSettings.aoColumns[ oSettings.aaSorting[i][0] ]._ColReorder_iOrigCol+
+				',"'+oSettings.aaSorting[i][1]+'"],';
+		}
+		sValue = sValue.substring(0, sValue.length-1);
+		sValue += "],";
+		
+		/* Column filter */
+		for ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
+		{
+			a[ oSettings.aoColumns[i]._ColReorder_iOrigCol ] = {
+				"sSearch": encodeURIComponent(oSettings.aoPreSearchCols[i].sSearch),
+				"bRegex": !oSettings.aoPreSearchCols[i].bRegex
+			};
+		}
+		
+		sValue += '"aaSearchCols":[ ';
+		for ( i=0 ; i<a.length ; i++ )
+		{
+			sValue += '["'+a[i].sSearch+'",'+a[i].bRegex+'],';
+		}
+		sValue = sValue.substring(0, sValue.length-1);
+		sValue += "],";
+		
+		/* Visibility */
+		a = [];
+		for ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
+		{
+			a[ oSettings.aoColumns[i]._ColReorder_iOrigCol ] = oSettings.aoColumns[i].bVisible;
+		}
+		
+		sValue += '"abVisCols":[ ';
+		for ( i=0 ; i<a.length ; i++ )
+		{
+			sValue += a[i]+",";
+		}
+		sValue = sValue.substring(0, sValue.length-1);
+		sValue += "],";
+		
+		/* Column reordering */
+		a = [];
+		for ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ ) {
+			a.push( oSettings.aoColumns[i]._ColReorder_iOrigCol );
+		}
+		sValue += '"ColReorder":['+a.join(',')+']';
+		
+		return sValue;
+	},
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Mouse drop and drag
+	 */
+	
+	/**
+	 * Add a mouse down listener to a particluar TH element
+	 *  @method  _fnMouseListener
+	 *  @param   int i Column index
+	 *  @param   element nTh TH element clicked on
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnMouseListener": function ( i, nTh )
+	{
+		var that = this;
+		$(nTh).bind( 'mousedown.ColReorder', function (e) {
+			that._fnMouseDown.call( that, e, nTh );
+			return false;
+		} );
+	},
+	
+	
+	/**
+	 * Mouse down on a TH element in the table header
+	 *  @method  _fnMouseDown
+	 *  @param   event e Mouse event
+	 *  @param   element nTh TH element to be dragged
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnMouseDown": function ( e, nTh )
+	{
+		var
+			that = this,
+			aoColumns = this.s.dt.aoColumns;
+		
+		/* Store information about the mouse position */
+		var nThTarget = e.target.nodeName == "TH" ? e.target : $(e.target).parents('TH')[0];
+		var offset = $(nThTarget).offset();
+		this.s.mouse.startX = e.pageX;
+		this.s.mouse.startY = e.pageY;
+		this.s.mouse.offsetX = e.pageX - offset.left;
+		this.s.mouse.offsetY = e.pageY - offset.top;
+		this.s.mouse.target = nTh;
+		this.s.mouse.targetIndex = $('th', nTh.parentNode).index( nTh );
+		this.s.mouse.fromIndex = this.s.dt.oInstance.oApi._fnVisibleToColumnIndex( this.s.dt, 
+			this.s.mouse.targetIndex );
+		
+		/* Calculate a cached array with the points of the column inserts, and the 'to' points */
+		this.s.aoTargets.splice( 0, this.s.aoTargets.length );
+		
+		this.s.aoTargets.push( {
+			"x":  $(this.s.dt.nTable).offset().left,
+			"to": 0
+		} );
+		
+		var iToPoint = 0;
+		for ( var i=0, iLen=aoColumns.length ; i<iLen ; i++ )
+		{
+			/* For the column / header in question, we want it's position to remain the same if the 
+			 * position is just to it's immediate left or right, so we only incremement the counter for
+			 * other columns
+			 */
+			if ( i != this.s.mouse.fromIndex )
+			{
+				iToPoint++;
+			}
+			
+			if ( aoColumns[i].bVisible )
+			{
+				this.s.aoTargets.push( {
+					"x":  $(aoColumns[i].nTh).offset().left + $(aoColumns[i].nTh).outerWidth(),
+					"to": iToPoint
+				} );
+			}
+		}
+		
+		/* Disallow columns for being reordered by drag and drop, counting left to right */
+		if ( this.s.fixed !== 0 )
+		{
+			this.s.aoTargets.splice( 0, this.s.fixed );
+		}
+		
+		/* Add event handlers to the document */
+		$(document).bind( 'mousemove.ColReorder', function (e) {
+			that._fnMouseMove.call( that, e );
+		} );
+		
+		$(document).bind( 'mouseup.ColReorder', function (e) {
+			that._fnMouseUp.call( that, e );
+		} );
+	},
+	
+	
+	/**
+	 * Deal with a mouse move event while dragging a node
+	 *  @method  _fnMouseMove
+	 *  @param   event e Mouse event
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnMouseMove": function ( e )
+	{
+		var that = this;
+		
+		if ( this.dom.drag === null )
+		{
+			/* Only create the drag element if the mouse has moved a specific distance from the start
+			 * point - this allows the user to make small mouse movements when sorting and not have a
+			 * possibly confusing drag element showing up
+			 */
+			if ( Math.pow(
+				Math.pow(e.pageX - this.s.mouse.startX, 2) + 
+				Math.pow(e.pageY - this.s.mouse.startY, 2), 0.5 ) < 5 )
+			{
+				return;
+			}
+			this._fnCreateDragNode();
+		}
+		
+		/* Position the element - we respect where in the element the click occured */
+		this.dom.drag.style.left = (e.pageX - this.s.mouse.offsetX) + "px";
+		this.dom.drag.style.top = (e.pageY - this.s.mouse.offsetY) + "px";
+		
+		/* Based on the current mouse position, calculate where the insert should go */
+		var bSet = false;
+		for ( var i=1, iLen=this.s.aoTargets.length ; i<iLen ; i++ )
+		{
+			if ( e.pageX < this.s.aoTargets[i-1].x + ((this.s.aoTargets[i].x-this.s.aoTargets[i-1].x)/2) )
+			{
+				this.dom.pointer.style.left = this.s.aoTargets[i-1].x +"px";
+				this.s.mouse.toIndex = this.s.aoTargets[i-1].to;
+				bSet = true;
+				break;
+			}
+		}
+		
+		/* The insert element wasn't positioned in the array (less than operator), so we put it at 
+		 * the end
+		 */
+		if ( !bSet )
+		{
+			this.dom.pointer.style.left = this.s.aoTargets[this.s.aoTargets.length-1].x +"px";
+			this.s.mouse.toIndex = this.s.aoTargets[this.s.aoTargets.length-1].to;
+		}
+	},
+	
+	
+	/**
+	 * Finish off the mouse drag and insert the column where needed
+	 *  @method  _fnMouseUp
+	 *  @param   event e Mouse event
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnMouseUp": function ( e )
+	{
+		var that = this;
+		
+		$(document).unbind( 'mousemove.ColReorder' );
+		$(document).unbind( 'mouseup.ColReorder' );
+		
+		if ( this.dom.drag !== null )
+		{
+			/* Remove the guide elements */
+			document.body.removeChild( this.dom.drag );
+			document.body.removeChild( this.dom.pointer );
+			this.dom.drag = null;
+			this.dom.pointer = null;
+			
+			/* Actually do the reorder */
+			this.s.dt.oInstance.fnColReorder( this.s.mouse.fromIndex, this.s.mouse.toIndex );
+			
+			/* When scrolling we need to recalculate the column sizes to allow for the shift */
+			if ( this.s.dt.oScroll.sX !== "" || this.s.dt.oScroll.sY !== "" )
+			{
+				this.s.dt.oInstance.fnAdjustColumnSizing();
+			}
+			
+			/* Save the state */
+			this.s.dt.oInstance.oApi._fnSaveState( this.s.dt );
+		}
+	},
+	
+	
+	/**
+	 * Copy the TH element that is being drags so the user has the idea that they are actually 
+	 * moving it around the page.
+	 *  @method  _fnCreateDragNode
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnCreateDragNode": function ()
+	{
+		var that = this;
+		
+		this.dom.drag = $(this.s.dt.nTHead.parentNode).clone(true)[0];
+		this.dom.drag.className += " DTCR_clonedTable";
+		while ( this.dom.drag.getElementsByTagName('tbody').length > 0 )
+		{
+			this.dom.drag.removeChild( this.dom.drag.getElementsByTagName('tbody')[0] );
+		}
+		while ( this.dom.drag.getElementsByTagName('tfoot').length > 0 )
+		{
+			this.dom.drag.removeChild( this.dom.drag.getElementsByTagName('tfoot')[0] );
+		}
+		
+		$('thead tr:eq(0)', this.dom.drag).each( function () {
+			$('th:not(:eq('+that.s.mouse.targetIndex+'))', this).remove();
+		} );
+		$('tr', this.dom.drag).height( $('tr:eq(0)', that.s.dt.nTHead).height() );
+		
+		$('thead tr:gt(0)', this.dom.drag).remove();
+		
+		$('thead th:eq(0)', this.dom.drag).each( function (i) {
+			this.style.width = $('th:eq('+that.s.mouse.targetIndex+')', that.s.dt.nTHead).width()+"px";
+		} );
+		
+		this.dom.drag.style.position = "absolute";
+		this.dom.drag.style.top = "0px";
+		this.dom.drag.style.left = "0px";
+		this.dom.drag.style.width = $('th:eq('+that.s.mouse.targetIndex+')', that.s.dt.nTHead).outerWidth()+"px";
+		
+		
+		this.dom.pointer = document.createElement( 'div' );
+		this.dom.pointer.className = "DTCR_pointer";
+		this.dom.pointer.style.position = "absolute";
+		
+		if ( this.s.dt.oScroll.sX === "" && this.s.dt.oScroll.sY === "" )
+		{
+			this.dom.pointer.style.top = $(this.s.dt.nTable).offset().top+"px";
+			this.dom.pointer.style.height = $(this.s.dt.nTable).height()+"px";
+		}
+		else
+		{
+			this.dom.pointer.style.top = $('div.dataTables_scroll', this.s.dt.nTableWrapper).offset().top+"px";
+			this.dom.pointer.style.height = $('div.dataTables_scroll', this.s.dt.nTableWrapper).height()+"px";
+		}
+	
+		document.body.appendChild( this.dom.pointer );
+		document.body.appendChild( this.dom.drag );
+	}
+};
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Static parameters
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Array of all ColReorder instances for later reference
+ *  @property ColReorder.aoInstances
+ *  @type     array
+ *  @default  []
+ *  @static
+ */
+ColReorder.aoInstances = [];
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Static functions
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Reset the column ordering for a DataTables instance
+ *  @method  ColReorder.fnReset
+ *  @param   object oTable DataTables instance to consider
+ *  @returns void
+ *  @static
+ */
+ColReorder.fnReset = function ( oTable )
+{
+	for ( var i=0, iLen=ColReorder.aoInstances.length ; i<iLen ; i++ )
+	{
+		if ( ColReorder.aoInstances[i].s.dt.oInstance == oTable )
+		{
+			ColReorder.aoInstances[i].fnReset();
+		}
+	}
+};
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Constants
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Name of this class
+ *  @constant CLASS
+ *  @type     String
+ *  @default  ColReorder
+ */
+ColReorder.prototype.CLASS = "ColReorder";
+
+
+/**
+ * ColReorder version
+ *  @constant  VERSION
+ *  @type      String
+ *  @default   1.0.1.dev
+ */
+ColReorder.VERSION = "1.0.1";
+ColReorder.prototype.VERSION = ColReorder.VERSION;
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Initialisation
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * Register a new feature with DataTables
+ */
+if ( typeof $.fn.dataTable == "function" &&
+     typeof $.fn.dataTableExt.fnVersionCheck == "function" &&
+     $.fn.dataTableExt.fnVersionCheck('1.7.4') )
+{
+	$.fn.dataTableExt.aoFeatures.push( {
+		"fnInit": function( oDTSettings ) {
+			var oTable = oDTSettings.oInstance;
+			if ( typeof oTable._oPluginColReorder == 'undefined' ) {
+				var opts = typeof oDTSettings.oInit.oColReorder != 'undefined' ? 
+					oDTSettings.oInit.oColReorder : {};
+				oTable._oPluginColReorder = new ColReorder( oDTSettings.oInstance, opts );
+			} else {
+				oTable.oApi._fnLog( oDTSettings, 1, "ColReorder attempted to initialise twice. Ignoring second" );
+			}
+			
+			return null; /* No node to insert */
+		},
+		"cFeature": "R",
+		"sFeature": "ColReorder"
+	} );
+}
+else
+{
+	alert( "Warning: ColReorder requires DataTables 1.7.4 or greater - www.datatables.net/download");
+}
+
+})(jQuery, window, document);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/js/ColReorder.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/js/ColReorder.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/media/js/ColReorder.min.js	(revision 6286)
@@ -0,0 +1,33 @@
+/*
+ * File:        ColReorder.min.js
+ * Version:     1.0.1
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * 
+ * Copyright 2010-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD (3 point) style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+(function(f,o,i){function l(a){for(var c=[],d=0,b=a.length;d<b;d++)c[a[d]]=d;return c}function j(a,c,d){c=a.splice(c,1)[0];a.splice(d,0,c)}function m(a,c,d){for(var b=[],e=0,h=a.childNodes.length;e<h;e++)a.childNodes[e].nodeType==1&&b.push(a.childNodes[e]);c=b[c];d!==null?a.insertBefore(c,b[d]):a.appendChild(c)}f.fn.dataTableExt.oApi.fnColReorder=function(a,c,d){var b,e,h=a.aoColumns.length,g;if(c!=d)if(c<0||c>=h)this.oApi._fnLog(a,1,"ColReorder 'from' index is out of bounds: "+c);else if(d<0||d>=
+h)this.oApi._fnLog(a,1,"ColReorder 'to' index is out of bounds: "+d);else{g=[];b=0;for(e=h;b<e;b++)g[b]=b;j(g,c,d);g=l(g);b=0;for(e=a.aaSorting.length;b<e;b++)a.aaSorting[b][0]=g[a.aaSorting[b][0]];if(a.aaSortingFixed!==null){b=0;for(e=a.aaSortingFixed.length;b<e;b++)a.aaSortingFixed[b][0]=g[a.aaSortingFixed[b][0]]}b=0;for(e=h;b<e;b++)a.aoColumns[b].iDataSort=g[a.aoColumns[b].iDataSort];if(a.aoColumns[c].bVisible){var n=this.oApi._fnColumnIndexToVisible(a,c),k=null;for(b=d<c?d:d+1;k===null&&b<h;){k=
+this.oApi._fnColumnIndexToVisible(a,b);b++}g=a.nTHead.getElementsByTagName("tr");b=0;for(e=g.length;b<e;b++)m(g[b],n,k);if(a.nTFoot!==null){g=a.nTFoot.getElementsByTagName("tr");b=0;for(e=g.length;b<e;b++)m(g[b],n,k)}b=0;for(e=a.aoData.length;b<e;b++)m(a.aoData[b].nTr,n,k)}j(a.aoColumns,c,d);j(a.aoPreSearchCols,c,d);b=0;for(e=a.aoData.length;b<e;b++){j(a.aoData[b]._aData,c,d);j(a.aoData[b]._anHidden,c,d)}b=0;for(e=h;b<e;b++){f(a.aoColumns[b].nTh).unbind("click");this.oApi._fnSortAttachListener(a,
+a.aoColumns[b].nTh,b)}typeof ColVis!="undefined"&&ColVis.fnRebuild(a.oInstance);typeof a.oInstance._oPluginFixedHeader!="undefined"&&a.oInstance._oPluginFixedHeader.fnUpdate()}};ColReorder=function(a,c){if(!this.CLASS||this.CLASS!="ColReorder")alert("Warning: ColReorder must be initialised with the keyword 'new'");if(typeof c=="undefined")c={};this.s={dt:null,init:c,fixed:0,mouse:{startX:-1,startY:-1,offsetX:-1,offsetY:-1,target:-1,targetIndex:-1,fromIndex:-1},aoTargets:[]};this.dom={drag:null,pointer:null};
+this.s.dt=a.fnSettings();this._fnConstruct();ColReorder.aoInstances.push(this);return this};ColReorder.prototype={fnReset:function(){for(var a=[],c=0,d=this.s.dt.aoColumns.length;c<d;c++)a.push(this.s.dt.aoColumns[c]._ColReorder_iOrigCol);this._fnOrderColumns(a)},_fnConstruct:function(){var a=this,c,d;if(typeof this.s.init.iFixedColumns!="undefined")this.s.fixed=this.s.init.iFixedColumns;c=0;for(d=this.s.dt.aoColumns.length;c<d;c++){c>this.s.fixed-1&&this._fnMouseListener(c,this.s.dt.aoColumns[c].nTh);
+this.s.dt.aoColumns[c]._ColReorder_iOrigCol=c}this.s.dt.aoStateSave.push({fn:function(h,g){return a._fnStateSave.call(a,g)},sName:"ColReorder_State"});var b=null;if(typeof this.s.init.aiOrder!="undefined")b=this.s.init.aiOrder.slice();if(this.s.dt.oLoadedState&&typeof this.s.dt.oLoadedState.ColReorder!="undefined"&&this.s.dt.oLoadedState.ColReorder.length==this.s.dt.aoColumns.length)b=this.s.dt.oLoadedState.ColReorder;if(b)if(a.s.dt._bInitComplete){c=l(b);a._fnOrderColumns.call(a,c)}else{var e=false;
+this.s.dt.aoDrawCallback.push({fn:function(){if(!a.s.dt._bInitComplete&&!e){e=true;var h=l(b);a._fnOrderColumns.call(a,h)}},sName:"ColReorder_Pre"})}},_fnOrderColumns:function(a){if(a.length!=this.s.dt.aoColumns.length)this.s.dt.oInstance.oApi._fnLog(oDTSettings,1,"ColReorder - array reorder does not match known number of columns. Skipping.");else{for(var c=0,d=a.length;c<d;c++){var b=f.inArray(c,a);if(c!=b){j(a,b,c);this.s.dt.oInstance.fnColReorder(b,c)}}if(this.s.dt.oScroll.sX!==""||this.s.dt.oScroll.sY!==
+"")this.s.dt.oInstance.fnAdjustColumnSizing();this.s.dt.oInstance.oApi._fnSaveState(this.s.dt)}},_fnStateSave:function(a){var c,d=a.split('"aaSorting"')[0],b=[],e=this.s.dt;d+='"aaSorting":[ ';for(a=0;a<e.aaSorting.length;a++)d+="["+e.aoColumns[e.aaSorting[a][0]]._ColReorder_iOrigCol+',"'+e.aaSorting[a][1]+'"],';d=d.substring(0,d.length-1);d+="],";a=0;for(c=e.aoColumns.length;a<c;a++)b[e.aoColumns[a]._ColReorder_iOrigCol]={sSearch:encodeURIComponent(e.aoPreSearchCols[a].sSearch),bRegex:!e.aoPreSearchCols[a].bRegex};
+d+='"aaSearchCols":[ ';for(a=0;a<b.length;a++)d+='["'+b[a].sSearch+'",'+b[a].bRegex+"],";d=d.substring(0,d.length-1);d+="],";b=[];a=0;for(c=e.aoColumns.length;a<c;a++)b[e.aoColumns[a]._ColReorder_iOrigCol]=e.aoColumns[a].bVisible;d+='"abVisCols":[ ';for(a=0;a<b.length;a++)d+=b[a]+",";d=d.substring(0,d.length-1);d+="],";b=[];a=0;for(c=e.aoColumns.length;a<c;a++)b.push(e.aoColumns[a]._ColReorder_iOrigCol);d+='"ColReorder":['+b.join(",")+"]";return d},_fnMouseListener:function(a,c){var d=this;f(c).bind("mousedown.ColReorder",
+function(b){d._fnMouseDown.call(d,b,c);return false})},_fnMouseDown:function(a,c){var d=this,b=this.s.dt.aoColumns,e=a.target.nodeName=="TH"?a.target:f(a.target).parents("TH")[0];e=f(e).offset();this.s.mouse.startX=a.pageX;this.s.mouse.startY=a.pageY;this.s.mouse.offsetX=a.pageX-e.left;this.s.mouse.offsetY=a.pageY-e.top;this.s.mouse.target=c;this.s.mouse.targetIndex=f("th",c.parentNode).index(c);this.s.mouse.fromIndex=this.s.dt.oInstance.oApi._fnVisibleToColumnIndex(this.s.dt,this.s.mouse.targetIndex);
+this.s.aoTargets.splice(0,this.s.aoTargets.length);this.s.aoTargets.push({x:f(this.s.dt.nTable).offset().left,to:0});c=a=0;for(e=b.length;c<e;c++){c!=this.s.mouse.fromIndex&&a++;b[c].bVisible&&this.s.aoTargets.push({x:f(b[c].nTh).offset().left+f(b[c].nTh).outerWidth(),to:a})}this.s.fixed!==0&&this.s.aoTargets.splice(0,this.s.fixed);f(i).bind("mousemove.ColReorder",function(h){d._fnMouseMove.call(d,h)});f(i).bind("mouseup.ColReorder",function(h){d._fnMouseUp.call(d,h)})},_fnMouseMove:function(a){if(this.dom.drag===
+null){if(Math.pow(Math.pow(a.pageX-this.s.mouse.startX,2)+Math.pow(a.pageY-this.s.mouse.startY,2),0.5)<5)return;this._fnCreateDragNode()}this.dom.drag.style.left=a.pageX-this.s.mouse.offsetX+"px";this.dom.drag.style.top=a.pageY-this.s.mouse.offsetY+"px";for(var c=false,d=1,b=this.s.aoTargets.length;d<b;d++)if(a.pageX<this.s.aoTargets[d-1].x+(this.s.aoTargets[d].x-this.s.aoTargets[d-1].x)/2){this.dom.pointer.style.left=this.s.aoTargets[d-1].x+"px";this.s.mouse.toIndex=this.s.aoTargets[d-1].to;c=true;
+break}if(!c){this.dom.pointer.style.left=this.s.aoTargets[this.s.aoTargets.length-1].x+"px";this.s.mouse.toIndex=this.s.aoTargets[this.s.aoTargets.length-1].to}},_fnMouseUp:function(){f(i).unbind("mousemove.ColReorder");f(i).unbind("mouseup.ColReorder");if(this.dom.drag!==null){i.body.removeChild(this.dom.drag);i.body.removeChild(this.dom.pointer);this.dom.drag=null;this.dom.pointer=null;this.s.dt.oInstance.fnColReorder(this.s.mouse.fromIndex,this.s.mouse.toIndex);if(this.s.dt.oScroll.sX!==""||this.s.dt.oScroll.sY!==
+"")this.s.dt.oInstance.fnAdjustColumnSizing();this.s.dt.oInstance.oApi._fnSaveState(this.s.dt)}},_fnCreateDragNode:function(){var a=this;this.dom.drag=f(this.s.dt.nTHead.parentNode).clone(true)[0];for(this.dom.drag.className+=" DTCR_clonedTable";this.dom.drag.getElementsByTagName("tbody").length>0;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tbody")[0]);for(;this.dom.drag.getElementsByTagName("tfoot").length>0;)this.dom.drag.removeChild(this.dom.drag.getElementsByTagName("tfoot")[0]);
+f("thead tr:eq(0)",this.dom.drag).each(function(){f("th:not(:eq("+a.s.mouse.targetIndex+"))",this).remove()});f("tr",this.dom.drag).height(f("tr:eq(0)",a.s.dt.nTHead).height());f("thead tr:gt(0)",this.dom.drag).remove();f("thead th:eq(0)",this.dom.drag).each(function(){this.style.width=f("th:eq("+a.s.mouse.targetIndex+")",a.s.dt.nTHead).width()+"px"});this.dom.drag.style.position="absolute";this.dom.drag.style.top="0px";this.dom.drag.style.left="0px";this.dom.drag.style.width=f("th:eq("+a.s.mouse.targetIndex+
+")",a.s.dt.nTHead).outerWidth()+"px";this.dom.pointer=i.createElement("div");this.dom.pointer.className="DTCR_pointer";this.dom.pointer.style.position="absolute";if(this.s.dt.oScroll.sX===""&&this.s.dt.oScroll.sY===""){this.dom.pointer.style.top=f(this.s.dt.nTable).offset().top+"px";this.dom.pointer.style.height=f(this.s.dt.nTable).height()+"px"}else{this.dom.pointer.style.top=f("div.dataTables_scroll",this.s.dt.nTableWrapper).offset().top+"px";this.dom.pointer.style.height=f("div.dataTables_scroll",
+this.s.dt.nTableWrapper).height()+"px"}i.body.appendChild(this.dom.pointer);i.body.appendChild(this.dom.drag)}};ColReorder.aoInstances=[];ColReorder.fnReset=function(a){for(var c=0,d=ColReorder.aoInstances.length;c<d;c++)ColReorder.aoInstances[c].s.dt.oInstance==a&&ColReorder.aoInstances[c].fnReset()};ColReorder.prototype.CLASS="ColReorder";ColReorder.VERSION="1.0.1";ColReorder.prototype.VERSION=ColReorder.VERSION;typeof f.fn.dataTable=="function"&&typeof f.fn.dataTableExt.fnVersionCheck=="function"&&
+f.fn.dataTableExt.fnVersionCheck("1.7.4")?f.fn.dataTableExt.aoFeatures.push({fnInit:function(a){var c=a.oInstance;if(typeof c._oPluginColReorder=="undefined")c._oPluginColReorder=new ColReorder(a.oInstance,typeof a.oInit.oColReorder!="undefined"?a.oInit.oColReorder:{});else c.oApi._fnLog(a,1,"ColReorder attempted to initialise twice. Ignoring second");return null},cFeature:"R",sFeature:"ColReorder"}):alert("Warning: ColReorder requires DataTables 1.7.4 or greater - www.datatables.net/download")})(jQuery,
+window,document);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/predefined.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/predefined.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/predefined.html	(revision 6286)
@@ -0,0 +1,501 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip',
+					"oColReorder": {
+						"aiOrder": [ 4, 3, 2, 1, 0 ]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with predefined column ordering
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>ColReorder provides the ability to specify a column ordering which is not that of the
+				HTML (which typically you will want) through the parameter oColReorder.aiOrder. This is
+				an array of integers with the column ordering you want.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip',
+		"oColReorder": {
+			"aiOrder": [ 4, 3, 2, 1, 0 ]
+		}
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/reset.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/reset.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/reset.html	(revision 6286)
@@ -0,0 +1,533 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip',
+					"oColReorder": {
+						"aiOrder": [ 4, 3, 2, 1, 0 ]
+					}
+				} );
+				
+				$('#reset').click( function () {
+					ColReorder.fnReset( oTable );
+					return false;
+				} );
+			} );
+			
+			/*
+			 * Alternative intialisation using 'new'
+			
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				var colreorder = new ColReorder( oTable, {
+					"aiOrder": [ 4, 3, 2, 1, 0 ]
+				} );
+				
+				$('#reset').click( function () {
+					colreorder.fnReset();
+					return false;
+				} );
+			} );
+			
+			 *
+			 */
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with the ability to reset the ordering
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>One useful control option to present the end user when using ColReorder is the ability
+				to reset the column ordering to that which was found in the HTML. This can be done by
+				calling the fnReset API function. While ColReorder does not provide a visual element for
+				this itself (in order to provide maximum flexibility) it is easy to hook to an event
+				handler, as shown in this example.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<button id="reset">Reset to original HTML order</button><br><br>
+
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip',
+		"oColReorder": {
+			"aiOrder": [ 4, 3, 2, 1, 0 ]
+		}
+	} );
+	
+	$('#reset').click( function () {
+		ColReorder.fnReset( oTable );
+		return false;
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/scrolling.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/scrolling.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/scrolling.html	(revision 6286)
@@ -0,0 +1,497 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip',
+					"sScrollY": "200px",
+					"bPaginate": false
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with scrolling
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This is a simple example to show ColReorder working with DataTables scrolling.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip',
+		"sScrollY": "200px",
+		"bPaginate": false
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/server_side.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/server_side.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/server_side.html	(revision 6286)
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip',
+					"bProcessing": true,
+					"bServerSide": true,
+					"sAjaxSource": "../../examples/examples_support/server_processing_ordering.php",
+					"aoColumns": [
+						{ "sName": "engine" },
+						{ "sName": "browser" },
+						{ "sName": "platform" },
+						{ "sName": "version" },
+						{ "sName": "grade" }
+					]
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with server-side processing
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Server-side processing can be exceptionally useful in DataTables when dealing with 
+				massive data sets, and ColReorder works with this as would be expected. There must be
+				special consideration for the column ordering on the server-side script since the 
+				columns can be in an unexpected order. For this the sName parameter of each column 
+				<b>must</b> be specified and the server-side script take this into account (the parameter
+				'sColumns' is a comma separated string of these sName parameters). This is shown in this
+				example.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip',
+		"bProcessing": true,
+		"bServerSide": true,
+		"sAjaxSource": "../../examples/examples_support/server_processing_ordering.php",
+		"aoColumns": [
+			{ "sName": "engine" },
+			{ "sName": "browser" },
+			{ "sName": "platform" },
+			{ "sName": "version" },
+			{ "sName": "grade" }
+		]
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/state_save.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/state_save.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/state_save.html	(revision 6286)
@@ -0,0 +1,498 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'Rlfrtip',
+					"bStateSave": true
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with state saving
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>A useful interaction pattern to use in DataTables is state saving, so when the end user
+				reloads or revisits a page its previous state is retained. ColReorder works seamlessly
+				with state saving in DataTables, remembering and restoring the column positions, as well
+				as everything else such as sorting and filtering.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'Rlfrtip',
+		"bStateSave": true
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/theme.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/theme.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColReorder/theme.html	(revision 6286)
@@ -0,0 +1,500 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../../examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+			@import "media/css/ColReorder.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColReorder.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sDom": 'R<"H"lfr>t<"F"ip>',
+					"bJQueryUI": true,
+					"sPaginationType": "full_numbers"
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColReorder example with jQuery UI theming
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how the jQuery UI ThemeRoller option in DataTables can be used 
+				with ColReorder. The important thing to node here is how sDom is set up in order to 
+				include the required classes and elements.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="alt_insert.html">Styling the insert cursor</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="colvis.html">Integration with DataTables' ColVis plug-in</a></li>
+				<li><a href="fixedcolumns.html">Integration with DataTables' FixedColumns plug-in</a></li>
+				<li><a href="fixedheader.html">Integration with DataTables' FixedHeader plug-in</a></li>
+				<li><a href="predefined.html">Using a predefined column order set</a></li>
+				<li><a href="reset.html">Providing a user control to reset the column order</a></li>
+				<li><a href="scrolling.html">Column reordering shown with scrolling in DataTables</a></li>
+				<li><a href="server_side.html">Server-side processing support</a></li>
+				<li><a href="state_save.html">State saving of the column position</a></li>
+				<li><a href="theme.html">jQuery UI theme integration</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sDom": 'R&lt;"H"lfr&gt;t&lt;"F"ip&lt;',
+		"bJQueryUI": true,
+		"sPaginationType": "full_numbers"
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColReorder and DataTables &copy; Allan Jardine 2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/exclude_columns.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/exclude_columns.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/exclude_columns.html	(revision 6286)
@@ -0,0 +1,499 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColVis example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColVis.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'C<"clear">lfrtip',
+					"oColVis": {
+						"aiExclude": [ 0 ]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColVis example - exclude columns from list
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>It can at times be useful to exclude columns from being in the 'show / hide' list (for
+				example if you have hidden information that the end user shouldn't be able to make
+				visible. This can be done by the oColVis.aiExclude initialisation parameter when creating
+				the DataTable. This is simply an array of integers, indicating which columns should
+				be excluded. This example shows the first column being excluded.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="mouseover.html">Activate with a mouseover rather than click</a></li>
+				<li><a href="text.html">Custom text in the button</a></li>
+				<li><a href="theme.html">Using with jQuery UI ThemeRoller</a></li>
+				<li><a href="exclude_columns.html">Excluding columns from the show / hide list</a></li>
+				<li><a href="two_tables.html">Two tables initialised together - individual controls</a></li>
+				<li><a href="two_tables_identical.html">Two tables initialised together - shared control</a></li>
+				<li><a href="style.html">Alternative styling and reset to original</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'C&lt;"clear"&gt;lfrtip',
+		"oColVis": {
+			"aiExclude": [ 0 ]
+		}
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColVis and DataTables &copy; Allan Jardine 2009-2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/index.html	(revision 6286)
@@ -0,0 +1,489 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColVis example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColVis.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'C<"clear">lfrtip'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColVis example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>ColVis is a plug-in for DataTables which presents a list of all columns to a user and allows them to select which ones they wish to be visible. Click the 'Show / hide columns' button to be presented with a list of columns in the table, and click the buttons to show and hide them as you wish.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="mouseover.html">Activate with a mouseover rather than click</a></li>
+				<li><a href="text.html">Custom text in the button</a></li>
+				<li><a href="theme.html">Using with jQuery UI ThemeRoller</a></li>
+				<li><a href="exclude_columns.html">Excluding columns from the show / hide list</a></li>
+				<li><a href="two_tables.html">Two tables initialised together - individual controls</a></li>
+				<li><a href="two_tables_identical.html">Two tables initialised together - shared control</a></li>
+				<li><a href="style.html">Alternative styling and reset to original</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'C&lt;"clear"&gt;lfrtip'
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColVis and DataTables &copy; Allan Jardine 2009-2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/css/ColVis.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/css/ColVis.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/css/ColVis.css	(revision 6286)
@@ -0,0 +1,76 @@
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * ColVis styles
+ */
+.ColVis {
+	float: right;
+	margin-bottom: 1em;
+}
+
+.ColVis_Button {
+	position: relative;
+	float: left;
+	margin-right: 3px;
+	padding: 3px 5px;
+	height: 30px;
+	background-color: #fff;
+	border: 1px solid #d0d0d0;
+	cursor: pointer;
+	*cursor: hand;
+}
+
+button.ColVis_Button::-moz-focus-inner { 
+	border: none !important;
+	padding: 0;
+}
+
+.ColVis_text_hover {
+	border: 1px solid #999;
+	background-color: #f0f0f0;
+}
+
+div.ColVis_collectionBackground {
+	background-color: black;
+	z-index: 1100;
+}
+
+div.ColVis_collection {
+	position: relative;
+	width: 150px;
+	background-color: #f3f3f3;
+	padding: 3px;
+	border: 1px solid #ccc;
+	z-index: 1102;
+}
+
+div.ColVis_collection button.ColVis_Button {
+	background-color: white;
+	width: 100%;
+	float: none;
+	margin-bottom: 2px;
+}
+
+div.ColVis_catcher {
+	position: absolute;
+	z-index: 1101;
+}
+
+.disabled {
+	color: #999;
+}
+
+
+
+button.ColVis_Button {
+	text-align: left;
+}
+
+div.ColVis_collection button.ColVis_Button:hover {
+	border: 1px solid #999;
+	background-color: #f0f0f0;
+}
+
+span.ColVis_radio {
+	display: inline-block;
+	width: 20px;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/css/ColVisAlt.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/css/ColVisAlt.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/css/ColVisAlt.css	(revision 6286)
@@ -0,0 +1,104 @@
+/*
+ * An alternative styling for ColVis
+ * Note you will likely have to change the path for the background image used by jQuery UI theming:
+ *   ../../../../examples/examples_support/themes/smoothness
+ */
+
+.ColVis {
+	position: absolute;
+	right: 0;
+	top: 0;
+	width: 15px;
+	height: 30px;
+}
+
+.ColVis_MasterButton {
+	height: 100%;
+	width: 100%;
+	border-left-width: 0;
+	cursor: pointer;
+	*cursor: hand;
+	background: url('../images/button.png') no-repeat top left;
+}
+
+button.ColVis_Button::-moz-focus-inner { 
+	border: none !important;
+	padding: 0;
+}
+
+.ColVis_text_hover {
+	border: 1px solid #999;
+	background-color: #f0f0f0;
+}
+
+div.ColVis_collectionBackground {
+	background-color: black;
+	z-index: 1100;
+}
+
+div.ColVis_collection {
+	position: relative;
+	width: 150px;
+	background-color: #f9f9f9;
+	padding: 3px;
+	border: 1px solid #ccc;
+	z-index: 1102;
+}
+
+div.ColVis_collection button.ColVis_Button {
+	height: 30px;
+	width: 100%;
+	margin-right: 3px;
+	margin-bottom: 2px;
+	padding: 3px 5px;
+	cursor: pointer;
+	*cursor: hand;
+	text-align: left;
+}
+
+div.ColVis_collection button.ColVis_Button:hover {
+	border: 1px solid #999;
+	background-color: #f0f0f0;
+}
+
+div.ColVis_catcher {
+	position: absolute;
+	z-index: 1101;
+}
+
+span.ColVis_radio {
+	display: inline-block;
+	width: 20px;
+}
+
+button.ColVis_Restore {
+	margin-top: 15px;
+}
+
+button.ColVis_Restore span {
+	display: inline-block;
+	padding-left: 10px;
+	text-align: left;
+}
+
+.disabled {
+	color: #999;
+}
+
+
+
+/*
+ * Styles needed for DataTables scrolling
+ */
+div.dataTables_scrollHead {
+	position: relative;
+	overflow: hidden;
+}
+
+div.dataTables_scrollBody {
+	overflow-y: scroll;
+}
+
+div.dataTables_scrollFoot {
+	overflow: hidden;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/css/default.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/css/default.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/css/default.css	(revision 6286)
@@ -0,0 +1,418 @@
+/*
+ * TABLE OF CONTENTS:
+ * - Browser reset
+ * - HTML elements
+ * - JsDoc styling
+ */
+
+
+
+
+
+
+/*
+ * BEGIN BROWSER RESET
+ */
+
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,pre,form,fieldset,input,textarea,p,blockquote,th,td {
+	margin:0;
+	padding:0
+}
+html {
+	height:100%;
+	overflow:-moz-scrollbars-vertical;
+	overflow-x:auto
+}
+table {
+	border:0;
+	border-collapse:collapse;
+	border-spacing:0
+}
+fieldset,img {
+	border:0
+}
+address,caption,cite,code,dfn,em,strong,th,var {
+	font-style:normal;
+	font-weight:normal
+}
+em,cite {
+	font-style:italic
+}
+strong {
+	font-weight:bold
+}
+ol,ul {
+	list-style:none
+}
+caption,th {
+	text-align:left
+}
+h1,h2,h3,h4,h5,h6 {
+	font-size:100%;
+	font-weight:normal;
+	margin:0;
+	padding:0
+}
+q:before,q:after {
+	content:''
+}
+abbr,acronym {
+	border:0
+}
+
+/*
+ * END BROWSER RESET
+ */
+
+
+
+
+
+
+/*
+ * HTML ELEMENTS
+ */
+
+* {
+	line-height: 1.4em;
+}
+
+html {
+	font-size: 100%;
+}
+
+body {
+	font-size: 0.75em !important;
+	padding: 15px 0;
+	background: #eee;
+	background-image: -moz-linear-gradient(left, #dddddd, #f9f9f9);
+	background-image: -webkit-gradient(linear,left bottom,right bottom,color-stop(0, #dddddd),color-stop(1, #f9f9f9));
+  }
+
+body,
+input,
+select,
+textarea {
+	color: #000;
+	font-family: Arial, Geneva, sans-serif;
+}
+
+a:link,
+a:hover,
+a:active,
+a:visited {
+	color: #19199e;
+}
+a:hover,
+a:focus {
+	color: #00f;
+	text-decoration: none;
+}
+
+p {
+	margin: 0 0 1.5em 0;
+}
+
+/*
+ * END HTML ELEMENTS
+ */
+
+
+ 
+/*
+ * BEGIN HACK
+ */
+
+div.containerMain:after,
+div.safeBox:after {
+	content:"";
+	display:block;
+	height:0;
+	clear:both;
+}
+
+/*
+ * END HACK
+ */
+
+
+
+/*
+ * BEGIN JSDOC
+ */
+
+div.index *.heading1 {
+	margin-bottom: 0.5em;
+	border-bottom: 1px solid #999999;
+	padding: 0.5em 0 0.1em 0;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.3em;
+	letter-spacing: 1px;
+}
+ 
+div.index {
+	float: left;
+	width: 30%;
+	min-width: 100px;
+	max-width: 250px;
+}
+div.index div.menu {
+	margin: 0 15px 0 -15px;
+	-moz-border-radius: 15px;
+	-webkit-border-radius: 15px;
+	border-radius: 15px;
+  	padding: 15px 15px 15px 30px;
+	background-color: #FFFFFF;
+	background-color: rgba(255, 255, 255, 0.5);
+	-moz-box-shadow: 0px 0px 10px #c4c4c4;
+	-webkit-box-shadow: 0px 0px 10px #c4c4c4;
+	box-shadow: 0px 0px 10px #c4c4c4;
+}
+*+html div.index div.menu {
+	background-color: #FFFFFF;
+}
+* html div.index div.menu {
+	background-color: #FFFFFF;
+}
+
+div.index div.menu div {
+	text-align: left;
+}
+
+div.index div.menu a {
+	text-decoration: none;
+}
+div.index div.menu a:hover {
+	text-decoration: underline;
+}
+
+div.index ul.classList a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.index div.fineprint {
+  	padding: 15px 30px 15px 15px;
+	color: #777;
+	font-size: 0.9em;
+}
+div.index div.fineprint a {
+	color: #777;
+}
+
+
+
+div.content {
+	float: left;
+	width: 70%;
+	min-width: 300px;
+	max-width: 600px;
+}
+div.innerContent {
+	padding: 0 0 0 2.5em;
+}
+
+div.content ul,
+div.content ol {
+	margin-bottom: 3em;
+}
+
+div.content *.classTitle {
+	margin-bottom: 0.5em;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 2.5em;
+	letter-spacing: 2px;
+}
+
+div.content *.classTitle span {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.content p.summary {
+	font-size: 1.2em;
+}
+
+div.content ul *.classname a,
+div.content ul *.filename a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+	text-decoration: none;
+	font-weight: bold;
+}
+div.content ul *.classname a:hover,
+div.content ul *.filename a:hover {
+	text-decoration: underline;
+}
+
+div.content div.props {
+	position: relative;
+	left: -10px;
+	margin-bottom: 2.5em;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	padding: 10px 15px 15px 15px;
+	overflow: hidden;
+	background: #fff;
+	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2)); /* FF3.6 */
+	background: -webkit-gradient(linear,left top,left bottom,color-stop(0, rgba(255, 255, 255, 0.7)),color-stop(1, rgba(255, 255, 255, 0.2)));
+	-moz-box-shadow: 0px 0px 10px #ccc;
+	-webkit-box-shadow: 0px 0px 5px #bbb;
+	box-shadow: 0px 0px 5px #bbb;
+}
+
+div.content div.props div.sectionTitle {
+	padding-bottom: 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+div.content div.hr {
+	margin: 0 10px 0 0;
+	height: 4em;
+}
+
+
+
+table.summaryTable {
+	position: relative;
+	left: -10px;
+	width: 100%;
+	border-collapse: collapse;
+	box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	-webkit-box-sizing: content-box;
+	-ms-box-sizing: content-box;
+	-o-box-sizing: content-box;
+	-icab-box-sizing: content-box;
+	-khtml-box-sizing: content-box; 
+}
+
+table.summaryTable caption {
+	padding: 0 10px 10px 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+table.summaryTable td,
+table.summaryTable th {
+	padding: 0px 10px 10px 10px;
+	vertical-align: top;
+}
+table.summaryTable tr:last-child td {
+	padding-bottom: 0;
+}
+
+table.summaryTable th {
+	font-weight: bold;
+}
+
+table.summaryTable td.attributes {
+	width: 35%;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	color: #666;
+}
+
+table.summaryTable td.nameDescription {
+	width: 65%
+}
+
+table.summaryTable td.nameDescription div.fixedFont {
+	font-weight: bold;
+}
+
+table.summaryTable div.description {
+	color: #333;
+}
+
+
+
+dl.detailList {
+	margin-top: 0.5em;
+}
+
+dl.detailList.nomargin + dl.detailList.nomargin {
+	margin-top: 0;
+}
+
+dl.detailList dt {
+	display: inline;
+	margin-right: 5px;
+	font-weight: bold;
+}
+
+dl.detailList dt:before {
+	display: block;
+	content: "";
+}
+
+dl.detailList dd {
+	display: inline;
+}
+
+dl.detailList.params dt {
+	display: block;
+}
+dl.detailList.params dd {
+	display: block;
+	padding-left: 2em;
+	padding-bottom: 0.4em;
+}
+
+
+
+
+ul.fileList li {
+	margin-bottom: 1.5em;
+}
+
+
+
+.fixedFont {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+.fixedFont.heading {
+	margin-bottom: 0.5em;
+	font-size: 1.25em;
+	line-height: 1.1em
+}
+
+.fixedFont.heading + .description {
+	font-size: 1.2em;
+}
+
+.fixedFont.heading .light,
+.fixedFont.heading .lighter {
+	font-weight: bold;
+}
+
+pre.code {
+	margin: 10px 0 10px 0;
+	padding: 10px;
+	border: 1px solid #ccc;
+	-moz-border-radius: 2px;
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	overflow: auto;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	background: #eee;
+}
+
+.light {
+	color: #666;
+}
+
+.lighter {
+	color: #999;
+}
+
+.clear {
+	clear: both;
+	width: 100%;
+	min-height: 0;
+}
+
+/*
+ * END JSDOC
+ */
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/files.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/files.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/files.html	(revision 6286)
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		
+		<title>JsDoc Reference - File Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:35 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">File Index</h1>
+				
+				<ul class="fileList">
+					
+						<li>
+							<h2 class="filename"><a href="symbols/src/js_ColVis.js.html">js/ColVis.js</a></h2>
+							
+							
+							
+							<dl class="detailList">
+								
+								
+								
+								
+								
+								
+							</dl>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/index.html	(revision 6286)
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<title>JsDoc Reference - Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:35 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">Class Index</h1>
+				
+				<ul>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/_global_.html">_global_</a></h2>
+							<p></p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColVis.html">ColVis</a></h2>
+							<p>ColVis</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColVis%23dom.html">ColVis#dom</a></h2>
+							<p>Common and useful DOM elements for the class instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColVis%23s.html">ColVis#s</a></h2>
+							<p>Settings object which contains customisable information for ColVis instance</p>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis#dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis#dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis#dom.html	(revision 6286)
@@ -0,0 +1,516 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColVis#dom</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:34 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>ColVis#dom</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Common and useful DOM elements for the class instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColVis.js.html">ColVis.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColVis#dom.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColVis%23dom.html#constructor">ColVis#dom</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColVis#dom.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.background">background</a></b>
+												</div>
+												<div class="description">Background node used for shading the display and event capturing</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.button">button</a></b>
+												</div>
+												<div class="description">Activation button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.buttons">buttons</a></b>
+												</div>
+												<div class="description">List of button elements</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.catcher">catcher</a></b>
+												</div>
+												<div class="description">Element to position over the activation button to catch mouse events when using mouseover</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.collection">collection</a></b>
+												</div>
+												<div class="description">Collection list node</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.restore">restore</a></b>
+												</div>
+												<div class="description">Restore button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.wrapper">wrapper</a></b>
+												</div>
+												<div class="description">Wrapper for the button - given back to DataTables as the node to insert</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColVis#dom</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".background"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>background</b>							
+								</div>
+								
+								<div class="description">
+									Background node used for shading the display and event capturing
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".button"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>button</b>							
+								</div>
+								
+								<div class="description">
+									Activation button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".buttons"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#dom.</span><b>buttons</b>							
+								</div>
+								
+								<div class="description">
+									List of button elements
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".catcher"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>catcher</b>							
+								</div>
+								
+								<div class="description">
+									Element to position over the activation button to catch mouse events when using mouseover
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".collection"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>collection</b>							
+								</div>
+								
+								<div class="description">
+									Collection list node
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".restore"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>restore</b>							
+								</div>
+								
+								<div class="description">
+									Restore button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".wrapper"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>wrapper</b>							
+								</div>
+								
+								<div class="description">
+									Wrapper for the button - given back to DataTables as the node to insert
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis#s.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis#s.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis#s.html	(revision 6286)
@@ -0,0 +1,708 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColVis#s</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:34 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>ColVis#s</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Settings object which contains customisable information for ColVis instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColVis.js.html">ColVis.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColVis#s.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColVis%23s.html#constructor">ColVis#s</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColVis#s.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.abOriginal">abOriginal</a></b>
+												</div>
+												<div class="description">Store the original viisbility settings so they could be restored</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.activate">activate</a></b>
+												</div>
+												<div class="description">Mode of activation.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.aiExclude">aiExclude</a></b>
+												</div>
+												<div class="description">List of columns (integers) which should be excluded from the list</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.bRestore">bRestore</a></b>
+												</div>
+												<div class="description">Show restore button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.buttonText">buttonText</a></b>
+												</div>
+												<div class="description">Text used for the button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.dt">dt</a></b>
+												</div>
+												<div class="description">DataTables settings object</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.fnStateChange">fnStateChange</a></b>
+												</div>
+												<div class="description">Callback function to tell the user when the state has changed</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.hidden">hidden</a></b>
+												</div>
+												<div class="description">Flag to say if the collection is hidden</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.oInit">oInit</a></b>
+												</div>
+												<div class="description">Customisation object</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.sAlign">sAlign</a></b>
+												</div>
+												<div class="description">Position of the collection menu when shown - align "left" or "right"</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.sRestore">sRestore</a></b>
+												</div>
+												<div class="description">Restore button text</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColVis#s</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".abOriginal"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#s.</span><b>abOriginal</b>							
+								</div>
+								
+								<div class="description">
+									Store the original viisbility settings so they could be restored
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".activate"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>activate</b>							
+								</div>
+								
+								<div class="description">
+									Mode of activation. Can be 'click' or 'mouseover'
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												click
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".aiExclude"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#s.</span><b>aiExclude</b>							
+								</div>
+								
+								<div class="description">
+									List of columns (integers) which should be excluded from the list
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".bRestore"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#s.</span><b>bRestore</b>							
+								</div>
+								
+								<div class="description">
+									Show restore button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".buttonText"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>buttonText</b>							
+								</div>
+								
+								<div class="description">
+									Text used for the button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												Show / hide columns
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".dt"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<span class="light">ColVis#s.</span><b>dt</b>							
+								</div>
+								
+								<div class="description">
+									DataTables settings object
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".fnStateChange"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{function}</span>
+									
+									<span class="light">ColVis#s.</span><b>fnStateChange</b>							
+								</div>
+								
+								<div class="description">
+									Callback function to tell the user when the state has changed
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".hidden"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{boolean}</span>
+									
+									<span class="light">ColVis#s.</span><b>hidden</b>							
+								</div>
+								
+								<div class="description">
+									Flag to say if the collection is hidden
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												true
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".oInit"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<span class="light">ColVis#s.</span><b>oInit</b>							
+								</div>
+								
+								<div class="description">
+									Customisation object
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												passed in
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".sAlign"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>sAlign</b>							
+								</div>
+								
+								<div class="description">
+									Position of the collection menu when shown - align "left" or "right"
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												right
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".sRestore"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>sRestore</b>							
+								</div>
+								
+								<div class="description">
+									Restore button text
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												Restore original
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/ColVis.html	(revision 6286)
@@ -0,0 +1,500 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColVis</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:34 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Class <span>ColVis</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					ColVis
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColVis.js.html">ColVis.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColVis.">
+							<caption>Class Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColVis.html#constructor">ColVis</a></b>(DataTables, oInit)
+										</div>
+										<div class="description">ColVis provides column visiblity control for DataTables</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColVis.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis.<b><a href="../symbols/ColVis.html#.aInstances">aInstances</a></b>
+												</div>
+												<div class="description">Collection of all ColVis instances</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												<b><a href="../symbols/ColVis.html#CLASS">CLASS</a></b>
+												</div>
+												<div class="description">Name of this class</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis.<b><a href="../symbols/ColVis.html#.VERSION">VERSION</a></b>
+												</div>
+												<div class="description">ColVis version</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class ColVis.">
+								<caption>Method Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Method Attributes</th>
+										<th scope="col">Method Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">ColVis.<b><a href="../symbols/ColVis.html#.fnRebuild">fnRebuild</a></b>(object)
+												</div>
+												<div class="description">Rebuild the collection for a given table, or all tables if no parameter given</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#fnRebuild">fnRebuild</a></b>()
+												</div>
+												<div class="description">Rebuild the list of buttons for this instance (i.e.</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Class Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColVis</b>(DataTables, oInit)
+							</div>
+							
+							<div class="description">
+								ColVis provides column visiblity control for DataTables
+								
+							</div>
+							
+							
+						
+							
+								<dl class="detailList params">
+									<dt class="heading">Parameters:</dt>
+									
+										<dt>
+											<span class="light fixedFont">{object}</span>  <b>DataTables</b>
+											
+										</dt>
+										<dd>settings object</dd>
+									
+										<dt>
+											 <b>oInit</b>
+											
+										</dt>
+										<dd></dd>
+									
+								</dl>
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".aInstances"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis.</span><b>aInstances</b>							
+								</div>
+								
+								<div class="description">
+									Collection of all ColVis instances
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name="CLASS"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>CLASS</b>							
+								</div>
+								
+								<div class="description">
+									Name of this class
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												ColVis
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".VERSION"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; &lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis.</span><b>VERSION</b>							
+								</div>
+								
+								<div class="description">
+									ColVis version
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												1.0.4.dev
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+					<div class="details props">
+						<div class="innerProps">
+							<div class="sectionTitle">
+								Method Detail
+							</div>
+							
+							
+								<a name=".fnRebuild"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									
+									
+									<span class="light">ColVis.</span><b>fnRebuild</b>(object)
+								</div>
+								
+								<div class="description">
+									Rebuild the collection for a given table, or all tables if no parameter given
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>object</b>
+												
+											</dt>
+											<dd>oTable DataTable instance to consider - optional</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnRebuild"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnRebuild</b>()
+								</div>
+								
+								<div class="description">
+									Rebuild the list of buttons for this instance (i.e. if there is a column header update)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								
+							
+						</div>
+					</div>
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/_global_.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/_global_.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/_global_.html	(revision 6286)
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - _global_</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:34 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Built-In Namespace <span>_global_</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					
+					
+					
+				</p>
+
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/src/js_ColVis.js.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/src/js_ColVis.js.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs/symbols/src/js_ColVis.js.html	(revision 6286)
@@ -0,0 +1,819 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="COMM">/*
+<span class='line'>  2</span>  * File:        ColVis.js
+<span class='line'>  3</span>  * Version:     1.0.4
+<span class='line'>  4</span>  * CVS:         $Id$
+<span class='line'>  5</span>  * Description: Controls for column visiblity in DataTables
+<span class='line'>  6</span>  * Author:      Allan Jardine (www.sprymedia.co.uk)
+<span class='line'>  7</span>  * Created:     Wed Sep 15 18:23:29 BST 2010
+<span class='line'>  8</span>  * Modified:    $Date$ by $Author$
+<span class='line'>  9</span>  * Language:    Javascript
+<span class='line'> 10</span>  * License:     LGPL
+<span class='line'> 11</span>  * Project:     Just a little bit of fun :-)
+<span class='line'> 12</span>  * Contact:     www.sprymedia.co.uk/contact
+<span class='line'> 13</span>  * 
+<span class='line'> 14</span>  * Copyright 2010 Allan Jardine, all rights reserved.
+<span class='line'> 15</span>  *
+<span class='line'> 16</span>  */</span><span class="WHIT">
+<span class='line'> 17</span> 
+<span class='line'> 18</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">$</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 19</span> 
+<span class='line'> 20</span> </span><span class="COMM">/** 
+<span class='line'> 21</span>  * ColVis provides column visiblity control for DataTables
+<span class='line'> 22</span>  * @class ColVis
+<span class='line'> 23</span>  * @constructor
+<span class='line'> 24</span>  * @param {object} DataTables settings object
+<span class='line'> 25</span>  */</span><span class="WHIT">
+<span class='line'> 26</span> </span><span class="NAME">ColVis</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 27</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 28</span> </span><span class="WHIT">	</span><span class="COMM">/* Santiy check that we are a new instance */</span><span class="WHIT">
+<span class='line'> 29</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 30</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: ColVis must be initialised with the keyword 'new'"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 32</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 33</span> </span><span class="WHIT">	
+<span class='line'> 34</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="WHIT">		</span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 37</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 38</span> </span><span class="WHIT">	
+<span class='line'> 39</span> 	
+<span class='line'> 40</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'> 41</span> 	 * Public class variables
+<span class='line'> 42</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="WHIT">	
+<span class='line'> 44</span> 	</span><span class="COMM">/**
+<span class='line'> 45</span> 	 * @namespace Settings object which contains customisable information for ColVis instance
+<span class='line'> 46</span> 	 */</span><span class="WHIT">
+<span class='line'> 47</span> </span><span class="WHIT">	</span><span class="NAME">this.s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'> 49</span> 		 * DataTables settings object
+<span class='line'> 50</span> 		 *  @property dt
+<span class='line'> 51</span> 		 *  @type     Object
+<span class='line'> 52</span> 		 *  @default  null
+<span class='line'> 53</span> 		 */</span><span class="WHIT">
+<span class='line'> 54</span> </span><span class="WHIT">		</span><span class="NAME">dt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 55</span> </span><span class="WHIT">		
+<span class='line'> 56</span> 		</span><span class="COMM">/**
+<span class='line'> 57</span> 		 * Customisation object
+<span class='line'> 58</span> 		 *  @property oInit
+<span class='line'> 59</span> 		 *  @type     Object
+<span class='line'> 60</span> 		 *  @default  passed in
+<span class='line'> 61</span> 		 */</span><span class="WHIT">
+<span class='line'> 62</span> </span><span class="WHIT">		</span><span class="NAME">oInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">		
+<span class='line'> 64</span> 		</span><span class="COMM">/**
+<span class='line'> 65</span> 		 * Callback function to tell the user when the state has changed
+<span class='line'> 66</span> 		 *  @property fnStateChange
+<span class='line'> 67</span> 		 *  @type     function
+<span class='line'> 68</span> 		 *  @default  null
+<span class='line'> 69</span> 		 */</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">		</span><span class="NAME">fnStateChange</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">		
+<span class='line'> 72</span> 		</span><span class="COMM">/**
+<span class='line'> 73</span> 		 * Mode of activation. Can be 'click' or 'mouseover'
+<span class='line'> 74</span> 		 *  @property activate
+<span class='line'> 75</span> 		 *  @type     String
+<span class='line'> 76</span> 		 *  @default  click
+<span class='line'> 77</span> 		 */</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">		</span><span class="NAME">activate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"click"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="WHIT">		
+<span class='line'> 80</span> 		</span><span class="COMM">/**
+<span class='line'> 81</span> 		 * Position of the collection menu when shown - align "left" or "right"
+<span class='line'> 82</span> 		 *  @property sAlign
+<span class='line'> 83</span> 		 *  @type     String
+<span class='line'> 84</span> 		 *  @default  right
+<span class='line'> 85</span> 		 */</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">		</span><span class="NAME">sAlign</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 87</span> </span><span class="WHIT">		
+<span class='line'> 88</span> 		</span><span class="COMM">/**
+<span class='line'> 89</span> 		 * Text used for the button
+<span class='line'> 90</span> 		 *  @property buttonText
+<span class='line'> 91</span> 		 *  @type     String
+<span class='line'> 92</span> 		 *  @default  Show / hide columns
+<span class='line'> 93</span> 		 */</span><span class="WHIT">
+<span class='line'> 94</span> </span><span class="WHIT">		</span><span class="NAME">buttonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Show / hide columns"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 95</span> </span><span class="WHIT">		
+<span class='line'> 96</span> 		</span><span class="COMM">/**
+<span class='line'> 97</span> 		 * Flag to say if the collection is hidden
+<span class='line'> 98</span> 		 *  @property hidden
+<span class='line'> 99</span> 		 *  @type     boolean
+<span class='line'>100</span> 		 *  @default  true
+<span class='line'>101</span> 		 */</span><span class="WHIT">
+<span class='line'>102</span> </span><span class="WHIT">		</span><span class="NAME">hidden</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>103</span> </span><span class="WHIT">		
+<span class='line'>104</span> 		</span><span class="COMM">/**
+<span class='line'>105</span> 		 * List of columns (integers) which should be excluded from the list
+<span class='line'>106</span> 		 *  @property aiExclude
+<span class='line'>107</span> 		 *  @type     Array
+<span class='line'>108</span> 		 *  @default  []
+<span class='line'>109</span> 		 */</span><span class="WHIT">
+<span class='line'>110</span> </span><span class="WHIT">		</span><span class="NAME">aiExclude</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>111</span> </span><span class="WHIT">		
+<span class='line'>112</span> 		</span><span class="COMM">/**
+<span class='line'>113</span> 		 * Store the original viisbility settings so they could be restored
+<span class='line'>114</span> 		 *  @property abOriginal
+<span class='line'>115</span> 		 *  @type     Array
+<span class='line'>116</span> 		 *  @default  []
+<span class='line'>117</span> 		 */</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="WHIT">		</span><span class="NAME">abOriginal</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">		
+<span class='line'>120</span> 		</span><span class="COMM">/**
+<span class='line'>121</span> 		 * Show restore button
+<span class='line'>122</span> 		 *  @property bRestore
+<span class='line'>123</span> 		 *  @type     Array
+<span class='line'>124</span> 		 *  @default  []
+<span class='line'>125</span> 		 */</span><span class="WHIT">
+<span class='line'>126</span> </span><span class="WHIT">		</span><span class="NAME">bRestore</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>127</span> </span><span class="WHIT">		
+<span class='line'>128</span> 		</span><span class="COMM">/**
+<span class='line'>129</span> 		 * Restore button text
+<span class='line'>130</span> 		 *  @property sRestore
+<span class='line'>131</span> 		 *  @type     String
+<span class='line'>132</span> 		 *  @default  Restore original
+<span class='line'>133</span> 		 */</span><span class="WHIT">
+<span class='line'>134</span> </span><span class="WHIT">		</span><span class="NAME">sRestore</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Restore original"</span><span class="WHIT">
+<span class='line'>135</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>136</span> </span><span class="WHIT">	
+<span class='line'>137</span> 	
+<span class='line'>138</span> 	</span><span class="COMM">/**
+<span class='line'>139</span> 	 * @namespace Common and useful DOM elements for the class instance
+<span class='line'>140</span> 	 */</span><span class="WHIT">
+<span class='line'>141</span> </span><span class="WHIT">	</span><span class="NAME">this.dom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>142</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>143</span> 		 * Wrapper for the button - given back to DataTables as the node to insert
+<span class='line'>144</span> 		 *  @property wrapper
+<span class='line'>145</span> 		 *  @type     Node
+<span class='line'>146</span> 		 *  @default  null
+<span class='line'>147</span> 		 */</span><span class="WHIT">
+<span class='line'>148</span> </span><span class="WHIT">		</span><span class="NAME">wrapper</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>149</span> </span><span class="WHIT">		
+<span class='line'>150</span> 		</span><span class="COMM">/**
+<span class='line'>151</span> 		 * Activation button
+<span class='line'>152</span> 		 *  @property button
+<span class='line'>153</span> 		 *  @type     Node
+<span class='line'>154</span> 		 *  @default  null
+<span class='line'>155</span> 		 */</span><span class="WHIT">
+<span class='line'>156</span> </span><span class="WHIT">		</span><span class="NAME">button</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>157</span> </span><span class="WHIT">		
+<span class='line'>158</span> 		</span><span class="COMM">/**
+<span class='line'>159</span> 		 * Collection list node
+<span class='line'>160</span> 		 *  @property collection
+<span class='line'>161</span> 		 *  @type     Node
+<span class='line'>162</span> 		 *  @default  null
+<span class='line'>163</span> 		 */</span><span class="WHIT">
+<span class='line'>164</span> </span><span class="WHIT">		</span><span class="NAME">collection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>165</span> </span><span class="WHIT">		
+<span class='line'>166</span> 		</span><span class="COMM">/**
+<span class='line'>167</span> 		 * Background node used for shading the display and event capturing
+<span class='line'>168</span> 		 *  @property background
+<span class='line'>169</span> 		 *  @type     Node
+<span class='line'>170</span> 		 *  @default  null
+<span class='line'>171</span> 		 */</span><span class="WHIT">
+<span class='line'>172</span> </span><span class="WHIT">		</span><span class="NAME">background</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>173</span> </span><span class="WHIT">		
+<span class='line'>174</span> 		</span><span class="COMM">/**
+<span class='line'>175</span> 		 * Element to position over the activation button to catch mouse events when using mouseover
+<span class='line'>176</span> 		 *  @property catcher
+<span class='line'>177</span> 		 *  @type     Node
+<span class='line'>178</span> 		 *  @default  null
+<span class='line'>179</span> 		 */</span><span class="WHIT">
+<span class='line'>180</span> </span><span class="WHIT">		</span><span class="NAME">catcher</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>181</span> </span><span class="WHIT">		
+<span class='line'>182</span> 		</span><span class="COMM">/**
+<span class='line'>183</span> 		 * List of button elements
+<span class='line'>184</span> 		 *  @property buttons
+<span class='line'>185</span> 		 *  @type     Array
+<span class='line'>186</span> 		 *  @default  []
+<span class='line'>187</span> 		 */</span><span class="WHIT">
+<span class='line'>188</span> </span><span class="WHIT">		</span><span class="NAME">buttons</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>189</span> </span><span class="WHIT">		
+<span class='line'>190</span> 		</span><span class="COMM">/**
+<span class='line'>191</span> 		 * Restore button
+<span class='line'>192</span> 		 *  @property restore
+<span class='line'>193</span> 		 *  @type     Node
+<span class='line'>194</span> 		 *  @default  null
+<span class='line'>195</span> 		 */</span><span class="WHIT">
+<span class='line'>196</span> </span><span class="WHIT">		</span><span class="NAME">restore</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>197</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>198</span> </span><span class="WHIT">	
+<span class='line'>199</span> 	</span><span class="COMM">/* Store global reference */</span><span class="WHIT">
+<span class='line'>200</span> </span><span class="WHIT">	</span><span class="NAME">ColVis.aInstances.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>201</span> </span><span class="WHIT">	
+<span class='line'>202</span> 	</span><span class="COMM">/* Constructor logic */</span><span class="WHIT">
+<span class='line'>203</span> </span><span class="WHIT">	</span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>204</span> </span><span class="WHIT">	</span><span class="NAME">this._fnConstruct</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>205</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>206</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>207</span> 
+<span class='line'>208</span> 
+<span class='line'>209</span> 
+<span class='line'>210</span> </span><span class="NAME">ColVis.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>211</span> </span><span class="WHIT">	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>212</span> 	 * Public methods
+<span class='line'>213</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>214</span> </span><span class="WHIT">	
+<span class='line'>215</span> 	</span><span class="COMM">/**
+<span class='line'>216</span> 	 * Rebuild the list of buttons for this instance (i.e. if there is a column header update)
+<span class='line'>217</span> 	 *  @method  fnRebuild
+<span class='line'>218</span> 	 *  @returns void
+<span class='line'>219</span> 	 */</span><span class="WHIT">
+<span class='line'>220</span> </span><span class="WHIT">	</span><span class="NAME">fnRebuild</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>221</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>222</span> </span><span class="WHIT">		</span><span class="COMM">/* Remove the old buttons */</span><span class="WHIT">
+<span class='line'>223</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">this.dom.buttons.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">>=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>224</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>225</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>226</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>227</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.collection.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>228</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>229</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>230</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.buttons.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons.length</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>231</span> </span><span class="WHIT">		
+<span class='line'>232</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.restore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>233</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>234</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.restore.parentNode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.restore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>235</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>236</span> </span><span class="WHIT">		
+<span class='line'>237</span> 		</span><span class="COMM">/* Re-add them (this is not the optimal way of doing this, it is fast and effective) */</span><span class="WHIT">
+<span class='line'>238</span> </span><span class="WHIT">		</span><span class="NAME">this._fnAddButtons</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>239</span> </span><span class="WHIT">		
+<span class='line'>240</span> 		</span><span class="COMM">/* Update the checkboxes */</span><span class="WHIT">
+<span class='line'>241</span> </span><span class="WHIT">		</span><span class="NAME">this._fnDrawCallback</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>242</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>243</span> </span><span class="WHIT">	
+<span class='line'>244</span> 	
+<span class='line'>245</span> 	
+<span class='line'>246</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>247</span> 	 * Private methods (they are of course public in JS, but recommended as private)
+<span class='line'>248</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>249</span> </span><span class="WHIT">	
+<span class='line'>250</span> 	</span><span class="COMM">/**
+<span class='line'>251</span> 	 * Constructor logic
+<span class='line'>252</span> 	 *  @method  _fnConstruct
+<span class='line'>253</span> 	 *  @returns void
+<span class='line'>254</span> 	 *  @private 
+<span class='line'>255</span> 	 */</span><span class="WHIT">
+<span class='line'>256</span> </span><span class="WHIT">	</span><span class="NAME">_fnConstruct</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>257</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>258</span> </span><span class="WHIT">		</span><span class="NAME">this._fnApplyCustomisation</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>259</span> </span><span class="WHIT">		
+<span class='line'>260</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>261</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.wrapper</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>262</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.wrapper.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis TableTools"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>263</span> </span><span class="WHIT">		
+<span class='line'>264</span> 		</span><span class="NAME">this.dom.button</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomBaseButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.buttonText</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>265</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.button.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" ColVis_MasterButton"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>266</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.wrapper.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.button</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>267</span> </span><span class="WHIT">		
+<span class='line'>268</span> 		</span><span class="NAME">this.dom.catcher</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomCatcher</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>269</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.collection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomCollection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>270</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.background</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomBackground</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>271</span> </span><span class="WHIT">		
+<span class='line'>272</span> 		</span><span class="NAME">this._fnAddButtons</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>273</span> </span><span class="WHIT">		
+<span class='line'>274</span> 		</span><span class="COMM">/* Store the original visbility information */</span><span class="WHIT">
+<span class='line'>275</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>276</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>277</span> </span><span class="WHIT">			</span><span class="NAME">this.s.abOriginal.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>278</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>279</span> </span><span class="WHIT">		
+<span class='line'>280</span> 		</span><span class="COMM">/* Update on each draw */</span><span class="WHIT">
+<span class='line'>281</span> </span><span class="WHIT">		</span><span class="NAME">this.s.dt.aoDrawCallback.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>282</span> </span><span class="WHIT">			</span><span class="NAME">fn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>283</span> </span><span class="WHIT">				</span><span class="NAME">that._fnDrawCallback.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>284</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>285</span> </span><span class="WHIT">			</span><span class="NAME">sName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="WHIT">
+<span class='line'>286</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>287</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>288</span> </span><span class="WHIT">	
+<span class='line'>289</span> 	
+<span class='line'>290</span> 	</span><span class="COMM">/**
+<span class='line'>291</span> 	 * Apply any customisation to the settings from the DataTables initialisation
+<span class='line'>292</span> 	 *  @method  _fnApplyCustomisation
+<span class='line'>293</span> 	 *  @returns void
+<span class='line'>294</span> 	 *  @private 
+<span class='line'>295</span> 	 */</span><span class="WHIT">
+<span class='line'>296</span> </span><span class="WHIT">	</span><span class="NAME">_fnApplyCustomisation</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>297</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>298</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.oInit</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>299</span> </span><span class="WHIT">		
+<span class='line'>300</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.activate</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>301</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>302</span> </span><span class="WHIT">			</span><span class="NAME">this.s.activate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.activate</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>303</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>304</span> </span><span class="WHIT">		
+<span class='line'>305</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.buttonText</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>306</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>307</span> </span><span class="WHIT">			</span><span class="NAME">this.s.buttonText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.buttonText</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>308</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>309</span> </span><span class="WHIT">		
+<span class='line'>310</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.aiExclude</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>312</span> </span><span class="WHIT">			</span><span class="NAME">this.s.aiExclude</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.aiExclude</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>313</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>314</span> </span><span class="WHIT">		
+<span class='line'>315</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.bRestore</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>316</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>317</span> </span><span class="WHIT">			</span><span class="NAME">this.s.bRestore</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.bRestore</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>318</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>319</span> </span><span class="WHIT">		
+<span class='line'>320</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.sRestore</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>321</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>322</span> </span><span class="WHIT">			</span><span class="NAME">this.s.sRestore</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sRestore</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>323</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>324</span> </span><span class="WHIT">		
+<span class='line'>325</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.sAlign</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>326</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>327</span> </span><span class="WHIT">			</span><span class="NAME">this.s.sAlign</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sAlign</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>328</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>329</span> </span><span class="WHIT">		
+<span class='line'>330</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.fnStateChange</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>331</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>332</span> </span><span class="WHIT">			</span><span class="NAME">this.s.fnStateChange</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.fnStateChange</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>333</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>334</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>335</span> </span><span class="WHIT">	
+<span class='line'>336</span> 	
+<span class='line'>337</span> 	</span><span class="COMM">/**
+<span class='line'>338</span> 	 * On each table draw, check the visiblity checkboxes as needed. This allows any process to
+<span class='line'>339</span> 	 * update the table's column visiblity and ColVis will still be accurate.
+<span class='line'>340</span> 	 *  @method  _fnDrawCallback
+<span class='line'>341</span> 	 *  @returns void
+<span class='line'>342</span> 	 *  @private 
+<span class='line'>343</span> 	 */</span><span class="WHIT">
+<span class='line'>344</span> </span><span class="WHIT">	</span><span class="NAME">_fnDrawCallback</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>345</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>346</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aoColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>347</span> </span><span class="WHIT">		
+<span class='line'>348</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>349</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>350</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>351</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>352</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>353</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>354</span> </span><span class="WHIT">					</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">attr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">,</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>355</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>356</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>357</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>358</span> </span><span class="WHIT">					</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeAttr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>359</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>360</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>361</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>362</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>363</span> </span><span class="WHIT">	
+<span class='line'>364</span> 	
+<span class='line'>365</span> 	</span><span class="COMM">/**
+<span class='line'>366</span> 	 * Loop through the columns in the table and as a new button for each one.
+<span class='line'>367</span> 	 *  @method  _fnAddButtons
+<span class='line'>368</span> 	 *  @returns void
+<span class='line'>369</span> 	 *  @private 
+<span class='line'>370</span> 	 */</span><span class="WHIT">
+<span class='line'>371</span> </span><span class="WHIT">	</span><span class="NAME">_fnAddButtons</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>372</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>373</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>374</span> </span><span class="WHIT">			</span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>375</span> </span><span class="WHIT">			</span><span class="NAME">sExclude</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">","</span><span class="PUNC">+</span><span class="NAME">this.s.aiExclude.join</span><span class="PUNC">(</span><span class="STRN">','</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">","</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>376</span> </span><span class="WHIT">		
+<span class='line'>377</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>378</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>379</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sExclude.indexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">","</span><span class="PUNC">+</span><span class="NAME">i</span><span class="PUNC">+</span><span class="STRN">","</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>380</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>381</span> </span><span class="WHIT">				</span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomColumnButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>382</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.buttons.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>383</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.collection.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>384</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>385</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>386</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>387</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.buttons.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>388</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>389</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>390</span> </span><span class="WHIT">		
+<span class='line'>391</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.bRestore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>392</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>393</span> </span><span class="WHIT">			</span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomRestoreButton</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>394</span> </span><span class="WHIT">			</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" ColVis_Restore"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>395</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.buttons.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>396</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.collection.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>397</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>398</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>399</span> </span><span class="WHIT">	
+<span class='line'>400</span> 	
+<span class='line'>401</span> 	</span><span class="COMM">/**
+<span class='line'>402</span> 	 * Create a button which allows a "restore" action
+<span class='line'>403</span> 	 *  @method  _fnDomRestoreButton
+<span class='line'>404</span> 	 *  @returns {Node} Created button
+<span class='line'>405</span> 	 *  @private 
+<span class='line'>406</span> 	 */</span><span class="WHIT">
+<span class='line'>407</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomRestoreButton</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>408</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>409</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>410</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>411</span> </span><span class="WHIT">		  </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'button'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>412</span> </span><span class="WHIT">		  </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'span'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>413</span> </span><span class="WHIT">		
+<span class='line'>414</span> 		</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_Button TableTools_Button"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>415</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_Button TableTools_Button ui-button ui-state-default"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>416</span> </span><span class="WHIT">		</span><span class="NAME">nButton.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>417</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nSpan</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">html</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;span class="ColVis_title">'</span><span class="PUNC">+</span><span class="NAME">this.s.sRestore</span><span class="PUNC">+</span><span class="STRN">'&lt;/span>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>418</span> </span><span class="WHIT">		
+<span class='line'>419</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>420</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">that.s.abOriginal.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>421</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>422</span> </span><span class="WHIT">				</span><span class="NAME">that.s.dt.oInstance.fnSetColumnVis</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.s.abOriginal</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>423</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>424</span> </span><span class="WHIT">			</span><span class="NAME">that.s.dt.oInstance.fnDraw</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>425</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>426</span> </span><span class="WHIT">		
+<span class='line'>427</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>428</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>429</span> </span><span class="WHIT">	
+<span class='line'>430</span> 	
+<span class='line'>431</span> 	</span><span class="COMM">/**
+<span class='line'>432</span> 	 * Create the DOM for a show / hide button
+<span class='line'>433</span> 	 *  @method  _fnDomColumnButton
+<span class='line'>434</span> 	 *  @param {int} i Column in question
+<span class='line'>435</span> 	 *  @returns {Node} Created button
+<span class='line'>436</span> 	 *  @private 
+<span class='line'>437</span> 	 */</span><span class="WHIT">
+<span class='line'>438</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomColumnButton</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>439</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>440</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>441</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>442</span> </span><span class="WHIT">			</span><span class="NAME">oColumn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>443</span> </span><span class="WHIT">		  </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'button'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>444</span> </span><span class="WHIT">		  </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'span'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>445</span> </span><span class="WHIT">		
+<span class='line'>446</span> 		</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_Button TableTools_Button"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>447</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_Button TableTools_Button ui-button ui-state-default"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>448</span> </span><span class="WHIT">		</span><span class="NAME">nButton.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>449</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nSpan</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">html</span><span class="PUNC">(</span><span class="WHIT">
+<span class='line'>450</span> </span><span class="WHIT">			</span><span class="STRN">'&lt;span class="ColVis_radio">&lt;input type="checkbox">&lt;/span>'</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>451</span> </span><span class="WHIT">			</span><span class="STRN">'&lt;span class="ColVis_title">'</span><span class="PUNC">+</span><span class="NAME">oColumn.sTitle</span><span class="PUNC">+</span><span class="STRN">'&lt;/span>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>452</span> </span><span class="WHIT">		
+<span class='line'>453</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>454</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">attr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">===</span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>455</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.target.nodeName.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"input"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>456</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>457</span> </span><span class="WHIT">				</span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">attr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>458</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>459</span> </span><span class="WHIT">			
+<span class='line'>460</span> 			</span><span class="COMM">/* Need to consider the case where the initialiser created more than one table - change the
+<span class='line'>461</span> 			 * API index that DataTables is using
+<span class='line'>462</span> 			 */</span><span class="WHIT">
+<span class='line'>463</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTableExt.iApiIndex</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>464</span> </span><span class="WHIT">			</span><span class="NAME">$.fn.dataTableExt.iApiIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that._fnDataTablesApiIndex.call</span><span class="PUNC">(</span><span class="NAME">that</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>465</span> </span><span class="WHIT">			</span><span class="NAME">that.s.dt.oInstance.fnSetColumnVis</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>466</span> </span><span class="WHIT">			</span><span class="NAME">$.fn.dataTableExt.iApiIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oldIndex</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">/* Restore */</span><span class="WHIT">
+<span class='line'>467</span> </span><span class="WHIT">			
+<span class='line'>468</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.fnStateChange</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>469</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>470</span> </span><span class="WHIT">				</span><span class="NAME">that.s.fnStateChange.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>471</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>472</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>473</span> </span><span class="WHIT">		
+<span class='line'>474</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>475</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>476</span> </span><span class="WHIT">	
+<span class='line'>477</span> 	
+<span class='line'>478</span> 	</span><span class="COMM">/**
+<span class='line'>479</span> 	 * Get the position in the DataTables instance array of the table for this instance of ColVis
+<span class='line'>480</span> 	 *  @method  _fnDataTablesApiIndex
+<span class='line'>481</span> 	 *  @returns {int} Index
+<span class='line'>482</span> 	 *  @private 
+<span class='line'>483</span> 	 */</span><span class="WHIT">
+<span class='line'>484</span> </span><span class="WHIT">	</span><span class="NAME">_fnDataTablesApiIndex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>485</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>486</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.oInstance.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>487</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>488</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oInstance</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>489</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>490</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>491</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>492</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>493</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>494</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>495</span> </span><span class="WHIT">	
+<span class='line'>496</span> 	
+<span class='line'>497</span> 	</span><span class="COMM">/**
+<span class='line'>498</span> 	 * Create the DOM needed for the button and apply some base properties. All buttons start here
+<span class='line'>499</span> 	 *  @method  _fnDomBaseButton
+<span class='line'>500</span> 	 *  @param   {String} text Button text
+<span class='line'>501</span> 	 *  @returns {Node} DIV element for the button
+<span class='line'>502</span> 	 *  @private 
+<span class='line'>503</span> 	 */</span><span class="WHIT">
+<span class='line'>504</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomBaseButton</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>505</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>506</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>507</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>508</span> </span><span class="WHIT">		  </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'button'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>509</span> </span><span class="WHIT">		  </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'span'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>510</span> </span><span class="WHIT">			</span><span class="NAME">sEvent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.activate</span><span class="PUNC">==</span><span class="STRN">"mouseover"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"mouseover"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"click"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>511</span> </span><span class="WHIT">		
+<span class='line'>512</span> 		</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_Button TableTools_Button"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>513</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_Button TableTools_Button ui-button ui-state-default"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>514</span> </span><span class="WHIT">		</span><span class="NAME">nButton.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>515</span> </span><span class="WHIT">		</span><span class="NAME">nSpan.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">text</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>516</span> </span><span class="WHIT">		
+<span class='line'>517</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sEvent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>518</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionShow</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>519</span> </span><span class="WHIT">			</span><span class="NAME">e.preventDefault</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>520</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>521</span> </span><span class="WHIT">		
+<span class='line'>522</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>523</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>524</span> </span><span class="WHIT">	
+<span class='line'>525</span> 	
+<span class='line'>526</span> 	</span><span class="COMM">/**
+<span class='line'>527</span> 	 * Create the element used to contain list the columns (it is shown and hidden as needed)
+<span class='line'>528</span> 	 *  @method  _fnDomCollection
+<span class='line'>529</span> 	 *  @returns {Node} div container for the collection
+<span class='line'>530</span> 	 *  @private 
+<span class='line'>531</span> 	 */</span><span class="WHIT">
+<span class='line'>532</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomCollection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>533</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>534</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>535</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>536</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>537</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_collection TableTools_collection"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>538</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_collection TableTools_collection ui-buttonset ui-buttonset-multi"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>539</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>540</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>541</span> </span><span class="WHIT">		
+<span class='line'>542</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>543</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>544</span> </span><span class="WHIT">	
+<span class='line'>545</span> 	
+<span class='line'>546</span> 	</span><span class="COMM">/**
+<span class='line'>547</span> 	 * An element to be placed on top of the activate button to catch events
+<span class='line'>548</span> 	 *  @method  _fnDomCatcher
+<span class='line'>549</span> 	 *  @returns {Node} div container for the collection
+<span class='line'>550</span> 	 *  @private 
+<span class='line'>551</span> 	 */</span><span class="WHIT">
+<span class='line'>552</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomCatcher</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>553</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>554</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> 
+<span class='line'>555</span> 			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>556</span> </span><span class="WHIT">			</span><span class="NAME">nCatcher</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>557</span> </span><span class="WHIT">		</span><span class="NAME">nCatcher.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis_catcher TableTools_catcher"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>558</span> </span><span class="WHIT">		
+<span class='line'>559</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nCatcher</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>560</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionHide.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>561</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>562</span> </span><span class="WHIT">		
+<span class='line'>563</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nCatcher</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>564</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>565</span> </span><span class="WHIT">	
+<span class='line'>566</span> 	
+<span class='line'>567</span> 	</span><span class="COMM">/**
+<span class='line'>568</span> 	 * Create the element used to shade the background, and capture hide events (it is shown and 
+<span class='line'>569</span> 	 * hidden as needed)
+<span class='line'>570</span> 	 *  @method  _fnDomBackground
+<span class='line'>571</span> 	 *  @returns {Node} div container for the background
+<span class='line'>572</span> 	 *  @private 
+<span class='line'>573</span> 	 */</span><span class="WHIT">
+<span class='line'>574</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomBackground</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>575</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>576</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>577</span> </span><span class="WHIT">		
+<span class='line'>578</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>579</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>580</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>581</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>582</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis_collectionBackground TableTools_collectionBackground"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>583</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>584</span> </span><span class="WHIT">		
+<span class='line'>585</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>586</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionHide.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>587</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>588</span> </span><span class="WHIT">		
+<span class='line'>589</span> 		</span><span class="COMM">/* When considering a mouse over action for the activation, we also consider a mouse out
+<span class='line'>590</span> 		 * which is the same as a mouse over the background - without all the messing around of
+<span class='line'>591</span> 		 * bubbling events. Use the catcher element to avoid messing around with bubbling
+<span class='line'>592</span> 		 */</span><span class="WHIT">
+<span class='line'>593</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.activate</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"mouseover"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>594</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>595</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">mouseover</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>596</span> </span><span class="WHIT">				</span><span class="NAME">that.s.overcollection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>597</span> </span><span class="WHIT">				</span><span class="NAME">that._fnCollectionHide.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>598</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>599</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>600</span> </span><span class="WHIT">		
+<span class='line'>601</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>602</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>603</span> </span><span class="WHIT">	
+<span class='line'>604</span> 	
+<span class='line'>605</span> 	</span><span class="COMM">/**
+<span class='line'>606</span> 	 * Show the show / hide list and the background
+<span class='line'>607</span> 	 *  @method  _fnCollectionShow
+<span class='line'>608</span> 	 *  @returns void
+<span class='line'>609</span> 	 *  @private 
+<span class='line'>610</span> 	 */</span><span class="WHIT">
+<span class='line'>611</span> </span><span class="WHIT">	</span><span class="NAME">_fnCollectionShow</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>612</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>613</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>614</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oPos</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>615</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.collection</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>616</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.background</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>617</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">oPos.left</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>618</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">oPos.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>619</span> </span><span class="WHIT">		
+<span class='line'>620</span> 		</span><span class="NAME">nHidden.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>621</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>622</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>623</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>624</span> </span><span class="WHIT">		
+<span class='line'>625</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iWinHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>626</span> </span><span class="WHIT">		 	</span><span class="NAME">iWinWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>627</span> </span><span class="WHIT">		
+<span class='line'>628</span> 		</span><span class="NAME">nBackground.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">iWinHeight</span><span class="PUNC">></span><span class="NAME">iDocHeight</span><span class="PUNC">)</span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">iWinHeight</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>629</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">iWinWidth</span><span class="PUNC">&lt;</span><span class="NAME">iDocWidth</span><span class="PUNC">)</span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">iWinWidth</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>630</span> </span><span class="WHIT">		
+<span class='line'>631</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oStyle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.catcher.style</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>632</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>633</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>634</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oPos.top</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>635</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>636</span> </span><span class="WHIT">		
+<span class='line'>637</span> 		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>638</span> </span><span class="WHIT">		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>639</span> </span><span class="WHIT">		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.catcher</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>640</span> </span><span class="WHIT">		
+<span class='line'>641</span> 		</span><span class="COMM">/* Visual corrections to try and keep the collection visible */</span><span class="WHIT">
+<span class='line'>642</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.sAlign</span><span class="PUNC">==</span><span class="STRN">"left"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>643</span> </span><span class="WHIT">			</span><span class="NAME">iDivX</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDivX</span><span class="PUNC">-</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>644</span> </span><span class="WHIT">		
+<span class='line'>645</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>646</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>647</span> </span><span class="WHIT">		
+<span class='line'>648</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iDivWidth</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>649</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>650</span> </span><span class="WHIT">			</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDocWidth</span><span class="PUNC">-</span><span class="NAME">iDivWidth</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>651</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>652</span> </span><span class="WHIT">		
+<span class='line'>653</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iDivHeight</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>654</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>655</span> </span><span class="WHIT">			</span><span class="NAME">nHidden.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDivY</span><span class="PUNC">-</span><span class="NAME">iDivHeight</span><span class="PUNC">-</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>656</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>657</span> </span><span class="WHIT">		
+<span class='line'>658</span> 		
+<span class='line'>659</span> 		</span><span class="COMM">/* This results in a very small delay for the end user but it allows the animation to be
+<span class='line'>660</span> 		 * much smoother. If you don't want the animation, then the setTimeout can be removed
+<span class='line'>661</span> 		 */</span><span class="WHIT">
+<span class='line'>662</span> </span><span class="WHIT">		</span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>663</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>664</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0.1</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'linear'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>665</span> </span><span class="WHIT">				</span><span class="COMM">/* In IE6 if you set the checked attribute of a hidden checkbox, then this is not visually
+<span class='line'>666</span> 				 * reflected. As such, we need to do it here, once it is visible. Unbelievable.
+<span class='line'>667</span> 				 */</span><span class="WHIT">
+<span class='line'>668</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jQuery.browser.msie</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">jQuery.browser.version</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"6.0"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>669</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>670</span> </span><span class="WHIT">					</span><span class="NAME">that._fnDrawCallback</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>671</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>672</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>673</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>674</span> </span><span class="WHIT">		
+<span class='line'>675</span> 		</span><span class="NAME">this.s.hidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>676</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>677</span> </span><span class="WHIT">	
+<span class='line'>678</span> 	
+<span class='line'>679</span> 	</span><span class="COMM">/**
+<span class='line'>680</span> 	 * Hide the show / hide list and the background
+<span class='line'>681</span> 	 *  @method  _fnCollectionHide
+<span class='line'>682</span> 	 *  @returns void
+<span class='line'>683</span> 	 *  @private 
+<span class='line'>684</span> 	 */</span><span class="WHIT">
+<span class='line'>685</span> </span><span class="WHIT">	</span><span class="NAME">_fnCollectionHide</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">  </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>686</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>687</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>688</span> </span><span class="WHIT">		
+<span class='line'>689</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.hidden</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.dom.collection</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>690</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>691</span> </span><span class="WHIT">			</span><span class="NAME">this.s.hidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>692</span> </span><span class="WHIT">			
+<span class='line'>693</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.collection</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>694</span> </span><span class="WHIT">				</span><span class="NAME">this.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>695</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>696</span> </span><span class="WHIT">			
+<span class='line'>697</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.background</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>698</span> </span><span class="WHIT">				</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.dom.background</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>699</span> </span><span class="WHIT">				</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.dom.catcher</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>700</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>701</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>702</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>703</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>704</span> 
+<span class='line'>705</span> 
+<span class='line'>706</span> 
+<span class='line'>707</span> 
+<span class='line'>708</span> 
+<span class='line'>709</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>710</span>  * Static object methods
+<span class='line'>711</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>712</span> 
+<span class='line'>713</span> </span><span class="COMM">/**
+<span class='line'>714</span>  * Rebuild the collection for a given table, or all tables if no parameter given
+<span class='line'>715</span>  *  @method  ColVis.fnRebuild
+<span class='line'>716</span>  *  @static
+<span class='line'>717</span>  *  @param   object oTable DataTable instance to consider - optional
+<span class='line'>718</span>  *  @returns void
+<span class='line'>719</span>  */</span><span class="WHIT">
+<span class='line'>720</span> </span><span class="NAME">ColVis.fnRebuild</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>721</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>722</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nTable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>723</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>724</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>725</span> </span><span class="WHIT">		</span><span class="NAME">nTable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oTable.fnSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">nTable</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>726</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>727</span> </span><span class="WHIT">	
+<span class='line'>728</span> 	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">ColVis.aInstances.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>729</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>730</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">nTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">ColVis.aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s.dt.nTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>731</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>732</span> </span><span class="WHIT">			</span><span class="NAME">ColVis.aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">fnRebuild</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>733</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>734</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>735</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>736</span> 
+<span class='line'>737</span> 
+<span class='line'>738</span> 
+<span class='line'>739</span> 
+<span class='line'>740</span> 
+<span class='line'>741</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>742</span>  * Static object propterties
+<span class='line'>743</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>744</span> 
+<span class='line'>745</span> </span><span class="COMM">/**
+<span class='line'>746</span>  * Collection of all ColVis instances
+<span class='line'>747</span>  *  @property ColVis.aInstances
+<span class='line'>748</span>  *  @static
+<span class='line'>749</span>  *  @type     Array
+<span class='line'>750</span>  *  @default  []
+<span class='line'>751</span>  */</span><span class="WHIT">
+<span class='line'>752</span> </span><span class="NAME">ColVis.aInstances</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>753</span> 
+<span class='line'>754</span> 
+<span class='line'>755</span> 
+<span class='line'>756</span> 
+<span class='line'>757</span> 
+<span class='line'>758</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>759</span>  * Constants
+<span class='line'>760</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>761</span> 
+<span class='line'>762</span> </span><span class="COMM">/**
+<span class='line'>763</span>  * Name of this class
+<span class='line'>764</span>  *  @constant CLASS
+<span class='line'>765</span>  *  @type     String
+<span class='line'>766</span>  *  @default  ColVis
+<span class='line'>767</span>  */</span><span class="WHIT">
+<span class='line'>768</span> </span><span class="NAME">ColVis.prototype.CLASS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>769</span> 
+<span class='line'>770</span> 
+<span class='line'>771</span> </span><span class="COMM">/**
+<span class='line'>772</span>  * ColVis version
+<span class='line'>773</span>  *  @constant  VERSION
+<span class='line'>774</span>  *  @type      String
+<span class='line'>775</span>  *  @default   1.0.4.dev
+<span class='line'>776</span>  */</span><span class="WHIT">
+<span class='line'>777</span> </span><span class="NAME">ColVis.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"1.0.4"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>778</span> </span><span class="NAME">ColVis.prototype.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ColVis.VERSION</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>779</span> 
+<span class='line'>780</span> 
+<span class='line'>781</span> 
+<span class='line'>782</span> 
+<span class='line'>783</span> 
+<span class='line'>784</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>785</span>  * Initialisation
+<span class='line'>786</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>787</span> 
+<span class='line'>788</span> </span><span class="COMM">/*
+<span class='line'>789</span>  * Register a new feature with DataTables
+<span class='line'>790</span>  */</span><span class="WHIT">
+<span class='line'>791</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>792</span> </span><span class="WHIT">     </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>793</span> </span><span class="WHIT">     </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="PUNC">(</span><span class="STRN">'1.7.0'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>794</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>795</span> </span><span class="WHIT">	</span><span class="NAME">$.fn.dataTableExt.aoFeatures.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>796</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>797</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInit.oColVis</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>798</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInit.oColVis</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>799</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oColvis</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">ColVis</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>800</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">oColvis.dom.wrapper</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>801</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>802</span> </span><span class="WHIT">		</span><span class="NAME">cFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"C"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>803</span> </span><span class="WHIT">		</span><span class="NAME">sFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="WHIT">
+<span class='line'>804</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>805</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>806</span> </span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>807</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>808</span> </span><span class="WHIT">	</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>809</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>810</span> 
+<span class='line'>811</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">jQuery</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>812</span> </span></pre></body></html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/css/default.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/css/default.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/css/default.css	(revision 6286)
@@ -0,0 +1,418 @@
+/*
+ * TABLE OF CONTENTS:
+ * - Browser reset
+ * - HTML elements
+ * - JsDoc styling
+ */
+
+
+
+
+
+
+/*
+ * BEGIN BROWSER RESET
+ */
+
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,pre,form,fieldset,input,textarea,p,blockquote,th,td {
+	margin:0;
+	padding:0
+}
+html {
+	height:100%;
+	overflow:-moz-scrollbars-vertical;
+	overflow-x:auto
+}
+table {
+	border:0;
+	border-collapse:collapse;
+	border-spacing:0
+}
+fieldset,img {
+	border:0
+}
+address,caption,cite,code,dfn,em,strong,th,var {
+	font-style:normal;
+	font-weight:normal
+}
+em,cite {
+	font-style:italic
+}
+strong {
+	font-weight:bold
+}
+ol,ul {
+	list-style:none
+}
+caption,th {
+	text-align:left
+}
+h1,h2,h3,h4,h5,h6 {
+	font-size:100%;
+	font-weight:normal;
+	margin:0;
+	padding:0
+}
+q:before,q:after {
+	content:''
+}
+abbr,acronym {
+	border:0
+}
+
+/*
+ * END BROWSER RESET
+ */
+
+
+
+
+
+
+/*
+ * HTML ELEMENTS
+ */
+
+* {
+	line-height: 1.4em;
+}
+
+html {
+	font-size: 100%;
+}
+
+body {
+	font-size: 0.75em !important;
+	padding: 15px 0;
+	background: #eee;
+	background-image: -moz-linear-gradient(left, #dddddd, #f9f9f9);
+	background-image: -webkit-gradient(linear,left bottom,right bottom,color-stop(0, #dddddd),color-stop(1, #f9f9f9));
+  }
+
+body,
+input,
+select,
+textarea {
+	color: #000;
+	font-family: Arial, Geneva, sans-serif;
+}
+
+a:link,
+a:hover,
+a:active,
+a:visited {
+	color: #19199e;
+}
+a:hover,
+a:focus {
+	color: #00f;
+	text-decoration: none;
+}
+
+p {
+	margin: 0 0 1.5em 0;
+}
+
+/*
+ * END HTML ELEMENTS
+ */
+
+
+ 
+/*
+ * BEGIN HACK
+ */
+
+div.containerMain:after,
+div.safeBox:after {
+	content:"";
+	display:block;
+	height:0;
+	clear:both;
+}
+
+/*
+ * END HACK
+ */
+
+
+
+/*
+ * BEGIN JSDOC
+ */
+
+div.index *.heading1 {
+	margin-bottom: 0.5em;
+	border-bottom: 1px solid #999999;
+	padding: 0.5em 0 0.1em 0;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.3em;
+	letter-spacing: 1px;
+}
+ 
+div.index {
+	float: left;
+	width: 30%;
+	min-width: 100px;
+	max-width: 250px;
+}
+div.index div.menu {
+	margin: 0 15px 0 -15px;
+	-moz-border-radius: 15px;
+	-webkit-border-radius: 15px;
+	border-radius: 15px;
+  	padding: 15px 15px 15px 30px;
+	background-color: #FFFFFF;
+	background-color: rgba(255, 255, 255, 0.5);
+	-moz-box-shadow: 0px 0px 10px #c4c4c4;
+	-webkit-box-shadow: 0px 0px 10px #c4c4c4;
+	box-shadow: 0px 0px 10px #c4c4c4;
+}
+*+html div.index div.menu {
+	background-color: #FFFFFF;
+}
+* html div.index div.menu {
+	background-color: #FFFFFF;
+}
+
+div.index div.menu div {
+	text-align: left;
+}
+
+div.index div.menu a {
+	text-decoration: none;
+}
+div.index div.menu a:hover {
+	text-decoration: underline;
+}
+
+div.index ul.classList a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.index div.fineprint {
+  	padding: 15px 30px 15px 15px;
+	color: #777;
+	font-size: 0.9em;
+}
+div.index div.fineprint a {
+	color: #777;
+}
+
+
+
+div.content {
+	float: left;
+	width: 70%;
+	min-width: 300px;
+	max-width: 600px;
+}
+div.innerContent {
+	padding: 0 0 0 2.5em;
+}
+
+div.content ul,
+div.content ol {
+	margin-bottom: 3em;
+}
+
+div.content *.classTitle {
+	margin-bottom: 0.5em;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 2.5em;
+	letter-spacing: 2px;
+}
+
+div.content *.classTitle span {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.content p.summary {
+	font-size: 1.2em;
+}
+
+div.content ul *.classname a,
+div.content ul *.filename a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+	text-decoration: none;
+	font-weight: bold;
+}
+div.content ul *.classname a:hover,
+div.content ul *.filename a:hover {
+	text-decoration: underline;
+}
+
+div.content div.props {
+	position: relative;
+	left: -10px;
+	margin-bottom: 2.5em;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	padding: 10px 15px 15px 15px;
+	overflow: hidden;
+	background: #fff;
+	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2)); /* FF3.6 */
+	background: -webkit-gradient(linear,left top,left bottom,color-stop(0, rgba(255, 255, 255, 0.7)),color-stop(1, rgba(255, 255, 255, 0.2)));
+	-moz-box-shadow: 0px 0px 10px #ccc;
+	-webkit-box-shadow: 0px 0px 5px #bbb;
+	box-shadow: 0px 0px 5px #bbb;
+}
+
+div.content div.props div.sectionTitle {
+	padding-bottom: 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+div.content div.hr {
+	margin: 0 10px 0 0;
+	height: 4em;
+}
+
+
+
+table.summaryTable {
+	position: relative;
+	left: -10px;
+	width: 100%;
+	border-collapse: collapse;
+	box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	-webkit-box-sizing: content-box;
+	-ms-box-sizing: content-box;
+	-o-box-sizing: content-box;
+	-icab-box-sizing: content-box;
+	-khtml-box-sizing: content-box; 
+}
+
+table.summaryTable caption {
+	padding: 0 10px 10px 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+table.summaryTable td,
+table.summaryTable th {
+	padding: 0px 10px 10px 10px;
+	vertical-align: top;
+}
+table.summaryTable tr:last-child td {
+	padding-bottom: 0;
+}
+
+table.summaryTable th {
+	font-weight: bold;
+}
+
+table.summaryTable td.attributes {
+	width: 35%;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	color: #666;
+}
+
+table.summaryTable td.nameDescription {
+	width: 65%
+}
+
+table.summaryTable td.nameDescription div.fixedFont {
+	font-weight: bold;
+}
+
+table.summaryTable div.description {
+	color: #333;
+}
+
+
+
+dl.detailList {
+	margin-top: 0.5em;
+}
+
+dl.detailList.nomargin + dl.detailList.nomargin {
+	margin-top: 0;
+}
+
+dl.detailList dt {
+	display: inline;
+	margin-right: 5px;
+	font-weight: bold;
+}
+
+dl.detailList dt:before {
+	display: block;
+	content: "";
+}
+
+dl.detailList dd {
+	display: inline;
+}
+
+dl.detailList.params dt {
+	display: block;
+}
+dl.detailList.params dd {
+	display: block;
+	padding-left: 2em;
+	padding-bottom: 0.4em;
+}
+
+
+
+
+ul.fileList li {
+	margin-bottom: 1.5em;
+}
+
+
+
+.fixedFont {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+.fixedFont.heading {
+	margin-bottom: 0.5em;
+	font-size: 1.25em;
+	line-height: 1.1em
+}
+
+.fixedFont.heading + .description {
+	font-size: 1.2em;
+}
+
+.fixedFont.heading .light,
+.fixedFont.heading .lighter {
+	font-weight: bold;
+}
+
+pre.code {
+	margin: 10px 0 10px 0;
+	padding: 10px;
+	border: 1px solid #ccc;
+	-moz-border-radius: 2px;
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	overflow: auto;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	background: #eee;
+}
+
+.light {
+	color: #666;
+}
+
+.lighter {
+	color: #999;
+}
+
+.clear {
+	clear: both;
+	width: 100%;
+	min-height: 0;
+}
+
+/*
+ * END JSDOC
+ */
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/files.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/files.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/files.html	(revision 6286)
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		
+		<title>JsDoc Reference - File Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:29 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">File Index</h1>
+				
+				<ul class="fileList">
+					
+						<li>
+							<h2 class="filename"><a href="symbols/src/js_ColVis.js.html">js/ColVis.js</a></h2>
+							
+							
+							
+							<dl class="detailList">
+								
+								
+								
+								
+								
+								
+							</dl>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/index.html	(revision 6286)
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<title>JsDoc Reference - Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:29 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">Class Index</h1>
+				
+				<ul>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/_global_.html">_global_</a></h2>
+							<p></p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColVis.html">ColVis</a></h2>
+							<p>ColVis</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColVis%23dom.html">ColVis#dom</a></h2>
+							<p>Common and useful DOM elements for the class instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/ColVis%23s.html">ColVis#s</a></h2>
+							<p>Settings object which contains customisable information for ColVis instance</p>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis#dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis#dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis#dom.html	(revision 6286)
@@ -0,0 +1,516 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColVis#dom</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:29 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>ColVis#dom</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Common and useful DOM elements for the class instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColVis.js.html">ColVis.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColVis#dom.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColVis%23dom.html#constructor">ColVis#dom</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColVis#dom.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.background">background</a></b>
+												</div>
+												<div class="description">Background node used for shading the display and event capturing</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.button">button</a></b>
+												</div>
+												<div class="description">Activation button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.buttons">buttons</a></b>
+												</div>
+												<div class="description">List of button elements</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.catcher">catcher</a></b>
+												</div>
+												<div class="description">Element to position over the activation button to catch mouse events when using mouseover</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.collection">collection</a></b>
+												</div>
+												<div class="description">Collection list node</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.restore">restore</a></b>
+												</div>
+												<div class="description">Restore button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#dom.<b><a href="../symbols/ColVis%23dom.html#.wrapper">wrapper</a></b>
+												</div>
+												<div class="description">Wrapper for the button - given back to DataTables as the node to insert</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColVis#dom</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".background"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>background</b>							
+								</div>
+								
+								<div class="description">
+									Background node used for shading the display and event capturing
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".button"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>button</b>							
+								</div>
+								
+								<div class="description">
+									Activation button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".buttons"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#dom.</span><b>buttons</b>							
+								</div>
+								
+								<div class="description">
+									List of button elements
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".catcher"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>catcher</b>							
+								</div>
+								
+								<div class="description">
+									Element to position over the activation button to catch mouse events when using mouseover
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".collection"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>collection</b>							
+								</div>
+								
+								<div class="description">
+									Collection list node
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".restore"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>restore</b>							
+								</div>
+								
+								<div class="description">
+									Restore button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".wrapper"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<span class="light">ColVis#dom.</span><b>wrapper</b>							
+								</div>
+								
+								<div class="description">
+									Wrapper for the button - given back to DataTables as the node to insert
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis#s.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis#s.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis#s.html	(revision 6286)
@@ -0,0 +1,708 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColVis#s</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:29 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>ColVis#s</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Settings object which contains customisable information for ColVis instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColVis.js.html">ColVis.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColVis#s.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColVis%23s.html#constructor">ColVis#s</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColVis#s.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.abOriginal">abOriginal</a></b>
+												</div>
+												<div class="description">Store the original viisbility settings so they could be restored</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.activate">activate</a></b>
+												</div>
+												<div class="description">Mode of activation.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.aiExclude">aiExclude</a></b>
+												</div>
+												<div class="description">List of columns (integers) which should be excluded from the list</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.bRestore">bRestore</a></b>
+												</div>
+												<div class="description">Show restore button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.buttonText">buttonText</a></b>
+												</div>
+												<div class="description">Text used for the button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.dt">dt</a></b>
+												</div>
+												<div class="description">DataTables settings object</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.fnStateChange">fnStateChange</a></b>
+												</div>
+												<div class="description">Callback function to tell the user when the state has changed</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.hidden">hidden</a></b>
+												</div>
+												<div class="description">Flag to say if the collection is hidden</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.oInit">oInit</a></b>
+												</div>
+												<div class="description">Customisation object</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.sAlign">sAlign</a></b>
+												</div>
+												<div class="description">Position of the collection menu when shown - align "left" or "right"</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis#s.<b><a href="../symbols/ColVis%23s.html#.sRestore">sRestore</a></b>
+												</div>
+												<div class="description">Restore button text</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColVis#s</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".abOriginal"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#s.</span><b>abOriginal</b>							
+								</div>
+								
+								<div class="description">
+									Store the original viisbility settings so they could be restored
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".activate"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>activate</b>							
+								</div>
+								
+								<div class="description">
+									Mode of activation. Can be 'click' or 'mouseover'
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												click
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".aiExclude"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#s.</span><b>aiExclude</b>							
+								</div>
+								
+								<div class="description">
+									List of columns (integers) which should be excluded from the list
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".bRestore"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis#s.</span><b>bRestore</b>							
+								</div>
+								
+								<div class="description">
+									Show restore button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".buttonText"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>buttonText</b>							
+								</div>
+								
+								<div class="description">
+									Text used for the button
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												Show / hide columns
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".dt"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<span class="light">ColVis#s.</span><b>dt</b>							
+								</div>
+								
+								<div class="description">
+									DataTables settings object
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".fnStateChange"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{function}</span>
+									
+									<span class="light">ColVis#s.</span><b>fnStateChange</b>							
+								</div>
+								
+								<div class="description">
+									Callback function to tell the user when the state has changed
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".hidden"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{boolean}</span>
+									
+									<span class="light">ColVis#s.</span><b>hidden</b>							
+								</div>
+								
+								<div class="description">
+									Flag to say if the collection is hidden
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												true
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".oInit"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<span class="light">ColVis#s.</span><b>oInit</b>							
+								</div>
+								
+								<div class="description">
+									Customisation object
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												passed in
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".sAlign"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>sAlign</b>							
+								</div>
+								
+								<div class="description">
+									Position of the collection menu when shown - align "left" or "right"
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												right
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".sRestore"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis#s.</span><b>sRestore</b>							
+								</div>
+								
+								<div class="description">
+									Restore button text
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												Restore original
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/ColVis.html	(revision 6286)
@@ -0,0 +1,1279 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - ColVis</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:29 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Class <span>ColVis</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					ColVis
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_ColVis.js.html">ColVis.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class ColVis.">
+							<caption>Class Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/ColVis.html#constructor">ColVis</a></b>(DataTables, oInit)
+										</div>
+										<div class="description">ColVis provides column visiblity control for DataTables</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class ColVis.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis.<b><a href="../symbols/ColVis.html#.aInstances">aInstances</a></b>
+												</div>
+												<div class="description">Collection of all ColVis instances</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												<b><a href="../symbols/ColVis.html#CLASS">CLASS</a></b>
+												</div>
+												<div class="description">Name of this class</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												ColVis.<b><a href="../symbols/ColVis.html#.VERSION">VERSION</a></b>
+												</div>
+												<div class="description">ColVis version</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class ColVis.">
+								<caption>Method Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Method Attributes</th>
+										<th scope="col">Method Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnAddButtons">_fnAddButtons</a></b>()
+												</div>
+												<div class="description">Loop through the columns in the table and as a new button for each one.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnApplyCustomisation">_fnApplyCustomisation</a></b>()
+												</div>
+												<div class="description">Apply any customisation to the settings from the DataTables initialisation</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnCollectionHide">_fnCollectionHide</a></b>()
+												</div>
+												<div class="description">Hide the show / hide list and the background</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnCollectionShow">_fnCollectionShow</a></b>()
+												</div>
+												<div class="description">Show the show / hide list and the background</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnConstruct">_fnConstruct</a></b>()
+												</div>
+												<div class="description">Constructor logic</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDataTablesApiIndex">_fnDataTablesApiIndex</a></b>()
+												</div>
+												<div class="description">Get the position in the DataTables instance array of the table for this instance of ColVis</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDomBackground">_fnDomBackground</a></b>()
+												</div>
+												<div class="description">Create the element used to shade the background, and capture hide events (it is shown and 
+hidden as needed)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDomBaseButton">_fnDomBaseButton</a></b>(text)
+												</div>
+												<div class="description">Create the DOM needed for the button and apply some base properties.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDomCatcher">_fnDomCatcher</a></b>()
+												</div>
+												<div class="description">An element to be placed on top of the activate button to catch events</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDomCollection">_fnDomCollection</a></b>()
+												</div>
+												<div class="description">Create the element used to contain list the columns (it is shown and hidden as needed)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDomColumnButton">_fnDomColumnButton</a></b>(i)
+												</div>
+												<div class="description">Create the DOM for a show / hide button</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDomRestoreButton">_fnDomRestoreButton</a></b>()
+												</div>
+												<div class="description">Create a button which allows a "restore" action</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;private&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#_fnDrawCallback">_fnDrawCallback</a></b>()
+												</div>
+												<div class="description">On each table draw, check the visiblity checkboxes as needed.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">ColVis.<b><a href="../symbols/ColVis.html#.fnRebuild">fnRebuild</a></b>(object)
+												</div>
+												<div class="description">Rebuild the collection for a given table, or all tables if no parameter given</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/ColVis.html#fnRebuild">fnRebuild</a></b>()
+												</div>
+												<div class="description">Rebuild the list of buttons for this instance (i.e.</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Class Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>ColVis</b>(DataTables, oInit)
+							</div>
+							
+							<div class="description">
+								ColVis provides column visiblity control for DataTables
+								
+							</div>
+							
+							
+						
+							
+								<dl class="detailList params">
+									<dt class="heading">Parameters:</dt>
+									
+										<dt>
+											<span class="light fixedFont">{object}</span>  <b>DataTables</b>
+											
+										</dt>
+										<dd>settings object</dd>
+									
+										<dt>
+											 <b>oInit</b>
+											
+										</dt>
+										<dd></dd>
+									
+								</dl>
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".aInstances"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">ColVis.</span><b>aInstances</b>							
+								</div>
+								
+								<div class="description">
+									Collection of all ColVis instances
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name="CLASS"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>CLASS</b>							
+								</div>
+								
+								<div class="description">
+									Name of this class
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												ColVis
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".VERSION"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; &lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">ColVis.</span><b>VERSION</b>							
+								</div>
+								
+								<div class="description">
+									ColVis version
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												1.0.4.dev
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+					<div class="details props">
+						<div class="innerProps">
+							<div class="sectionTitle">
+								Method Detail
+							</div>
+							
+							
+								<a name="_fnAddButtons"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnAddButtons</b>()
+								</div>
+								
+								<div class="description">
+									Loop through the columns in the table and as a new button for each one.
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnApplyCustomisation"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnApplyCustomisation</b>()
+								</div>
+								
+								<div class="description">
+									Apply any customisation to the settings from the DataTables initialisation
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnCollectionHide"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnCollectionHide</b>()
+								</div>
+								
+								<div class="description">
+									Hide the show / hide list and the background
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnCollectionShow"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnCollectionShow</b>()
+								</div>
+								
+								<div class="description">
+									Show the show / hide list and the background
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnConstruct"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnConstruct</b>()
+								</div>
+								
+								<div class="description">
+									Constructor logic
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDataTablesApiIndex"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<b>_fnDataTablesApiIndex</b>()
+								</div>
+								
+								<div class="description">
+									Get the position in the DataTables instance array of the table for this instance of ColVis
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{int}</span> Index</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDomBackground"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<b>_fnDomBackground</b>()
+								</div>
+								
+								<div class="description">
+									Create the element used to shade the background, and capture hide events (it is shown and 
+hidden as needed)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Node}</span> div container for the background</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDomBaseButton"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<b>_fnDomBaseButton</b>(text)
+								</div>
+								
+								<div class="description">
+									Create the DOM needed for the button and apply some base properties. All buttons start here
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{String}</span> <b>text</b>
+												
+											</dt>
+											<dd>Button text</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Node}</span> DIV element for the button</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDomCatcher"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<b>_fnDomCatcher</b>()
+								</div>
+								
+								<div class="description">
+									An element to be placed on top of the activate button to catch events
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Node}</span> div container for the collection</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDomCollection"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<b>_fnDomCollection</b>()
+								</div>
+								
+								<div class="description">
+									Create the element used to contain list the columns (it is shown and hidden as needed)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Node}</span> div container for the collection</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDomColumnButton"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<b>_fnDomColumnButton</b>(i)
+								</div>
+								
+								<div class="description">
+									Create the DOM for a show / hide button
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{int}</span> <b>i</b>
+												
+											</dt>
+											<dd>Column in question</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Node}</span> Created button</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDomRestoreButton"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									<span class="light">{Node}</span>
+									
+									<b>_fnDomRestoreButton</b>()
+								</div>
+								
+								<div class="description">
+									Create a button which allows a "restore" action
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Node}</span> Created button</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="_fnDrawCallback"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;private&gt; 
+									</span>
+									
+									
+									
+									<b>_fnDrawCallback</b>()
+								</div>
+								
+								<div class="description">
+									On each table draw, check the visiblity checkboxes as needed. This allows any process to
+update the table's column visiblity and ColVis will still be accurate.
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name=".fnRebuild"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									
+									
+									<span class="light">ColVis.</span><b>fnRebuild</b>(object)
+								</div>
+								
+								<div class="description">
+									Rebuild the collection for a given table, or all tables if no parameter given
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>object</b>
+												
+											</dt>
+											<dd>oTable DataTable instance to consider - optional</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnRebuild"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnRebuild</b>()
+								</div>
+								
+								<div class="description">
+									Rebuild the list of buttons for this instance (i.e. if there is a column header update)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								
+							
+						</div>
+					</div>
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/_global_.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/_global_.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/_global_.html	(revision 6286)
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - _global_</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/ColVis.html">ColVis</a></li>
+	
+		<li><a href="../symbols/ColVis%23dom.html">ColVis#dom</a></li>
+	
+		<li><a href="../symbols/ColVis%23s.html">ColVis#s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:29 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Built-In Namespace <span>_global_</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					
+					
+					
+				</p>
+
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/src/js_ColVis.js.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/src/js_ColVis.js.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/docs_private/symbols/src/js_ColVis.js.html	(revision 6286)
@@ -0,0 +1,819 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="COMM">/*
+<span class='line'>  2</span>  * File:        ColVis.js
+<span class='line'>  3</span>  * Version:     1.0.4
+<span class='line'>  4</span>  * CVS:         $Id$
+<span class='line'>  5</span>  * Description: Controls for column visiblity in DataTables
+<span class='line'>  6</span>  * Author:      Allan Jardine (www.sprymedia.co.uk)
+<span class='line'>  7</span>  * Created:     Wed Sep 15 18:23:29 BST 2010
+<span class='line'>  8</span>  * Modified:    $Date$ by $Author$
+<span class='line'>  9</span>  * Language:    Javascript
+<span class='line'> 10</span>  * License:     LGPL
+<span class='line'> 11</span>  * Project:     Just a little bit of fun :-)
+<span class='line'> 12</span>  * Contact:     www.sprymedia.co.uk/contact
+<span class='line'> 13</span>  * 
+<span class='line'> 14</span>  * Copyright 2010 Allan Jardine, all rights reserved.
+<span class='line'> 15</span>  *
+<span class='line'> 16</span>  */</span><span class="WHIT">
+<span class='line'> 17</span> 
+<span class='line'> 18</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">$</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 19</span> 
+<span class='line'> 20</span> </span><span class="COMM">/** 
+<span class='line'> 21</span>  * ColVis provides column visiblity control for DataTables
+<span class='line'> 22</span>  * @class ColVis
+<span class='line'> 23</span>  * @constructor
+<span class='line'> 24</span>  * @param {object} DataTables settings object
+<span class='line'> 25</span>  */</span><span class="WHIT">
+<span class='line'> 26</span> </span><span class="NAME">ColVis</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 27</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 28</span> </span><span class="WHIT">	</span><span class="COMM">/* Santiy check that we are a new instance */</span><span class="WHIT">
+<span class='line'> 29</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 30</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="WHIT">		</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: ColVis must be initialised with the keyword 'new'"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 32</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 33</span> </span><span class="WHIT">	
+<span class='line'> 34</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="WHIT">		</span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 37</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 38</span> </span><span class="WHIT">	
+<span class='line'> 39</span> 	
+<span class='line'> 40</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'> 41</span> 	 * Public class variables
+<span class='line'> 42</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="WHIT">	
+<span class='line'> 44</span> 	</span><span class="COMM">/**
+<span class='line'> 45</span> 	 * @namespace Settings object which contains customisable information for ColVis instance
+<span class='line'> 46</span> 	 */</span><span class="WHIT">
+<span class='line'> 47</span> </span><span class="WHIT">	</span><span class="NAME">this.s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'> 49</span> 		 * DataTables settings object
+<span class='line'> 50</span> 		 *  @property dt
+<span class='line'> 51</span> 		 *  @type     Object
+<span class='line'> 52</span> 		 *  @default  null
+<span class='line'> 53</span> 		 */</span><span class="WHIT">
+<span class='line'> 54</span> </span><span class="WHIT">		</span><span class="NAME">dt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 55</span> </span><span class="WHIT">		
+<span class='line'> 56</span> 		</span><span class="COMM">/**
+<span class='line'> 57</span> 		 * Customisation object
+<span class='line'> 58</span> 		 *  @property oInit
+<span class='line'> 59</span> 		 *  @type     Object
+<span class='line'> 60</span> 		 *  @default  passed in
+<span class='line'> 61</span> 		 */</span><span class="WHIT">
+<span class='line'> 62</span> </span><span class="WHIT">		</span><span class="NAME">oInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">		
+<span class='line'> 64</span> 		</span><span class="COMM">/**
+<span class='line'> 65</span> 		 * Callback function to tell the user when the state has changed
+<span class='line'> 66</span> 		 *  @property fnStateChange
+<span class='line'> 67</span> 		 *  @type     function
+<span class='line'> 68</span> 		 *  @default  null
+<span class='line'> 69</span> 		 */</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">		</span><span class="NAME">fnStateChange</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">		
+<span class='line'> 72</span> 		</span><span class="COMM">/**
+<span class='line'> 73</span> 		 * Mode of activation. Can be 'click' or 'mouseover'
+<span class='line'> 74</span> 		 *  @property activate
+<span class='line'> 75</span> 		 *  @type     String
+<span class='line'> 76</span> 		 *  @default  click
+<span class='line'> 77</span> 		 */</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">		</span><span class="NAME">activate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"click"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 79</span> </span><span class="WHIT">		
+<span class='line'> 80</span> 		</span><span class="COMM">/**
+<span class='line'> 81</span> 		 * Position of the collection menu when shown - align "left" or "right"
+<span class='line'> 82</span> 		 *  @property sAlign
+<span class='line'> 83</span> 		 *  @type     String
+<span class='line'> 84</span> 		 *  @default  right
+<span class='line'> 85</span> 		 */</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">		</span><span class="NAME">sAlign</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"left"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 87</span> </span><span class="WHIT">		
+<span class='line'> 88</span> 		</span><span class="COMM">/**
+<span class='line'> 89</span> 		 * Text used for the button
+<span class='line'> 90</span> 		 *  @property buttonText
+<span class='line'> 91</span> 		 *  @type     String
+<span class='line'> 92</span> 		 *  @default  Show / hide columns
+<span class='line'> 93</span> 		 */</span><span class="WHIT">
+<span class='line'> 94</span> </span><span class="WHIT">		</span><span class="NAME">buttonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Show / hide columns"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 95</span> </span><span class="WHIT">		
+<span class='line'> 96</span> 		</span><span class="COMM">/**
+<span class='line'> 97</span> 		 * Flag to say if the collection is hidden
+<span class='line'> 98</span> 		 *  @property hidden
+<span class='line'> 99</span> 		 *  @type     boolean
+<span class='line'>100</span> 		 *  @default  true
+<span class='line'>101</span> 		 */</span><span class="WHIT">
+<span class='line'>102</span> </span><span class="WHIT">		</span><span class="NAME">hidden</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>103</span> </span><span class="WHIT">		
+<span class='line'>104</span> 		</span><span class="COMM">/**
+<span class='line'>105</span> 		 * List of columns (integers) which should be excluded from the list
+<span class='line'>106</span> 		 *  @property aiExclude
+<span class='line'>107</span> 		 *  @type     Array
+<span class='line'>108</span> 		 *  @default  []
+<span class='line'>109</span> 		 */</span><span class="WHIT">
+<span class='line'>110</span> </span><span class="WHIT">		</span><span class="NAME">aiExclude</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>111</span> </span><span class="WHIT">		
+<span class='line'>112</span> 		</span><span class="COMM">/**
+<span class='line'>113</span> 		 * Store the original viisbility settings so they could be restored
+<span class='line'>114</span> 		 *  @property abOriginal
+<span class='line'>115</span> 		 *  @type     Array
+<span class='line'>116</span> 		 *  @default  []
+<span class='line'>117</span> 		 */</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="WHIT">		</span><span class="NAME">abOriginal</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">		
+<span class='line'>120</span> 		</span><span class="COMM">/**
+<span class='line'>121</span> 		 * Show restore button
+<span class='line'>122</span> 		 *  @property bRestore
+<span class='line'>123</span> 		 *  @type     Array
+<span class='line'>124</span> 		 *  @default  []
+<span class='line'>125</span> 		 */</span><span class="WHIT">
+<span class='line'>126</span> </span><span class="WHIT">		</span><span class="NAME">bRestore</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>127</span> </span><span class="WHIT">		
+<span class='line'>128</span> 		</span><span class="COMM">/**
+<span class='line'>129</span> 		 * Restore button text
+<span class='line'>130</span> 		 *  @property sRestore
+<span class='line'>131</span> 		 *  @type     String
+<span class='line'>132</span> 		 *  @default  Restore original
+<span class='line'>133</span> 		 */</span><span class="WHIT">
+<span class='line'>134</span> </span><span class="WHIT">		</span><span class="NAME">sRestore</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Restore original"</span><span class="WHIT">
+<span class='line'>135</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>136</span> </span><span class="WHIT">	
+<span class='line'>137</span> 	
+<span class='line'>138</span> 	</span><span class="COMM">/**
+<span class='line'>139</span> 	 * @namespace Common and useful DOM elements for the class instance
+<span class='line'>140</span> 	 */</span><span class="WHIT">
+<span class='line'>141</span> </span><span class="WHIT">	</span><span class="NAME">this.dom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>142</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>143</span> 		 * Wrapper for the button - given back to DataTables as the node to insert
+<span class='line'>144</span> 		 *  @property wrapper
+<span class='line'>145</span> 		 *  @type     Node
+<span class='line'>146</span> 		 *  @default  null
+<span class='line'>147</span> 		 */</span><span class="WHIT">
+<span class='line'>148</span> </span><span class="WHIT">		</span><span class="NAME">wrapper</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>149</span> </span><span class="WHIT">		
+<span class='line'>150</span> 		</span><span class="COMM">/**
+<span class='line'>151</span> 		 * Activation button
+<span class='line'>152</span> 		 *  @property button
+<span class='line'>153</span> 		 *  @type     Node
+<span class='line'>154</span> 		 *  @default  null
+<span class='line'>155</span> 		 */</span><span class="WHIT">
+<span class='line'>156</span> </span><span class="WHIT">		</span><span class="NAME">button</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>157</span> </span><span class="WHIT">		
+<span class='line'>158</span> 		</span><span class="COMM">/**
+<span class='line'>159</span> 		 * Collection list node
+<span class='line'>160</span> 		 *  @property collection
+<span class='line'>161</span> 		 *  @type     Node
+<span class='line'>162</span> 		 *  @default  null
+<span class='line'>163</span> 		 */</span><span class="WHIT">
+<span class='line'>164</span> </span><span class="WHIT">		</span><span class="NAME">collection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>165</span> </span><span class="WHIT">		
+<span class='line'>166</span> 		</span><span class="COMM">/**
+<span class='line'>167</span> 		 * Background node used for shading the display and event capturing
+<span class='line'>168</span> 		 *  @property background
+<span class='line'>169</span> 		 *  @type     Node
+<span class='line'>170</span> 		 *  @default  null
+<span class='line'>171</span> 		 */</span><span class="WHIT">
+<span class='line'>172</span> </span><span class="WHIT">		</span><span class="NAME">background</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>173</span> </span><span class="WHIT">		
+<span class='line'>174</span> 		</span><span class="COMM">/**
+<span class='line'>175</span> 		 * Element to position over the activation button to catch mouse events when using mouseover
+<span class='line'>176</span> 		 *  @property catcher
+<span class='line'>177</span> 		 *  @type     Node
+<span class='line'>178</span> 		 *  @default  null
+<span class='line'>179</span> 		 */</span><span class="WHIT">
+<span class='line'>180</span> </span><span class="WHIT">		</span><span class="NAME">catcher</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>181</span> </span><span class="WHIT">		
+<span class='line'>182</span> 		</span><span class="COMM">/**
+<span class='line'>183</span> 		 * List of button elements
+<span class='line'>184</span> 		 *  @property buttons
+<span class='line'>185</span> 		 *  @type     Array
+<span class='line'>186</span> 		 *  @default  []
+<span class='line'>187</span> 		 */</span><span class="WHIT">
+<span class='line'>188</span> </span><span class="WHIT">		</span><span class="NAME">buttons</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>189</span> </span><span class="WHIT">		
+<span class='line'>190</span> 		</span><span class="COMM">/**
+<span class='line'>191</span> 		 * Restore button
+<span class='line'>192</span> 		 *  @property restore
+<span class='line'>193</span> 		 *  @type     Node
+<span class='line'>194</span> 		 *  @default  null
+<span class='line'>195</span> 		 */</span><span class="WHIT">
+<span class='line'>196</span> </span><span class="WHIT">		</span><span class="NAME">restore</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>197</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>198</span> </span><span class="WHIT">	
+<span class='line'>199</span> 	</span><span class="COMM">/* Store global reference */</span><span class="WHIT">
+<span class='line'>200</span> </span><span class="WHIT">	</span><span class="NAME">ColVis.aInstances.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>201</span> </span><span class="WHIT">	
+<span class='line'>202</span> 	</span><span class="COMM">/* Constructor logic */</span><span class="WHIT">
+<span class='line'>203</span> </span><span class="WHIT">	</span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>204</span> </span><span class="WHIT">	</span><span class="NAME">this._fnConstruct</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>205</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>206</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>207</span> 
+<span class='line'>208</span> 
+<span class='line'>209</span> 
+<span class='line'>210</span> </span><span class="NAME">ColVis.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>211</span> </span><span class="WHIT">	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>212</span> 	 * Public methods
+<span class='line'>213</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>214</span> </span><span class="WHIT">	
+<span class='line'>215</span> 	</span><span class="COMM">/**
+<span class='line'>216</span> 	 * Rebuild the list of buttons for this instance (i.e. if there is a column header update)
+<span class='line'>217</span> 	 *  @method  fnRebuild
+<span class='line'>218</span> 	 *  @returns void
+<span class='line'>219</span> 	 */</span><span class="WHIT">
+<span class='line'>220</span> </span><span class="WHIT">	</span><span class="NAME">fnRebuild</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>221</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>222</span> </span><span class="WHIT">		</span><span class="COMM">/* Remove the old buttons */</span><span class="WHIT">
+<span class='line'>223</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">this.dom.buttons.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">>=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>224</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>225</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>226</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>227</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.collection.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>228</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>229</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>230</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.buttons.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons.length</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>231</span> </span><span class="WHIT">		
+<span class='line'>232</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.restore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>233</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>234</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.restore.parentNode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.restore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>235</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>236</span> </span><span class="WHIT">		
+<span class='line'>237</span> 		</span><span class="COMM">/* Re-add them (this is not the optimal way of doing this, it is fast and effective) */</span><span class="WHIT">
+<span class='line'>238</span> </span><span class="WHIT">		</span><span class="NAME">this._fnAddButtons</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>239</span> </span><span class="WHIT">		
+<span class='line'>240</span> 		</span><span class="COMM">/* Update the checkboxes */</span><span class="WHIT">
+<span class='line'>241</span> </span><span class="WHIT">		</span><span class="NAME">this._fnDrawCallback</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>242</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>243</span> </span><span class="WHIT">	
+<span class='line'>244</span> 	
+<span class='line'>245</span> 	
+<span class='line'>246</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>247</span> 	 * Private methods (they are of course public in JS, but recommended as private)
+<span class='line'>248</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>249</span> </span><span class="WHIT">	
+<span class='line'>250</span> 	</span><span class="COMM">/**
+<span class='line'>251</span> 	 * Constructor logic
+<span class='line'>252</span> 	 *  @method  _fnConstruct
+<span class='line'>253</span> 	 *  @returns void
+<span class='line'>254</span> 	 *  @private 
+<span class='line'>255</span> 	 */</span><span class="WHIT">
+<span class='line'>256</span> </span><span class="WHIT">	</span><span class="NAME">_fnConstruct</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>257</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>258</span> </span><span class="WHIT">		</span><span class="NAME">this._fnApplyCustomisation</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>259</span> </span><span class="WHIT">		
+<span class='line'>260</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>261</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.wrapper</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>262</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.wrapper.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis TableTools"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>263</span> </span><span class="WHIT">		
+<span class='line'>264</span> 		</span><span class="NAME">this.dom.button</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomBaseButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.buttonText</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>265</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.button.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" ColVis_MasterButton"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>266</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.wrapper.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.button</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>267</span> </span><span class="WHIT">		
+<span class='line'>268</span> 		</span><span class="NAME">this.dom.catcher</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomCatcher</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>269</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.collection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomCollection</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>270</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.background</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomBackground</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>271</span> </span><span class="WHIT">		
+<span class='line'>272</span> 		</span><span class="NAME">this._fnAddButtons</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>273</span> </span><span class="WHIT">		
+<span class='line'>274</span> 		</span><span class="COMM">/* Store the original visbility information */</span><span class="WHIT">
+<span class='line'>275</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>276</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>277</span> </span><span class="WHIT">			</span><span class="NAME">this.s.abOriginal.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>278</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>279</span> </span><span class="WHIT">		
+<span class='line'>280</span> 		</span><span class="COMM">/* Update on each draw */</span><span class="WHIT">
+<span class='line'>281</span> </span><span class="WHIT">		</span><span class="NAME">this.s.dt.aoDrawCallback.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>282</span> </span><span class="WHIT">			</span><span class="NAME">fn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>283</span> </span><span class="WHIT">				</span><span class="NAME">that._fnDrawCallback.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>284</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>285</span> </span><span class="WHIT">			</span><span class="NAME">sName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="WHIT">
+<span class='line'>286</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>287</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>288</span> </span><span class="WHIT">	
+<span class='line'>289</span> 	
+<span class='line'>290</span> 	</span><span class="COMM">/**
+<span class='line'>291</span> 	 * Apply any customisation to the settings from the DataTables initialisation
+<span class='line'>292</span> 	 *  @method  _fnApplyCustomisation
+<span class='line'>293</span> 	 *  @returns void
+<span class='line'>294</span> 	 *  @private 
+<span class='line'>295</span> 	 */</span><span class="WHIT">
+<span class='line'>296</span> </span><span class="WHIT">	</span><span class="NAME">_fnApplyCustomisation</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>297</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>298</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.oInit</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>299</span> </span><span class="WHIT">		
+<span class='line'>300</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.activate</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>301</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>302</span> </span><span class="WHIT">			</span><span class="NAME">this.s.activate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.activate</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>303</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>304</span> </span><span class="WHIT">		
+<span class='line'>305</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.buttonText</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>306</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>307</span> </span><span class="WHIT">			</span><span class="NAME">this.s.buttonText</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.buttonText</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>308</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>309</span> </span><span class="WHIT">		
+<span class='line'>310</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.aiExclude</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>312</span> </span><span class="WHIT">			</span><span class="NAME">this.s.aiExclude</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.aiExclude</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>313</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>314</span> </span><span class="WHIT">		
+<span class='line'>315</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.bRestore</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>316</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>317</span> </span><span class="WHIT">			</span><span class="NAME">this.s.bRestore</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.bRestore</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>318</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>319</span> </span><span class="WHIT">		
+<span class='line'>320</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.sRestore</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>321</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>322</span> </span><span class="WHIT">			</span><span class="NAME">this.s.sRestore</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sRestore</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>323</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>324</span> </span><span class="WHIT">		
+<span class='line'>325</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.sAlign</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>326</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>327</span> </span><span class="WHIT">			</span><span class="NAME">this.s.sAlign</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sAlign</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>328</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>329</span> </span><span class="WHIT">		
+<span class='line'>330</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.fnStateChange</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>331</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>332</span> </span><span class="WHIT">			</span><span class="NAME">this.s.fnStateChange</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.fnStateChange</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>333</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>334</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>335</span> </span><span class="WHIT">	
+<span class='line'>336</span> 	
+<span class='line'>337</span> 	</span><span class="COMM">/**
+<span class='line'>338</span> 	 * On each table draw, check the visiblity checkboxes as needed. This allows any process to
+<span class='line'>339</span> 	 * update the table's column visiblity and ColVis will still be accurate.
+<span class='line'>340</span> 	 *  @method  _fnDrawCallback
+<span class='line'>341</span> 	 *  @returns void
+<span class='line'>342</span> 	 *  @private 
+<span class='line'>343</span> 	 */</span><span class="WHIT">
+<span class='line'>344</span> </span><span class="WHIT">	</span><span class="NAME">_fnDrawCallback</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>345</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>346</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aoColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>347</span> </span><span class="WHIT">		
+<span class='line'>348</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>349</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>350</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>351</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>352</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>353</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>354</span> </span><span class="WHIT">					</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">attr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">,</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>355</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>356</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>357</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>358</span> </span><span class="WHIT">					</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.buttons</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeAttr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>359</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>360</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>361</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>362</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>363</span> </span><span class="WHIT">	
+<span class='line'>364</span> 	
+<span class='line'>365</span> 	</span><span class="COMM">/**
+<span class='line'>366</span> 	 * Loop through the columns in the table and as a new button for each one.
+<span class='line'>367</span> 	 *  @method  _fnAddButtons
+<span class='line'>368</span> 	 *  @returns void
+<span class='line'>369</span> 	 *  @private 
+<span class='line'>370</span> 	 */</span><span class="WHIT">
+<span class='line'>371</span> </span><span class="WHIT">	</span><span class="NAME">_fnAddButtons</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>372</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>373</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>374</span> </span><span class="WHIT">			</span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>375</span> </span><span class="WHIT">			</span><span class="NAME">sExclude</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">","</span><span class="PUNC">+</span><span class="NAME">this.s.aiExclude.join</span><span class="PUNC">(</span><span class="STRN">','</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">","</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>376</span> </span><span class="WHIT">		
+<span class='line'>377</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>378</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>379</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sExclude.indexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">","</span><span class="PUNC">+</span><span class="NAME">i</span><span class="PUNC">+</span><span class="STRN">","</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>380</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>381</span> </span><span class="WHIT">				</span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomColumnButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>382</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.buttons.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>383</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.collection.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>384</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>385</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>386</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>387</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.buttons.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>388</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>389</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>390</span> </span><span class="WHIT">		
+<span class='line'>391</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.bRestore</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>392</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>393</span> </span><span class="WHIT">			</span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnDomRestoreButton</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>394</span> </span><span class="WHIT">			</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" ColVis_Restore"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>395</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.buttons.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>396</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.collection.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>397</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>398</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>399</span> </span><span class="WHIT">	
+<span class='line'>400</span> 	
+<span class='line'>401</span> 	</span><span class="COMM">/**
+<span class='line'>402</span> 	 * Create a button which allows a "restore" action
+<span class='line'>403</span> 	 *  @method  _fnDomRestoreButton
+<span class='line'>404</span> 	 *  @returns {Node} Created button
+<span class='line'>405</span> 	 *  @private 
+<span class='line'>406</span> 	 */</span><span class="WHIT">
+<span class='line'>407</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomRestoreButton</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>408</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>409</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>410</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>411</span> </span><span class="WHIT">		  </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'button'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>412</span> </span><span class="WHIT">		  </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'span'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>413</span> </span><span class="WHIT">		
+<span class='line'>414</span> 		</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_Button TableTools_Button"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>415</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_Button TableTools_Button ui-button ui-state-default"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>416</span> </span><span class="WHIT">		</span><span class="NAME">nButton.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>417</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nSpan</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">html</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&lt;span class="ColVis_title">'</span><span class="PUNC">+</span><span class="NAME">this.s.sRestore</span><span class="PUNC">+</span><span class="STRN">'&lt;/span>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>418</span> </span><span class="WHIT">		
+<span class='line'>419</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>420</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">that.s.abOriginal.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>421</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>422</span> </span><span class="WHIT">				</span><span class="NAME">that.s.dt.oInstance.fnSetColumnVis</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.s.abOriginal</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>423</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>424</span> </span><span class="WHIT">			</span><span class="NAME">that.s.dt.oInstance.fnDraw</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>425</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>426</span> </span><span class="WHIT">		
+<span class='line'>427</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>428</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>429</span> </span><span class="WHIT">	
+<span class='line'>430</span> 	
+<span class='line'>431</span> 	</span><span class="COMM">/**
+<span class='line'>432</span> 	 * Create the DOM for a show / hide button
+<span class='line'>433</span> 	 *  @method  _fnDomColumnButton
+<span class='line'>434</span> 	 *  @param {int} i Column in question
+<span class='line'>435</span> 	 *  @returns {Node} Created button
+<span class='line'>436</span> 	 *  @private 
+<span class='line'>437</span> 	 */</span><span class="WHIT">
+<span class='line'>438</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomColumnButton</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>439</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>440</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>441</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>442</span> </span><span class="WHIT">			</span><span class="NAME">oColumn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>443</span> </span><span class="WHIT">		  </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'button'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>444</span> </span><span class="WHIT">		  </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'span'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>445</span> </span><span class="WHIT">		
+<span class='line'>446</span> 		</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_Button TableTools_Button"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>447</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_Button TableTools_Button ui-button ui-state-default"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>448</span> </span><span class="WHIT">		</span><span class="NAME">nButton.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>449</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nSpan</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">html</span><span class="PUNC">(</span><span class="WHIT">
+<span class='line'>450</span> </span><span class="WHIT">			</span><span class="STRN">'&lt;span class="ColVis_radio">&lt;input type="checkbox">&lt;/span>'</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>451</span> </span><span class="WHIT">			</span><span class="STRN">'&lt;span class="ColVis_title">'</span><span class="PUNC">+</span><span class="NAME">oColumn.sTitle</span><span class="PUNC">+</span><span class="STRN">'&lt;/span>'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>452</span> </span><span class="WHIT">		
+<span class='line'>453</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>454</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">attr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">===</span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>455</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.target.nodeName.toLowerCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"input"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>456</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>457</span> </span><span class="WHIT">				</span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'input'</span><span class="PUNC">,</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">attr</span><span class="PUNC">(</span><span class="STRN">'checked'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>458</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>459</span> </span><span class="WHIT">			
+<span class='line'>460</span> 			</span><span class="COMM">/* Need to consider the case where the initialiser created more than one table - change the
+<span class='line'>461</span> 			 * API index that DataTables is using
+<span class='line'>462</span> 			 */</span><span class="WHIT">
+<span class='line'>463</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oldIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTableExt.iApiIndex</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>464</span> </span><span class="WHIT">			</span><span class="NAME">$.fn.dataTableExt.iApiIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that._fnDataTablesApiIndex.call</span><span class="PUNC">(</span><span class="NAME">that</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>465</span> </span><span class="WHIT">			</span><span class="NAME">that.s.dt.oInstance.fnSetColumnVis</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>466</span> </span><span class="WHIT">			</span><span class="NAME">$.fn.dataTableExt.iApiIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oldIndex</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">/* Restore */</span><span class="WHIT">
+<span class='line'>467</span> </span><span class="WHIT">			
+<span class='line'>468</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.fnStateChange</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>469</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>470</span> </span><span class="WHIT">				</span><span class="NAME">that.s.fnStateChange.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">showHide</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>471</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>472</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>473</span> </span><span class="WHIT">		
+<span class='line'>474</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>475</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>476</span> </span><span class="WHIT">	
+<span class='line'>477</span> 	
+<span class='line'>478</span> 	</span><span class="COMM">/**
+<span class='line'>479</span> 	 * Get the position in the DataTables instance array of the table for this instance of ColVis
+<span class='line'>480</span> 	 *  @method  _fnDataTablesApiIndex
+<span class='line'>481</span> 	 *  @returns {int} Index
+<span class='line'>482</span> 	 *  @private 
+<span class='line'>483</span> 	 */</span><span class="WHIT">
+<span class='line'>484</span> </span><span class="WHIT">	</span><span class="NAME">_fnDataTablesApiIndex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>485</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>486</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.oInstance.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>487</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>488</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oInstance</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>489</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>490</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>491</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>492</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>493</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>494</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>495</span> </span><span class="WHIT">	
+<span class='line'>496</span> 	
+<span class='line'>497</span> 	</span><span class="COMM">/**
+<span class='line'>498</span> 	 * Create the DOM needed for the button and apply some base properties. All buttons start here
+<span class='line'>499</span> 	 *  @method  _fnDomBaseButton
+<span class='line'>500</span> 	 *  @param   {String} text Button text
+<span class='line'>501</span> 	 *  @returns {Node} DIV element for the button
+<span class='line'>502</span> 	 *  @private 
+<span class='line'>503</span> 	 */</span><span class="WHIT">
+<span class='line'>504</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomBaseButton</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>505</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>506</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>507</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>508</span> </span><span class="WHIT">		  </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'button'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>509</span> </span><span class="WHIT">		  </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'span'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>510</span> </span><span class="WHIT">			</span><span class="NAME">sEvent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.activate</span><span class="PUNC">==</span><span class="STRN">"mouseover"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"mouseover"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"click"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>511</span> </span><span class="WHIT">		
+<span class='line'>512</span> 		</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_Button TableTools_Button"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>513</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_Button TableTools_Button ui-button ui-state-default"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>514</span> </span><span class="WHIT">		</span><span class="NAME">nButton.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>515</span> </span><span class="WHIT">		</span><span class="NAME">nSpan.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">text</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>516</span> </span><span class="WHIT">		
+<span class='line'>517</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sEvent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>518</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionShow</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>519</span> </span><span class="WHIT">			</span><span class="NAME">e.preventDefault</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>520</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>521</span> </span><span class="WHIT">		
+<span class='line'>522</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>523</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>524</span> </span><span class="WHIT">	
+<span class='line'>525</span> 	
+<span class='line'>526</span> 	</span><span class="COMM">/**
+<span class='line'>527</span> 	 * Create the element used to contain list the columns (it is shown and hidden as needed)
+<span class='line'>528</span> 	 *  @method  _fnDomCollection
+<span class='line'>529</span> 	 *  @returns {Node} div container for the collection
+<span class='line'>530</span> 	 *  @private 
+<span class='line'>531</span> 	 */</span><span class="WHIT">
+<span class='line'>532</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomCollection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>533</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>534</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>535</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>536</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>537</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"ColVis_collection TableTools_collection"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>538</span> </span><span class="WHIT">			</span><span class="STRN">"ColVis_collection TableTools_collection ui-buttonset ui-buttonset-multi"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>539</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>540</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>541</span> </span><span class="WHIT">		
+<span class='line'>542</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>543</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>544</span> </span><span class="WHIT">	
+<span class='line'>545</span> 	
+<span class='line'>546</span> 	</span><span class="COMM">/**
+<span class='line'>547</span> 	 * An element to be placed on top of the activate button to catch events
+<span class='line'>548</span> 	 *  @method  _fnDomCatcher
+<span class='line'>549</span> 	 *  @returns {Node} div container for the collection
+<span class='line'>550</span> 	 *  @private 
+<span class='line'>551</span> 	 */</span><span class="WHIT">
+<span class='line'>552</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomCatcher</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>553</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>554</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> 
+<span class='line'>555</span> 			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>556</span> </span><span class="WHIT">			</span><span class="NAME">nCatcher</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>557</span> </span><span class="WHIT">		</span><span class="NAME">nCatcher.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis_catcher TableTools_catcher"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>558</span> </span><span class="WHIT">		
+<span class='line'>559</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nCatcher</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>560</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionHide.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>561</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>562</span> </span><span class="WHIT">		
+<span class='line'>563</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nCatcher</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>564</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>565</span> </span><span class="WHIT">	
+<span class='line'>566</span> 	
+<span class='line'>567</span> 	</span><span class="COMM">/**
+<span class='line'>568</span> 	 * Create the element used to shade the background, and capture hide events (it is shown and 
+<span class='line'>569</span> 	 * hidden as needed)
+<span class='line'>570</span> 	 *  @method  _fnDomBackground
+<span class='line'>571</span> 	 *  @returns {Node} div container for the background
+<span class='line'>572</span> 	 *  @private 
+<span class='line'>573</span> 	 */</span><span class="WHIT">
+<span class='line'>574</span> </span><span class="WHIT">	</span><span class="NAME">_fnDomBackground</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>575</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>576</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>577</span> </span><span class="WHIT">		
+<span class='line'>578</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>579</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>580</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>581</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>582</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis_collectionBackground TableTools_collectionBackground"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>583</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>584</span> </span><span class="WHIT">		
+<span class='line'>585</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>586</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionHide.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>587</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>588</span> </span><span class="WHIT">		
+<span class='line'>589</span> 		</span><span class="COMM">/* When considering a mouse over action for the activation, we also consider a mouse out
+<span class='line'>590</span> 		 * which is the same as a mouse over the background - without all the messing around of
+<span class='line'>591</span> 		 * bubbling events. Use the catcher element to avoid messing around with bubbling
+<span class='line'>592</span> 		 */</span><span class="WHIT">
+<span class='line'>593</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.activate</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"mouseover"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>594</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>595</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">mouseover</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>596</span> </span><span class="WHIT">				</span><span class="NAME">that.s.overcollection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>597</span> </span><span class="WHIT">				</span><span class="NAME">that._fnCollectionHide.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>598</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>599</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>600</span> </span><span class="WHIT">		
+<span class='line'>601</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>602</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>603</span> </span><span class="WHIT">	
+<span class='line'>604</span> 	
+<span class='line'>605</span> 	</span><span class="COMM">/**
+<span class='line'>606</span> 	 * Show the show / hide list and the background
+<span class='line'>607</span> 	 *  @method  _fnCollectionShow
+<span class='line'>608</span> 	 *  @returns void
+<span class='line'>609</span> 	 *  @private 
+<span class='line'>610</span> 	 */</span><span class="WHIT">
+<span class='line'>611</span> </span><span class="WHIT">	</span><span class="NAME">_fnCollectionShow</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>612</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>613</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>614</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oPos</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>615</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.collection</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>616</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.background</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>617</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">oPos.left</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>618</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">oPos.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>619</span> </span><span class="WHIT">		
+<span class='line'>620</span> 		</span><span class="NAME">nHidden.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>621</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>622</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>623</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>624</span> </span><span class="WHIT">		
+<span class='line'>625</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iWinHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>626</span> </span><span class="WHIT">		 	</span><span class="NAME">iWinWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>627</span> </span><span class="WHIT">		
+<span class='line'>628</span> 		</span><span class="NAME">nBackground.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">iWinHeight</span><span class="PUNC">></span><span class="NAME">iDocHeight</span><span class="PUNC">)</span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">iWinHeight</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>629</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">iWinWidth</span><span class="PUNC">&lt;</span><span class="NAME">iDocWidth</span><span class="PUNC">)</span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">iWinWidth</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>630</span> </span><span class="WHIT">		
+<span class='line'>631</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oStyle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.catcher.style</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>632</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>633</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>634</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oPos.top</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>635</span> </span><span class="WHIT">		</span><span class="NAME">oStyle.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>636</span> </span><span class="WHIT">		
+<span class='line'>637</span> 		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>638</span> </span><span class="WHIT">		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>639</span> </span><span class="WHIT">		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.catcher</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>640</span> </span><span class="WHIT">		
+<span class='line'>641</span> 		</span><span class="COMM">/* Visual corrections to try and keep the collection visible */</span><span class="WHIT">
+<span class='line'>642</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.sAlign</span><span class="PUNC">==</span><span class="STRN">"left"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>643</span> </span><span class="WHIT">			</span><span class="NAME">iDivX</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDivX</span><span class="PUNC">-</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>644</span> </span><span class="WHIT">		
+<span class='line'>645</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>646</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>647</span> </span><span class="WHIT">		
+<span class='line'>648</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iDivWidth</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>649</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>650</span> </span><span class="WHIT">			</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDocWidth</span><span class="PUNC">-</span><span class="NAME">iDivWidth</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>651</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>652</span> </span><span class="WHIT">		
+<span class='line'>653</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iDivHeight</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>654</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>655</span> </span><span class="WHIT">			</span><span class="NAME">nHidden.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDivY</span><span class="PUNC">-</span><span class="NAME">iDivHeight</span><span class="PUNC">-</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.button</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>656</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>657</span> </span><span class="WHIT">		
+<span class='line'>658</span> 		
+<span class='line'>659</span> 		</span><span class="COMM">/* This results in a very small delay for the end user but it allows the animation to be
+<span class='line'>660</span> 		 * much smoother. If you don't want the animation, then the setTimeout can be removed
+<span class='line'>661</span> 		 */</span><span class="WHIT">
+<span class='line'>662</span> </span><span class="WHIT">		</span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>663</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>664</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0.1</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'linear'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>665</span> </span><span class="WHIT">				</span><span class="COMM">/* In IE6 if you set the checked attribute of a hidden checkbox, then this is not visually
+<span class='line'>666</span> 				 * reflected. As such, we need to do it here, once it is visible. Unbelievable.
+<span class='line'>667</span> 				 */</span><span class="WHIT">
+<span class='line'>668</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jQuery.browser.msie</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">jQuery.browser.version</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"6.0"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>669</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>670</span> </span><span class="WHIT">					</span><span class="NAME">that._fnDrawCallback</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>671</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>672</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>673</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>674</span> </span><span class="WHIT">		
+<span class='line'>675</span> 		</span><span class="NAME">this.s.hidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>676</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>677</span> </span><span class="WHIT">	
+<span class='line'>678</span> 	
+<span class='line'>679</span> 	</span><span class="COMM">/**
+<span class='line'>680</span> 	 * Hide the show / hide list and the background
+<span class='line'>681</span> 	 *  @method  _fnCollectionHide
+<span class='line'>682</span> 	 *  @returns void
+<span class='line'>683</span> 	 *  @private 
+<span class='line'>684</span> 	 */</span><span class="WHIT">
+<span class='line'>685</span> </span><span class="WHIT">	</span><span class="NAME">_fnCollectionHide</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">  </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>686</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>687</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>688</span> </span><span class="WHIT">		
+<span class='line'>689</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.hidden</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.dom.collection</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>690</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>691</span> </span><span class="WHIT">			</span><span class="NAME">this.s.hidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>692</span> </span><span class="WHIT">			
+<span class='line'>693</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.collection</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>694</span> </span><span class="WHIT">				</span><span class="NAME">this.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>695</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>696</span> </span><span class="WHIT">			
+<span class='line'>697</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.background</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>698</span> </span><span class="WHIT">				</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.dom.background</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>699</span> </span><span class="WHIT">				</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.dom.catcher</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>700</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>701</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>702</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>703</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>704</span> 
+<span class='line'>705</span> 
+<span class='line'>706</span> 
+<span class='line'>707</span> 
+<span class='line'>708</span> 
+<span class='line'>709</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>710</span>  * Static object methods
+<span class='line'>711</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>712</span> 
+<span class='line'>713</span> </span><span class="COMM">/**
+<span class='line'>714</span>  * Rebuild the collection for a given table, or all tables if no parameter given
+<span class='line'>715</span>  *  @method  ColVis.fnRebuild
+<span class='line'>716</span>  *  @static
+<span class='line'>717</span>  *  @param   object oTable DataTable instance to consider - optional
+<span class='line'>718</span>  *  @returns void
+<span class='line'>719</span>  */</span><span class="WHIT">
+<span class='line'>720</span> </span><span class="NAME">ColVis.fnRebuild</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>721</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>722</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nTable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>723</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>724</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>725</span> </span><span class="WHIT">		</span><span class="NAME">nTable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oTable.fnSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">nTable</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>726</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>727</span> </span><span class="WHIT">	
+<span class='line'>728</span> 	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">ColVis.aInstances.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>729</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>730</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">nTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">ColVis.aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s.dt.nTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>731</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>732</span> </span><span class="WHIT">			</span><span class="NAME">ColVis.aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">fnRebuild</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>733</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>734</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>735</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>736</span> 
+<span class='line'>737</span> 
+<span class='line'>738</span> 
+<span class='line'>739</span> 
+<span class='line'>740</span> 
+<span class='line'>741</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>742</span>  * Static object propterties
+<span class='line'>743</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>744</span> 
+<span class='line'>745</span> </span><span class="COMM">/**
+<span class='line'>746</span>  * Collection of all ColVis instances
+<span class='line'>747</span>  *  @property ColVis.aInstances
+<span class='line'>748</span>  *  @static
+<span class='line'>749</span>  *  @type     Array
+<span class='line'>750</span>  *  @default  []
+<span class='line'>751</span>  */</span><span class="WHIT">
+<span class='line'>752</span> </span><span class="NAME">ColVis.aInstances</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>753</span> 
+<span class='line'>754</span> 
+<span class='line'>755</span> 
+<span class='line'>756</span> 
+<span class='line'>757</span> 
+<span class='line'>758</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>759</span>  * Constants
+<span class='line'>760</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>761</span> 
+<span class='line'>762</span> </span><span class="COMM">/**
+<span class='line'>763</span>  * Name of this class
+<span class='line'>764</span>  *  @constant CLASS
+<span class='line'>765</span>  *  @type     String
+<span class='line'>766</span>  *  @default  ColVis
+<span class='line'>767</span>  */</span><span class="WHIT">
+<span class='line'>768</span> </span><span class="NAME">ColVis.prototype.CLASS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>769</span> 
+<span class='line'>770</span> 
+<span class='line'>771</span> </span><span class="COMM">/**
+<span class='line'>772</span>  * ColVis version
+<span class='line'>773</span>  *  @constant  VERSION
+<span class='line'>774</span>  *  @type      String
+<span class='line'>775</span>  *  @default   1.0.4.dev
+<span class='line'>776</span>  */</span><span class="WHIT">
+<span class='line'>777</span> </span><span class="NAME">ColVis.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"1.0.4"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>778</span> </span><span class="NAME">ColVis.prototype.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ColVis.VERSION</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>779</span> 
+<span class='line'>780</span> 
+<span class='line'>781</span> 
+<span class='line'>782</span> 
+<span class='line'>783</span> 
+<span class='line'>784</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>785</span>  * Initialisation
+<span class='line'>786</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>787</span> 
+<span class='line'>788</span> </span><span class="COMM">/*
+<span class='line'>789</span>  * Register a new feature with DataTables
+<span class='line'>790</span>  */</span><span class="WHIT">
+<span class='line'>791</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>792</span> </span><span class="WHIT">     </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>793</span> </span><span class="WHIT">     </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="PUNC">(</span><span class="STRN">'1.7.0'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>794</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>795</span> </span><span class="WHIT">	</span><span class="NAME">$.fn.dataTableExt.aoFeatures.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>796</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>797</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInit.oColVis</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
+<span class='line'>798</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInit.oColVis</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>799</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oColvis</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">ColVis</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">init</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>800</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">oColvis.dom.wrapper</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>801</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>802</span> </span><span class="WHIT">		</span><span class="NAME">cFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"C"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>803</span> </span><span class="WHIT">		</span><span class="NAME">sFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ColVis"</span><span class="WHIT">
+<span class='line'>804</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>805</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>806</span> </span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>807</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>808</span> </span><span class="WHIT">	</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>809</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>810</span> 
+<span class='line'>811</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">jQuery</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>812</span> </span></pre></body></html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/js/ColVis.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/js/ColVis.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/js/ColVis.js	(revision 6286)
@@ -0,0 +1,811 @@
+/*
+ * File:        ColVis.js
+ * Version:     1.0.4
+ * CVS:         $Id$
+ * Description: Controls for column visiblity in DataTables
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     Wed Sep 15 18:23:29 BST 2010
+ * Modified:    $Date$ by $Author$
+ * Language:    Javascript
+ * License:     LGPL
+ * Project:     Just a little bit of fun :-)
+ * Contact:     www.sprymedia.co.uk/contact
+ * 
+ * Copyright 2010 Allan Jardine, all rights reserved.
+ *
+ */
+
+(function($) {
+
+/** 
+ * ColVis provides column visiblity control for DataTables
+ * @class ColVis
+ * @constructor
+ * @param {object} DataTables settings object
+ */
+ColVis = function( oDTSettings, oInit )
+{
+	/* Santiy check that we are a new instance */
+	if ( !this.CLASS || this.CLASS != "ColVis" )
+	{
+		alert( "Warning: ColVis must be initialised with the keyword 'new'" );
+	}
+	
+	if ( typeof oInit == 'undefined' )
+	{
+		oInit = {};
+	}
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public class variables
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * @namespace Settings object which contains customisable information for ColVis instance
+	 */
+	this.s = {
+		/**
+		 * DataTables settings object
+		 *  @property dt
+		 *  @type     Object
+		 *  @default  null
+		 */
+		"dt": null,
+		
+		/**
+		 * Customisation object
+		 *  @property oInit
+		 *  @type     Object
+		 *  @default  passed in
+		 */
+		"oInit": oInit,
+		
+		/**
+		 * Callback function to tell the user when the state has changed
+		 *  @property fnStateChange
+		 *  @type     function
+		 *  @default  null
+		 */
+		"fnStateChange": null,
+		
+		/**
+		 * Mode of activation. Can be 'click' or 'mouseover'
+		 *  @property activate
+		 *  @type     String
+		 *  @default  click
+		 */
+		"activate": "click",
+		
+		/**
+		 * Position of the collection menu when shown - align "left" or "right"
+		 *  @property sAlign
+		 *  @type     String
+		 *  @default  right
+		 */
+		"sAlign": "left",
+		
+		/**
+		 * Text used for the button
+		 *  @property buttonText
+		 *  @type     String
+		 *  @default  Show / hide columns
+		 */
+		"buttonText": "Show / hide columns",
+		
+		/**
+		 * Flag to say if the collection is hidden
+		 *  @property hidden
+		 *  @type     boolean
+		 *  @default  true
+		 */
+		"hidden": true,
+		
+		/**
+		 * List of columns (integers) which should be excluded from the list
+		 *  @property aiExclude
+		 *  @type     Array
+		 *  @default  []
+		 */
+		"aiExclude": [],
+		
+		/**
+		 * Store the original viisbility settings so they could be restored
+		 *  @property abOriginal
+		 *  @type     Array
+		 *  @default  []
+		 */
+		"abOriginal": [],
+		
+		/**
+		 * Show restore button
+		 *  @property bRestore
+		 *  @type     Array
+		 *  @default  []
+		 */
+		"bRestore": false,
+		
+		/**
+		 * Restore button text
+		 *  @property sRestore
+		 *  @type     String
+		 *  @default  Restore original
+		 */
+		"sRestore": "Restore original"
+	};
+	
+	
+	/**
+	 * @namespace Common and useful DOM elements for the class instance
+	 */
+	this.dom = {
+		/**
+		 * Wrapper for the button - given back to DataTables as the node to insert
+		 *  @property wrapper
+		 *  @type     Node
+		 *  @default  null
+		 */
+		"wrapper": null,
+		
+		/**
+		 * Activation button
+		 *  @property button
+		 *  @type     Node
+		 *  @default  null
+		 */
+		"button": null,
+		
+		/**
+		 * Collection list node
+		 *  @property collection
+		 *  @type     Node
+		 *  @default  null
+		 */
+		"collection": null,
+		
+		/**
+		 * Background node used for shading the display and event capturing
+		 *  @property background
+		 *  @type     Node
+		 *  @default  null
+		 */
+		"background": null,
+		
+		/**
+		 * Element to position over the activation button to catch mouse events when using mouseover
+		 *  @property catcher
+		 *  @type     Node
+		 *  @default  null
+		 */
+		"catcher": null,
+		
+		/**
+		 * List of button elements
+		 *  @property buttons
+		 *  @type     Array
+		 *  @default  []
+		 */
+		"buttons": [],
+		
+		/**
+		 * Restore button
+		 *  @property restore
+		 *  @type     Node
+		 *  @default  null
+		 */
+		"restore": null
+	};
+	
+	/* Store global reference */
+	ColVis.aInstances.push( this );
+	
+	/* Constructor logic */
+	this.s.dt = oDTSettings;
+	this._fnConstruct();
+	return this;
+};
+
+
+
+ColVis.prototype = {
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public methods
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Rebuild the list of buttons for this instance (i.e. if there is a column header update)
+	 *  @method  fnRebuild
+	 *  @returns void
+	 */
+	"fnRebuild": function ()
+	{
+		/* Remove the old buttons */
+		for ( var i=this.dom.buttons.length-1 ; i>=0 ; i-- )
+		{
+			if ( this.dom.buttons[i] !== null )
+			{
+				this.dom.collection.removeChild( this.dom.buttons[i] );
+			}
+		}
+		this.dom.buttons.splice( 0, this.dom.buttons.length );
+		
+		if ( this.dom.restore )
+		{
+			this.dom.restore.parentNode( this.dom.restore );
+		}
+		
+		/* Re-add them (this is not the optimal way of doing this, it is fast and effective) */
+		this._fnAddButtons();
+		
+		/* Update the checkboxes */
+		this._fnDrawCallback();
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Private methods (they are of course public in JS, but recommended as private)
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Constructor logic
+	 *  @method  _fnConstruct
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnConstruct": function ()
+	{
+		this._fnApplyCustomisation();
+		
+		var that = this;
+		this.dom.wrapper = document.createElement('div');
+		this.dom.wrapper.className = "ColVis TableTools";
+		
+		this.dom.button = this._fnDomBaseButton( this.s.buttonText );
+		this.dom.button.className += " ColVis_MasterButton";
+		this.dom.wrapper.appendChild( this.dom.button );
+		
+		this.dom.catcher = this._fnDomCatcher();
+		this.dom.collection = this._fnDomCollection();
+		this.dom.background = this._fnDomBackground();
+		
+		this._fnAddButtons();
+		
+		/* Store the original visbility information */
+		for ( var i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
+		{
+			this.s.abOriginal.push( this.s.dt.aoColumns[i].bVisible );
+		}
+		
+		/* Update on each draw */
+		this.s.dt.aoDrawCallback.push( {
+			"fn": function () {
+				that._fnDrawCallback.call( that );
+			},
+			"sName": "ColVis"
+		} );
+	},
+	
+	
+	/**
+	 * Apply any customisation to the settings from the DataTables initialisation
+	 *  @method  _fnApplyCustomisation
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnApplyCustomisation": function ()
+	{
+		var oConfig = this.s.oInit;
+		
+		if ( typeof oConfig.activate != 'undefined' )
+		{
+			this.s.activate = oConfig.activate;
+		}
+		
+		if ( typeof oConfig.buttonText != 'undefined' )
+		{
+			this.s.buttonText = oConfig.buttonText;
+		}
+		
+		if ( typeof oConfig.aiExclude != 'undefined' )
+		{
+			this.s.aiExclude = oConfig.aiExclude;
+		}
+		
+		if ( typeof oConfig.bRestore != 'undefined' )
+		{
+			this.s.bRestore = oConfig.bRestore;
+		}
+		
+		if ( typeof oConfig.sRestore != 'undefined' )
+		{
+			this.s.sRestore = oConfig.sRestore;
+		}
+		
+		if ( typeof oConfig.sAlign != 'undefined' )
+		{
+			this.s.sAlign = oConfig.sAlign;
+		}
+		
+		if ( typeof oConfig.fnStateChange != 'undefined' )
+		{
+			this.s.fnStateChange = oConfig.fnStateChange;
+		}
+	},
+	
+	
+	/**
+	 * On each table draw, check the visiblity checkboxes as needed. This allows any process to
+	 * update the table's column visiblity and ColVis will still be accurate.
+	 *  @method  _fnDrawCallback
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnDrawCallback": function ()
+	{
+		var aoColumns = this.s.dt.aoColumns;
+		
+		for ( var i=0, iLen=aoColumns.length ; i<iLen ; i++ )
+		{
+			if ( this.dom.buttons[i] !== null )
+			{
+				if ( aoColumns[i].bVisible )
+				{
+					$('input', this.dom.buttons[i]).attr('checked','checked');
+				}
+				else
+				{
+					$('input', this.dom.buttons[i]).removeAttr('checked');
+				}
+			}
+		}
+	},
+	
+	
+	/**
+	 * Loop through the columns in the table and as a new button for each one.
+	 *  @method  _fnAddButtons
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnAddButtons": function ()
+	{
+		var
+			nButton,
+			sExclude = ","+this.s.aiExclude.join(',')+",";
+		
+		for ( var i=0, iLen=this.s.dt.aoColumns.length ; i<iLen ; i++ )
+		{
+			if ( sExclude.indexOf( ","+i+"," ) == -1 )
+			{
+				nButton = this._fnDomColumnButton( i );
+				this.dom.buttons.push( nButton );
+				this.dom.collection.appendChild( nButton );
+			}
+			else
+			{
+				this.dom.buttons.push( null );
+			}
+		}
+		
+		if ( this.s.bRestore )
+		{
+			nButton = this._fnDomRestoreButton();
+			nButton.className += " ColVis_Restore";
+			this.dom.buttons.push( nButton );
+			this.dom.collection.appendChild( nButton );
+		}
+	},
+	
+	
+	/**
+	 * Create a button which allows a "restore" action
+	 *  @method  _fnDomRestoreButton
+	 *  @returns {Node} Created button
+	 *  @private 
+	 */
+	"_fnDomRestoreButton": function ()
+	{
+		var
+			that = this,
+		  nButton = document.createElement('button'),
+		  nSpan = document.createElement('span');
+		
+		nButton.className = !this.s.dt.bJUI ? "ColVis_Button TableTools_Button" :
+			"ColVis_Button TableTools_Button ui-button ui-state-default";
+		nButton.appendChild( nSpan );
+		$(nSpan).html( '<span class="ColVis_title">'+this.s.sRestore+'</span>' );
+		
+		$(nButton).click( function (e) {
+			for ( var i=0, iLen=that.s.abOriginal.length ; i<iLen ; i++ )
+			{
+				that.s.dt.oInstance.fnSetColumnVis( i, that.s.abOriginal[i], false );
+			}
+			that.s.dt.oInstance.fnDraw( false );
+		} );
+		
+		return nButton;
+	},
+	
+	
+	/**
+	 * Create the DOM for a show / hide button
+	 *  @method  _fnDomColumnButton
+	 *  @param {int} i Column in question
+	 *  @returns {Node} Created button
+	 *  @private 
+	 */
+	"_fnDomColumnButton": function ( i )
+	{
+		var
+			that = this,
+			oColumn = this.s.dt.aoColumns[i],
+		  nButton = document.createElement('button'),
+		  nSpan = document.createElement('span');
+		
+		nButton.className = !this.s.dt.bJUI ? "ColVis_Button TableTools_Button" :
+			"ColVis_Button TableTools_Button ui-button ui-state-default";
+		nButton.appendChild( nSpan );
+		$(nSpan).html(
+			'<span class="ColVis_radio"><input type="checkbox"></span>'+
+			'<span class="ColVis_title">'+oColumn.sTitle+'</span>' );
+		
+		$(nButton).click( function (e) {
+			var showHide = $('input',this).attr('checked')===true ? false : true;
+			if ( e.target.nodeName.toLowerCase() == "input" )
+			{
+				showHide = $('input',this).attr('checked');
+			}
+			
+			/* Need to consider the case where the initialiser created more than one table - change the
+			 * API index that DataTables is using
+			 */
+			var oldIndex = $.fn.dataTableExt.iApiIndex;
+			$.fn.dataTableExt.iApiIndex = that._fnDataTablesApiIndex.call(that);
+			that.s.dt.oInstance.fnSetColumnVis( i, showHide );
+			$.fn.dataTableExt.iApiIndex = oldIndex; /* Restore */
+			
+			if ( that.s.fnStateChange !== null )
+			{
+				that.s.fnStateChange.call( that, i, showHide );
+			}
+		} );
+		
+		return nButton;
+	},
+	
+	
+	/**
+	 * Get the position in the DataTables instance array of the table for this instance of ColVis
+	 *  @method  _fnDataTablesApiIndex
+	 *  @returns {int} Index
+	 *  @private 
+	 */
+	"_fnDataTablesApiIndex": function ()
+	{
+		for ( var i=0, iLen=this.s.dt.oInstance.length ; i<iLen ; i++ )
+		{
+			if ( this.s.dt.oInstance[i] == this.s.dt.nTable )
+			{
+				return i;
+			}
+		}
+		return 0;
+	},
+	
+	
+	/**
+	 * Create the DOM needed for the button and apply some base properties. All buttons start here
+	 *  @method  _fnDomBaseButton
+	 *  @param   {String} text Button text
+	 *  @returns {Node} DIV element for the button
+	 *  @private 
+	 */
+	"_fnDomBaseButton": function ( text )
+	{
+		var
+			that = this,
+		  nButton = document.createElement('button'),
+		  nSpan = document.createElement('span'),
+			sEvent = this.s.activate=="mouseover" ? "mouseover" : "click";
+		
+		nButton.className = !this.s.dt.bJUI ? "ColVis_Button TableTools_Button" :
+			"ColVis_Button TableTools_Button ui-button ui-state-default";
+		nButton.appendChild( nSpan );
+		nSpan.innerHTML = text;
+		
+		$(nButton).bind( sEvent, function (e) {
+			that._fnCollectionShow();
+			e.preventDefault();
+		} );
+		
+		return nButton;
+	},
+	
+	
+	/**
+	 * Create the element used to contain list the columns (it is shown and hidden as needed)
+	 *  @method  _fnDomCollection
+	 *  @returns {Node} div container for the collection
+	 *  @private 
+	 */
+	"_fnDomCollection": function ()
+	{
+		var that = this;
+		var nHidden = document.createElement('div');
+		nHidden.style.display = "none";
+		nHidden.className = !this.s.dt.bJUI ? "ColVis_collection TableTools_collection" :
+			"ColVis_collection TableTools_collection ui-buttonset ui-buttonset-multi";
+		nHidden.style.position = "absolute";
+		$(nHidden).css('opacity', 0);
+		
+		return nHidden;
+	},
+	
+	
+	/**
+	 * An element to be placed on top of the activate button to catch events
+	 *  @method  _fnDomCatcher
+	 *  @returns {Node} div container for the collection
+	 *  @private 
+	 */
+	"_fnDomCatcher": function ()
+	{
+		var 
+			that = this,
+			nCatcher = document.createElement('div');
+		nCatcher.className = "ColVis_catcher TableTools_catcher";
+		
+		$(nCatcher).click( function () {
+			that._fnCollectionHide.call( that, null, null );
+		} );
+		
+		return nCatcher;
+	},
+	
+	
+	/**
+	 * Create the element used to shade the background, and capture hide events (it is shown and 
+	 * hidden as needed)
+	 *  @method  _fnDomBackground
+	 *  @returns {Node} div container for the background
+	 *  @private 
+	 */
+	"_fnDomBackground": function ()
+	{
+		var that = this;
+		
+		var nBackground = document.createElement('div');
+		nBackground.style.position = "absolute";
+		nBackground.style.left = "0px";
+		nBackground.style.top = "0px";
+		nBackground.className = "ColVis_collectionBackground TableTools_collectionBackground";
+		$(nBackground).css('opacity', 0);
+		
+		$(nBackground).click( function () {
+			that._fnCollectionHide.call( that, null, null );
+		} );
+		
+		/* When considering a mouse over action for the activation, we also consider a mouse out
+		 * which is the same as a mouse over the background - without all the messing around of
+		 * bubbling events. Use the catcher element to avoid messing around with bubbling
+		 */
+		if ( this.s.activate == "mouseover" )
+		{
+			$(nBackground).mouseover( function () {
+				that.s.overcollection = false;
+				that._fnCollectionHide.call( that, null, null );
+			} );
+		}
+		
+		return nBackground;
+	},
+	
+	
+	/**
+	 * Show the show / hide list and the background
+	 *  @method  _fnCollectionShow
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnCollectionShow": function ()
+	{
+		var that = this;
+		var oPos = $(this.dom.button).offset();
+		var nHidden = this.dom.collection;
+		var nBackground = this.dom.background;
+		var iDivX = parseInt(oPos.left, 10);
+		var iDivY = parseInt(oPos.top + $(this.dom.button).outerHeight(), 10);
+		
+		nHidden.style.top = iDivY+"px";
+		nHidden.style.left = iDivX+"px";
+		nHidden.style.display = "block";
+		$(nHidden).css('opacity',0);
+		
+		var iWinHeight = $(window).height(), iDocHeight = $(document).height(),
+		 	iWinWidth = $(window).width(), iDocWidth = $(document).width();
+		
+		nBackground.style.height = ((iWinHeight>iDocHeight)? iWinHeight : iDocHeight) +"px";
+		nBackground.style.width = ((iWinWidth<iDocWidth)? iWinWidth : iDocWidth) +"px";
+		
+		var oStyle = this.dom.catcher.style;
+		oStyle.height = $(this.dom.button).outerHeight()+"px";
+		oStyle.width = $(this.dom.button).outerWidth()+"px";
+		oStyle.top = oPos.top+"px";
+		oStyle.left = iDivX+"px";
+		
+		document.body.appendChild( nBackground );
+		document.body.appendChild( nHidden );
+		document.body.appendChild( this.dom.catcher );
+		
+		/* Visual corrections to try and keep the collection visible */
+		nHidden.style.left = this.s.sAlign=="left" ?
+			iDivX+"px" : (iDivX-$(nHidden).outerWidth()+$(this.dom.button).outerWidth())+"px";
+		
+		var iDivWidth = $(nHidden).outerWidth();
+		var iDivHeight = $(nHidden).outerHeight();
+		
+		if ( iDivX + iDivWidth > iDocWidth )
+		{
+			nHidden.style.left = (iDocWidth-iDivWidth)+"px";
+		}
+		
+		if ( iDivY + iDivHeight > iDocHeight )
+		{
+			nHidden.style.top = (iDivY-iDivHeight-$(this.dom.button).outerHeight())+"px";
+		}
+		
+		
+		/* This results in a very small delay for the end user but it allows the animation to be
+		 * much smoother. If you don't want the animation, then the setTimeout can be removed
+		 */
+		setTimeout( function () {
+			$(nHidden).animate({"opacity": 1}, 500);
+			$(nBackground).animate({"opacity": 0.1}, 500, 'linear', function () {
+				/* In IE6 if you set the checked attribute of a hidden checkbox, then this is not visually
+				 * reflected. As such, we need to do it here, once it is visible. Unbelievable.
+				 */
+				if ( jQuery.browser.msie && jQuery.browser.version == "6.0" )
+				{
+					that._fnDrawCallback();
+				}
+			});
+		}, 10 );
+		
+		this.s.hidden = false;
+	},
+	
+	
+	/**
+	 * Hide the show / hide list and the background
+	 *  @method  _fnCollectionHide
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnCollectionHide": function (  )
+	{
+		var that = this;
+		
+		if ( !this.s.hidden && this.dom.collection !== null )
+		{
+			this.s.hidden = true;
+			
+			$(this.dom.collection).animate({"opacity": 0}, 500, function (e) {
+				this.style.display = "none";
+			} );
+			
+			$(this.dom.background).animate({"opacity": 0}, 500, function (e) {
+				document.body.removeChild( that.dom.background );
+				document.body.removeChild( that.dom.catcher );
+			} );
+		}
+	}
+};
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Static object methods
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Rebuild the collection for a given table, or all tables if no parameter given
+ *  @method  ColVis.fnRebuild
+ *  @static
+ *  @param   object oTable DataTable instance to consider - optional
+ *  @returns void
+ */
+ColVis.fnRebuild = function ( oTable )
+{
+	var nTable = null;
+	if ( typeof oTable != 'undefined' )
+	{
+		nTable = oTable.fnSettings().nTable;
+	}
+	
+	for ( var i=0, iLen=ColVis.aInstances.length ; i<iLen ; i++ )
+	{
+		if ( typeof oTable == 'undefined' || nTable == ColVis.aInstances[i].s.dt.nTable )
+		{
+			ColVis.aInstances[i].fnRebuild();
+		}
+	}
+};
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Static object propterties
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Collection of all ColVis instances
+ *  @property ColVis.aInstances
+ *  @static
+ *  @type     Array
+ *  @default  []
+ */
+ColVis.aInstances = [];
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Constants
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Name of this class
+ *  @constant CLASS
+ *  @type     String
+ *  @default  ColVis
+ */
+ColVis.prototype.CLASS = "ColVis";
+
+
+/**
+ * ColVis version
+ *  @constant  VERSION
+ *  @type      String
+ *  @default   1.0.4.dev
+ */
+ColVis.VERSION = "1.0.4";
+ColVis.prototype.VERSION = ColVis.VERSION;
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Initialisation
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * Register a new feature with DataTables
+ */
+if ( typeof $.fn.dataTable == "function" &&
+     typeof $.fn.dataTableExt.fnVersionCheck == "function" &&
+     $.fn.dataTableExt.fnVersionCheck('1.7.0') )
+{
+	$.fn.dataTableExt.aoFeatures.push( {
+		"fnInit": function( oDTSettings ) {
+			var init = (typeof oDTSettings.oInit.oColVis == 'undefined') ?
+				{} : oDTSettings.oInit.oColVis;
+			var oColvis = new ColVis( oDTSettings, init );
+			return oColvis.dom.wrapper;
+		},
+		"cFeature": "C",
+		"sFeature": "ColVis"
+	} );
+}
+else
+{
+	alert( "Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download");
+}
+
+})(jQuery);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/js/ColVis.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/js/ColVis.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/media/js/ColVis.min.js	(revision 6286)
@@ -0,0 +1,29 @@
+/*
+ * File:        ColVis.min.js
+ * Version:     1.0.4
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * 
+ * Copyright 2010-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD (3 point) style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+(function(c){ColVis=function(a,b){if(!this.CLASS||this.CLASS!="ColVis")alert("Warning: ColVis must be initialised with the keyword 'new'");if(typeof b=="undefined")b={};this.s={dt:null,oInit:b,fnStateChange:null,activate:"click",sAlign:"left",buttonText:"Show / hide columns",hidden:true,aiExclude:[],abOriginal:[],bRestore:false,sRestore:"Restore original"};this.dom={wrapper:null,button:null,collection:null,background:null,catcher:null,buttons:[],restore:null};ColVis.aInstances.push(this);this.s.dt=
+a;this._fnConstruct();return this};ColVis.prototype={fnRebuild:function(){for(var a=this.dom.buttons.length-1;a>=0;a--)this.dom.buttons[a]!==null&&this.dom.collection.removeChild(this.dom.buttons[a]);this.dom.buttons.splice(0,this.dom.buttons.length);this.dom.restore&&this.dom.restore.parentNode(this.dom.restore);this._fnAddButtons();this._fnDrawCallback()},_fnConstruct:function(){this._fnApplyCustomisation();var a=this;this.dom.wrapper=document.createElement("div");this.dom.wrapper.className="ColVis TableTools";
+this.dom.button=this._fnDomBaseButton(this.s.buttonText);this.dom.button.className+=" ColVis_MasterButton";this.dom.wrapper.appendChild(this.dom.button);this.dom.catcher=this._fnDomCatcher();this.dom.collection=this._fnDomCollection();this.dom.background=this._fnDomBackground();this._fnAddButtons();for(var b=0,d=this.s.dt.aoColumns.length;b<d;b++)this.s.abOriginal.push(this.s.dt.aoColumns[b].bVisible);this.s.dt.aoDrawCallback.push({fn:function(){a._fnDrawCallback.call(a)},sName:"ColVis"})},_fnApplyCustomisation:function(){var a=
+this.s.oInit;if(typeof a.activate!="undefined")this.s.activate=a.activate;if(typeof a.buttonText!="undefined")this.s.buttonText=a.buttonText;if(typeof a.aiExclude!="undefined")this.s.aiExclude=a.aiExclude;if(typeof a.bRestore!="undefined")this.s.bRestore=a.bRestore;if(typeof a.sRestore!="undefined")this.s.sRestore=a.sRestore;if(typeof a.sAlign!="undefined")this.s.sAlign=a.sAlign;if(typeof a.fnStateChange!="undefined")this.s.fnStateChange=a.fnStateChange},_fnDrawCallback:function(){for(var a=this.s.dt.aoColumns,
+b=0,d=a.length;b<d;b++)if(this.dom.buttons[b]!==null)a[b].bVisible?c("input",this.dom.buttons[b]).attr("checked","checked"):c("input",this.dom.buttons[b]).removeAttr("checked")},_fnAddButtons:function(){for(var a,b=","+this.s.aiExclude.join(",")+",",d=0,e=this.s.dt.aoColumns.length;d<e;d++)if(b.indexOf(","+d+",")==-1){a=this._fnDomColumnButton(d);this.dom.buttons.push(a);this.dom.collection.appendChild(a)}else this.dom.buttons.push(null);if(this.s.bRestore){a=this._fnDomRestoreButton();a.className+=
+" ColVis_Restore";this.dom.buttons.push(a);this.dom.collection.appendChild(a)}},_fnDomRestoreButton:function(){var a=this,b=document.createElement("button"),d=document.createElement("span");b.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";b.appendChild(d);c(d).html('<span class="ColVis_title">'+this.s.sRestore+"</span>");c(b).click(function(){for(var e=0,g=a.s.abOriginal.length;e<g;e++)a.s.dt.oInstance.fnSetColumnVis(e,a.s.abOriginal[e],
+false);a.s.dt.oInstance.fnDraw(false)});return b},_fnDomColumnButton:function(a){var b=this,d=this.s.dt.aoColumns[a],e=document.createElement("button"),g=document.createElement("span");e.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";e.appendChild(g);c(g).html('<span class="ColVis_radio"><input type="checkbox"></span><span class="ColVis_title">'+d.sTitle+"</span>");c(e).click(function(h){var f=c("input",this).attr("checked")===
+true?false:true;if(h.target.nodeName.toLowerCase()=="input")f=c("input",this).attr("checked");h=c.fn.dataTableExt.iApiIndex;c.fn.dataTableExt.iApiIndex=b._fnDataTablesApiIndex.call(b);b.s.dt.oInstance.fnSetColumnVis(a,f);c.fn.dataTableExt.iApiIndex=h;b.s.fnStateChange!==null&&b.s.fnStateChange.call(b,a,f)});return e},_fnDataTablesApiIndex:function(){for(var a=0,b=this.s.dt.oInstance.length;a<b;a++)if(this.s.dt.oInstance[a]==this.s.dt.nTable)return a;return 0},_fnDomBaseButton:function(a){var b=this,
+d=document.createElement("button"),e=document.createElement("span"),g=this.s.activate=="mouseover"?"mouseover":"click";d.className=!this.s.dt.bJUI?"ColVis_Button TableTools_Button":"ColVis_Button TableTools_Button ui-button ui-state-default";d.appendChild(e);e.innerHTML=a;c(d).bind(g,function(h){b._fnCollectionShow();h.preventDefault()});return d},_fnDomCollection:function(){var a=document.createElement("div");a.style.display="none";a.className=!this.s.dt.bJUI?"ColVis_collection TableTools_collection":
+"ColVis_collection TableTools_collection ui-buttonset ui-buttonset-multi";a.style.position="absolute";c(a).css("opacity",0);return a},_fnDomCatcher:function(){var a=this,b=document.createElement("div");b.className="ColVis_catcher TableTools_catcher";c(b).click(function(){a._fnCollectionHide.call(a,null,null)});return b},_fnDomBackground:function(){var a=this,b=document.createElement("div");b.style.position="absolute";b.style.left="0px";b.style.top="0px";b.className="ColVis_collectionBackground TableTools_collectionBackground";
+c(b).css("opacity",0);c(b).click(function(){a._fnCollectionHide.call(a,null,null)});this.s.activate=="mouseover"&&c(b).mouseover(function(){a.s.overcollection=false;a._fnCollectionHide.call(a,null,null)});return b},_fnCollectionShow:function(){var a=this,b=c(this.dom.button).offset(),d=this.dom.collection,e=this.dom.background,g=parseInt(b.left,10),h=parseInt(b.top+c(this.dom.button).outerHeight(),10);d.style.top=h+"px";d.style.left=g+"px";d.style.display="block";c(d).css("opacity",0);var f=c(window).height(),
+j=c(document).height(),k=c(window).width(),i=c(document).width();e.style.height=(f>j?f:j)+"px";e.style.width=(k<i?k:i)+"px";f=this.dom.catcher.style;f.height=c(this.dom.button).outerHeight()+"px";f.width=c(this.dom.button).outerWidth()+"px";f.top=b.top+"px";f.left=g+"px";document.body.appendChild(e);document.body.appendChild(d);document.body.appendChild(this.dom.catcher);d.style.left=this.s.sAlign=="left"?g+"px":g-c(d).outerWidth()+c(this.dom.button).outerWidth()+"px";b=c(d).outerWidth();f=c(d).outerHeight();
+if(g+b>i)d.style.left=i-b+"px";if(h+f>j)d.style.top=h-f-c(this.dom.button).outerHeight()+"px";setTimeout(function(){c(d).animate({opacity:1},500);c(e).animate({opacity:0.1},500,"linear",function(){jQuery.browser.msie&&jQuery.browser.version=="6.0"&&a._fnDrawCallback()})},10);this.s.hidden=false},_fnCollectionHide:function(){var a=this;if(!this.s.hidden&&this.dom.collection!==null){this.s.hidden=true;c(this.dom.collection).animate({opacity:0},500,function(){this.style.display="none"});c(this.dom.background).animate({opacity:0},
+500,function(){document.body.removeChild(a.dom.background);document.body.removeChild(a.dom.catcher)})}}};ColVis.fnRebuild=function(a){var b=null;if(typeof a!="undefined")b=a.fnSettings().nTable;for(var d=0,e=ColVis.aInstances.length;d<e;d++)if(typeof a=="undefined"||b==ColVis.aInstances[d].s.dt.nTable)ColVis.aInstances[d].fnRebuild()};ColVis.aInstances=[];ColVis.prototype.CLASS="ColVis";ColVis.VERSION="1.0.4";ColVis.prototype.VERSION=ColVis.VERSION;typeof c.fn.dataTable=="function"&&typeof c.fn.dataTableExt.fnVersionCheck==
+"function"&&c.fn.dataTableExt.fnVersionCheck("1.7.0")?c.fn.dataTableExt.aoFeatures.push({fnInit:function(a){return(new ColVis(a,typeof a.oInit.oColVis=="undefined"?{}:a.oInit.oColVis)).dom.wrapper},cFeature:"C",sFeature:"ColVis"}):alert("Warning: ColVis requires DataTables 1.7 or greater - www.datatables.net/download")})(jQuery);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/mouseover.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/mouseover.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/mouseover.html	(revision 6286)
@@ -0,0 +1,498 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColVis example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColVis.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'C<"clear">lfrtip',
+					"oColVis": {
+						"activate": "mouseover"
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColVis example - mouse over activation
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The default activation (showing the columns list) for ColVis is for the user to click
+				the button. This can be altered to a 'mouseover' activation by making use of the
+				oColVis.activate DataTables initialisation value and setting it to "mouseover". This is
+				shown in the example below.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="mouseover.html">Activate with a mouseover rather than click</a></li>
+				<li><a href="text.html">Custom text in the button</a></li>
+				<li><a href="theme.html">Using with jQuery UI ThemeRoller</a></li>
+				<li><a href="exclude_columns.html">Excluding columns from the show / hide list</a></li>
+				<li><a href="two_tables.html">Two tables initialised together - individual controls</a></li>
+				<li><a href="two_tables_identical.html">Two tables initialised together - shared control</a></li>
+				<li><a href="style.html">Alternative styling and reset to original</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'C&lt;"clear"&gt;lfrtip',
+		"oColVis": {
+			"activate": "mouseover"
+		}
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColVis and DataTables &copy; Allan Jardine 2009-2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/style.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/style.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/style.html	(revision 6286)
@@ -0,0 +1,531 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColVis example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../../examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+			@import "media/css/ColVisAlt.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": '<"H"fr>tC<"F"ip>',
+					"bJQueryUI": true,
+					"bPaginate": false,
+					"sScrollY": "200px",
+					"bScrollCollapse": true,
+					"bScrollAutoCss": false,
+					"aoColumnDefs": [
+						{ "bVisible": false, "aTargets": [ 2 ] }
+					],
+					"oColVis": {
+						"buttonText": "&nbsp;",
+						"bRestore": true,
+						"sAlign": "right"
+					},
+					"fnDrawCallback": function (o) {
+						/* Position the ColVis button as needed */
+						var nColVis = $('div.ColVis', o.nTableWrapper)[0];
+						nColVis.style.width = o.oScroll.iBarWidth+"px";
+						nColVis.style.top = ($('div.dataTables_scroll', o.nTableWrapper).position().top)+"px";
+						nColVis.style.height = ($('div.dataTables_scrollHead table', o.nTableWrapper).height())+"px";
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColVis example with alternative styling
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This demo of ColVis shows a number of different features of the plug-in. Firstly, it shows alternative styling of the plug-in with the button nested just above the scrollbar in the DataTable. Secondly there is a "Restore" button in the ColVis drop down, which will restore the original visibility settings when the table was initialised (this is controlled by using the "bRestore" option). Finally it shows that the drop down can be set to align on the right of the button, rather than the left.</p>
+			<p>Note that this demo requires DataTables 1.7.5 or later.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="mouseover.html">Activate with a mouseover rather than click</a></li>
+				<li><a href="text.html">Custom text in the button</a></li>
+				<li><a href="theme.html">Using with jQuery UI ThemeRoller</a></li>
+				<li><a href="exclude_columns.html">Excluding columns from the show / hide list</a></li>
+				<li><a href="two_tables.html">Two tables initialised together - individual controls</a></li>
+				<li><a href="two_tables_identical.html">Two tables initialised together - shared control</a></li>
+				<li><a href="style.html">Alternative styling and reset to original</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": '&lt;"H"fr&gt;tC&lt;"F"ip&gt;',
+		"bJQueryUI": true,
+		"bPaginate": false,
+		"sScrollY": "200px",
+		"bScrollCollapse": true,
+		"bScrollAutoCss": false,
+		"aoColumnDefs": [
+			{ "bVisible": false, "aTargets": [ 2 ] }
+		],
+		"oColVis": {
+			"buttonText": "&amp;nbsp;",
+			"bRestore": true,
+			"sAlign": "left"
+		},
+		"fnDrawCallback": function (o) {
+			/* Position the ColVis button as needed */
+			var nColVis = $('div.ColVis', o.nTableWrapper)[0];
+			nColVis.style.width = o.oScroll.iBarWidth+"px";
+			nColVis.style.top = ($('div.dataTables_scroll', o.nTableWrapper).position().top)+"px";
+			nColVis.style.height = ($('div.dataTables_scrollHead table', o.nTableWrapper).height())+"px";
+		}
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColVis and DataTables &copy; Allan Jardine 2009-2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/text.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/text.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/text.html	(revision 6286)
@@ -0,0 +1,496 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColVis example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColVis.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'C<"clear">lfrtip',
+					"oColVis": {
+						"buttonText": "Change columns"
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColVis example - custom text
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>You may wish to use your own text in the ColVis button - this is done by making use of
+				the oColVis.buttonText DataTables initialisation parameter, as shown in this example.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="mouseover.html">Activate with a mouseover rather than click</a></li>
+				<li><a href="text.html">Custom text in the button</a></li>
+				<li><a href="theme.html">Using with jQuery UI ThemeRoller</a></li>
+				<li><a href="exclude_columns.html">Excluding columns from the show / hide list</a></li>
+				<li><a href="two_tables.html">Two tables initialised together - individual controls</a></li>
+				<li><a href="two_tables_identical.html">Two tables initialised together - shared control</a></li>
+				<li><a href="style.html">Alternative styling and reset to original</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'C&lt;"clear"&gt;lfrtip',
+		"oColVis": {
+			"buttonText": "Change columns"
+		}
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColVis and DataTables &copy; Allan Jardine 2009-2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/theme.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/theme.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/theme.html	(revision 6286)
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColVis example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../../examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+			@import "media/css/ColVis.css";
+			.ColVis {
+				float: left;
+				margin-bottom: 0
+			}
+			.dataTables_length {
+				width: auto;
+			}
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": '<"H"Cfr>t<"F"ip>',
+					"bJQueryUI": true
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColVis example with jQuery theming
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>ColVis will automatically add the classes required for theming with jQuery UI ThemeRoller
+				when enabled in DataTables. This example also shows a slightly altered position for the
+				ColVis button from the other example, in that it is included in the table toolbar. This
+				is achieved by simply moving the 'C' character in sDom.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="mouseover.html">Activate with a mouseover rather than click</a></li>
+				<li><a href="text.html">Custom text in the button</a></li>
+				<li><a href="theme.html">Using with jQuery UI ThemeRoller</a></li>
+				<li><a href="exclude_columns.html">Excluding columns from the show / hide list</a></li>
+				<li><a href="two_tables.html">Two tables initialised together - individual controls</a></li>
+				<li><a href="two_tables_identical.html">Two tables initialised together - shared control</a></li>
+				<li><a href="style.html">Alternative styling and reset to original</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": '&lt;"H"Cfr&gt;t&lt;"F"ip&gt;',
+		"bJQueryUI": true
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColVis and DataTables &copy; Allan Jardine 2009-2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/two_tables.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/two_tables.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/ColVis/two_tables.html	(revision 6286)
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColVis example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/ColVis.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ColVis.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('table').dataTable( {
+					"sDom": 'C<"clear">lfrtip'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				ColVis example - two tables with individual controls
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>It can be useful to have DataTables initialise more than one table with a single call can for them to each have individual ColVis controllers. All this requires is a suitable jQuery selector to be used, and DataTables and ColVis will take care of the rest - as shown in this example.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+</table>
+
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="mouseover.html">Activate with a mouseover rather than click</a></li>
+				<li><a href="text.html">Custom text in the button</a></li>
+				<li><a href="theme.html">Using with jQuery UI ThemeRoller</a></li>
+				<li><a href="exclude_columns.html">Excluding columns from the show / hide list</a></li>
+				<li><a href="two_tables.html">Two tables initialised together - individual controls</a></li>
+				<li><a href="two_tables_identical.html">Two tables initialised together - shared control</a></li>
+				<li><a href="style.html">Alternative styling and reset to original</a></li>
+			</ul>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('table').dataTable( {
+		"sDom": 'C&lt;"clear"&gt;lfrtip'
+	} );
+} );</pre>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					ColVis and DataTables &copy; Allan Jardine 2009-2010
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/col_filter.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/col_filter.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/col_filter.html	(revision 6286)
@@ -0,0 +1,598 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>ColReorder example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned thead th, .FixedColumns_Cloned thead td, 
+				.FixedColumns_Cloned tfoot th, .FixedColumns_Cloned tfoot td { background-color: white; }
+			thead input { width: 100% }
+			input.search_init { color: #999 }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable;
+				
+				/* Use the elements to store their own index */
+				$("thead input").each( function (i) {
+					this.visibleIndex = i;
+				} );
+				
+				$("thead input").keyup( function () {
+					/* If there is no visible index then we are in the cloned node */
+					var visIndex = typeof this.visibleIndex == 'undefined' ? 0 : this.visibleIndex;
+					
+					/* Filter on the column (the index) of this element */
+					oTable.fnFilter( this.value, visIndex );
+				} );
+				
+				/*
+				 * Support functions to provide a little bit of 'user friendlyness' to the textboxes
+				 */
+				$("thead input").each( function (i) {
+					this.initVal = this.value;
+				} );
+				
+				$("thead input").focus( function () {
+					if ( this.className == "search_init" )
+					{
+						this.className = "";
+						this.value = "";
+					}
+				} );
+				
+				$("thead input").blur( function (i) {
+					if ( this.value == "" )
+					{
+						this.className = "search_init";
+						this.value = this.initVal;
+					}
+				} );
+				
+				oTable = $('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true,
+					"sDom": 'C<"clear">lfrtip',
+					"aoColumnDefs": [
+						{ "bVisible": false, "aTargets": [ 2 ] }
+					],
+					"oLanguage": {
+						"sSearch": "Search all columns:"
+					}
+				} );
+				new FixedColumns( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example with individual column filtering
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows a fairly complex example of FixedColumns in action. Primarily it shows
+				how multiple rows can be used in the THEAD or TFOOT element of the table such that you can
+				provide extra information. In this case it shows how a column filter could be implemented.</p>
+			
+			<h1>Live example</h1>
+			<form>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+		<tr>
+			<td><input type="text" name="search_engine" value="Search engines" class="search_init" /></td>
+			<td><input type="text" name="search_browser" value="Search browsers" class="search_init" /></td>
+			<td><input type="text" name="search_platform" value="Search platforms" class="search_init" /></td>
+			<td><input type="text" name="search_version" value="Search versions" class="search_init" /></td>
+			<td><input type="text" name="search_grade" value="Search grades" class="search_init" /></td>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+		</form>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready(function() {
+	var oTable;
+	
+	/* Use the elements to store their own index */
+	$("thead input").each( function (i) {
+		this.visibleIndex = i;
+	} );
+	
+	$("thead input").keyup( function () {
+		/* If there is no visible index then we are in the cloned node */
+		var visIndex = typeof this.visibleIndex == 'undefined' ? 0 : this.visibleIndex;
+		
+		/* Filter on the column (the index) of this element */
+		oTable.fnFilter( this.value, visIndex );
+	} );
+	
+	/*
+	 * Support functions to provide a little bit of 'user friendlyness' to the textboxes
+	 */
+	$("thead input").each( function (i) {
+		this.initVal = this.value;
+	} );
+	
+	$("thead input").focus( function () {
+		if ( this.className == "search_init" )
+		{
+			this.className = "";
+			this.value = "";
+		}
+	} );
+	
+	$("thead input").blur( function (i) {
+		if ( this.value == "" )
+		{
+			this.className = "search_init";
+			this.value = this.initVal;
+		}
+	} );
+	
+	oTable = $('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "150%",
+		"bScrollCollapse": true,
+		"sDom": 'C&lt;"clear"&gt;lfrtip',
+		"aoColumnDefs": [
+			{ "bVisible": false, "aTargets": [ 2 ] }
+		],
+		"oLanguage": {
+			"sSearch": "Search all columns:"
+		}
+	} );
+	new FixedColumns( oTable );
+} );</pre>
+			
+			
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/index.html	(revision 6286)
@@ -0,0 +1,489 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedColumns example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true
+				} );
+				new FixedColumns( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When displaying a table which scrolls along the x-axis, it can sometimes be useful to the end user for the left most column to be fixed in place, if it shows grouping (or similar) information. This is basically the same idea as 'freeze columns' in Excel. This can be achieved with the FixedColumns plug-in for DataTables, as shown below.</p>
+			<p>Note that FixedColumns is suitable only for use with the scrolling features in <a href="http://datatables.net">DataTables</a>. If you want to achieve a similar effect without scrolling enabled, please checkout <a href="http://datatables.net/plug-ins">FixedHeader</a>, also for DataTables.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "150%",
+		"bScrollCollapse": true
+	} );
+	new FixedColumns( oTable );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/index_column.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/index_column.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/index_column.html	(revision 6286)
@@ -0,0 +1,582 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedColumns example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned th { background-color: white; }
+			td.index { background-color: white; border-right: 1px solid black; }
+			table.display th.sorting_disabled { border-bottom: 1px solid white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true,
+					"fnDrawCallback": function ( oSettings ) {
+						/* Need to redo the counters if filtered or sorted */
+						if ( oSettings.bSorted || oSettings.bFiltered ) {
+							for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ ) {
+								$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+							}
+						}
+					},
+					"aoColumnDefs": [
+						{ "bSortable": false, "sClass": "index", "aTargets": [ 0 ] }
+					],
+					"aaSorting": [[ 1, 'asc' ]]
+				} );
+				new FixedColumns( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>A typical interaction to want to perform with a fixed column, is an index column. A method for how this can be achieved with FixedColumns is shown in this example, building on the <a href="http://datatables.net/examples/api/counter_column.html">index column</a> example for DataTables. Also shown in this example is how the fixed column can be styled with CSS to show it more prominently.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="3%">&nbsp;</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td class="center">1</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">2</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">3</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">4</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">5</td>
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">6</td>
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">7</td>
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">8</td>
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">9</td>
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">10</td>
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">11</td>
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">12</td>
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">13</td>
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">14</td>
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">15</td>
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">16</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">17</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">18</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">19</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">20</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">21</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">22</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">23</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">24</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">25</td>
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">26</td>
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">27</td>
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">28</td>
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">29</td>
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">30</td>
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">31</td>
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">32</td>
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">33</td>
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">34</td>
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">35</td>
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">36</td>
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">37</td>
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">38</td>
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">39</td>
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">40</td>
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">41</td>
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">42</td>
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">43</td>
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">44</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">45</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">46</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">47</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">48</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">49</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">50</td>
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">51</td>
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">52</td>
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">53</td>
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">54</td>
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">55</td>
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">56</td>
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td class="center">57</td>
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>&nbsp;</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "150%",
+		"bScrollCollapse": true,
+		"fnDrawCallback": function ( oSettings ) {
+			/* Need to redo the counters if filtered or sorted */
+			if ( oSettings.bSorted || oSettings.bFiltered ) {
+				for ( var i=0, iLen=oSettings.aiDisplay.length ; i&lt;iLen ; i++ ) {
+					$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bSortable": false, "sClass": "index", "aTargets": [ 0 ] }
+		],
+		"aaSorting": [[ 1, 'asc' ]]
+	} );
+	new FixedColumns( oTable );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/left_right_columns.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/left_right_columns.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/left_right_columns.html	(revision 6286)
@@ -0,0 +1,654 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedColumns example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned th { background-color: white; }
+			td.indexLeft { background-color: white; border-right: 1px solid black; }
+			td.indexRight { background-color: white; border-left: 1px solid black; }
+			table.display th.sorting_disabled { border-bottom: 1px solid white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true,
+					"fnDrawCallback": function ( oSettings ) {
+						/* Need to redo the counters if filtered or sorted */
+						if ( oSettings.bSorted || oSettings.bFiltered ) {
+							for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ ) {
+								$('td:first', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+								$('td:last', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+							}
+						}
+					},
+					"aoColumnDefs": [
+						{ "bSortable": false, "sClass": "indexLeft", "aTargets": [ 0 ] },
+						{ "bSortable": false, "sClass": "indexRight", "aTargets": [ -1 ] }
+					],
+					"aaSorting": [[ 1, 'asc' ]]
+				} );
+				
+				new FixedColumns( oTable, {
+					"iColumns": 1,
+					"iRightColumns": 1
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example - left and right columns fixed
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>FixedColumns allows columns to be fixed from both the left and right hand sides of the table. Fixing right hand-side columns is done by using the <i>iRightColumns</i> initialisation parameter, which works just the same as <i>iColumns</i> does for the left side of the table. Tis example shows both the left and right columns being fixed in place, and a bit of initialisation of DataTables to provide index columns.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="3%">&nbsp;</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th width="3%">&nbsp;</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th width="3%">&nbsp;</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th width="3%">&nbsp;</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="gradeX">
+			<td class="center">1</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+			<td class="center">1</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">2</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+			<td class="center">2</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">3</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+			<td class="center">3</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">4</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="center">4</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">5</td>
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+			<td class="center">5</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">6</td>
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="center">6</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">7</td>
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">7</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">8</td>
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">8</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">9</td>
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">9</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">10</td>
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+			<td class="center">10</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">11</td>
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">11</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">12</td>
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">12</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">13</td>
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">13</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">14</td>
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">14</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">15</td>
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">15</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">16</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+			<td class="center">16</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">17</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+			<td class="center">17</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">18</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+			<td class="center">18</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">19</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+			<td class="center">19</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">20</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+			<td class="center">20</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">21</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+			<td class="center">21</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">22</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+			<td class="center">22</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">23</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="center">23</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">24</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">24</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">25</td>
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">25</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">26</td>
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="center">26</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">27</td>
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+			<td class="center">27</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">28</td>
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+			<td class="center">28</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">29</td>
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+			<td class="center">29</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">30</td>
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+			<td class="center">30</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">31</td>
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+			<td class="center">31</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">32</td>
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+			<td class="center">32</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">33</td>
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+			<td class="center">33</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">34</td>
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">34</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">35</td>
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">35</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">36</td>
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">36</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">37</td>
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">37</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">38</td>
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">38</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">39</td>
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">39</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">40</td>
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">40</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">41</td>
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">41</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">42</td>
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">42</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">43</td>
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+			<td class="center">43</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">44</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+			<td class="center">44</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">45</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+			<td class="center">45</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">46</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+			<td class="center">46</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">47</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">47</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">48</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="center">48</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">49</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="center">49</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">50</td>
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center">50</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">51</td>
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="center">51</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">52</td>
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">52</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">53</td>
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">53</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">54</td>
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="center">54</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">55</td>
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center">55</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">56</td>
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="center">56</td>
+		</tr>
+		<tr class="gradeU">
+			<td class="center">57</td>
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+			<td class="center">57</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "150%",
+		"bScrollCollapse": true,
+		"fnDrawCallback": function ( oSettings ) {
+			/* Need to redo the counters if filtered or sorted */
+			if ( oSettings.bSorted || oSettings.bFiltered ) {
+				for ( var i=0, iLen=oSettings.aiDisplay.length ; i&lt;iLen ; i++ ) {
+					$('td:first', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+					$('td:last', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bSortable": false, "sClass": "indexLeft", "aTargets": [ 0 ] },
+			{ "bSortable": false, "sClass": "indexRight", "aTargets": [ -1 ] }
+		],
+		"aaSorting": [[ 1, 'asc' ]]
+	} );
+	
+	new FixedColumns( oTable, {
+		"iColumns": 1,
+		"iRightColumns": 1
+	} );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/css/default.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/css/default.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/css/default.css	(revision 6286)
@@ -0,0 +1,418 @@
+/*
+ * TABLE OF CONTENTS:
+ * - Browser reset
+ * - HTML elements
+ * - JsDoc styling
+ */
+
+
+
+
+
+
+/*
+ * BEGIN BROWSER RESET
+ */
+
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,pre,form,fieldset,input,textarea,p,blockquote,th,td {
+	margin:0;
+	padding:0
+}
+html {
+	height:100%;
+	overflow:-moz-scrollbars-vertical;
+	overflow-x:auto
+}
+table {
+	border:0;
+	border-collapse:collapse;
+	border-spacing:0
+}
+fieldset,img {
+	border:0
+}
+address,caption,cite,code,dfn,em,strong,th,var {
+	font-style:normal;
+	font-weight:normal
+}
+em,cite {
+	font-style:italic
+}
+strong {
+	font-weight:bold
+}
+ol,ul {
+	list-style:none
+}
+caption,th {
+	text-align:left
+}
+h1,h2,h3,h4,h5,h6 {
+	font-size:100%;
+	font-weight:normal;
+	margin:0;
+	padding:0
+}
+q:before,q:after {
+	content:''
+}
+abbr,acronym {
+	border:0
+}
+
+/*
+ * END BROWSER RESET
+ */
+
+
+
+
+
+
+/*
+ * HTML ELEMENTS
+ */
+
+* {
+	line-height: 1.4em;
+}
+
+html {
+	font-size: 100%;
+}
+
+body {
+	font-size: 0.75em !important;
+	padding: 15px 0;
+	background: #eee;
+	background-image: -moz-linear-gradient(left, #dddddd, #f9f9f9);
+	background-image: -webkit-gradient(linear,left bottom,right bottom,color-stop(0, #dddddd),color-stop(1, #f9f9f9));
+  }
+
+body,
+input,
+select,
+textarea {
+	color: #000;
+	font-family: Arial, Geneva, sans-serif;
+}
+
+a:link,
+a:hover,
+a:active,
+a:visited {
+	color: #19199e;
+}
+a:hover,
+a:focus {
+	color: #00f;
+	text-decoration: none;
+}
+
+p {
+	margin: 0 0 1.5em 0;
+}
+
+/*
+ * END HTML ELEMENTS
+ */
+
+
+ 
+/*
+ * BEGIN HACK
+ */
+
+div.containerMain:after,
+div.safeBox:after {
+	content:"";
+	display:block;
+	height:0;
+	clear:both;
+}
+
+/*
+ * END HACK
+ */
+
+
+
+/*
+ * BEGIN JSDOC
+ */
+
+div.index *.heading1 {
+	margin-bottom: 0.5em;
+	border-bottom: 1px solid #999999;
+	padding: 0.5em 0 0.1em 0;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.3em;
+	letter-spacing: 1px;
+}
+ 
+div.index {
+	float: left;
+	width: 30%;
+	min-width: 100px;
+	max-width: 250px;
+}
+div.index div.menu {
+	margin: 0 15px 0 -15px;
+	-moz-border-radius: 15px;
+	-webkit-border-radius: 15px;
+	border-radius: 15px;
+  	padding: 15px 15px 15px 30px;
+	background-color: #FFFFFF;
+	background-color: rgba(255, 255, 255, 0.5);
+	-moz-box-shadow: 0px 0px 10px #c4c4c4;
+	-webkit-box-shadow: 0px 0px 10px #c4c4c4;
+	box-shadow: 0px 0px 10px #c4c4c4;
+}
+*+html div.index div.menu {
+	background-color: #FFFFFF;
+}
+* html div.index div.menu {
+	background-color: #FFFFFF;
+}
+
+div.index div.menu div {
+	text-align: left;
+}
+
+div.index div.menu a {
+	text-decoration: none;
+}
+div.index div.menu a:hover {
+	text-decoration: underline;
+}
+
+div.index ul.classList a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.index div.fineprint {
+  	padding: 15px 30px 15px 15px;
+	color: #777;
+	font-size: 0.9em;
+}
+div.index div.fineprint a {
+	color: #777;
+}
+
+
+
+div.content {
+	float: left;
+	width: 70%;
+	min-width: 300px;
+	max-width: 600px;
+}
+div.innerContent {
+	padding: 0 0 0 2.5em;
+}
+
+div.content ul,
+div.content ol {
+	margin-bottom: 3em;
+}
+
+div.content *.classTitle {
+	margin-bottom: 0.5em;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 2.5em;
+	letter-spacing: 2px;
+}
+
+div.content *.classTitle span {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.content p.summary {
+	font-size: 1.2em;
+}
+
+div.content ul *.classname a,
+div.content ul *.filename a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+	text-decoration: none;
+	font-weight: bold;
+}
+div.content ul *.classname a:hover,
+div.content ul *.filename a:hover {
+	text-decoration: underline;
+}
+
+div.content div.props {
+	position: relative;
+	left: -10px;
+	margin-bottom: 2.5em;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	padding: 10px 15px 15px 15px;
+	overflow: hidden;
+	background: #fff;
+	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2)); /* FF3.6 */
+	background: -webkit-gradient(linear,left top,left bottom,color-stop(0, rgba(255, 255, 255, 0.7)),color-stop(1, rgba(255, 255, 255, 0.2)));
+	-moz-box-shadow: 0px 0px 10px #ccc;
+	-webkit-box-shadow: 0px 0px 5px #bbb;
+	box-shadow: 0px 0px 5px #bbb;
+}
+
+div.content div.props div.sectionTitle {
+	padding-bottom: 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+div.content div.hr {
+	margin: 0 10px 0 0;
+	height: 4em;
+}
+
+
+
+table.summaryTable {
+	position: relative;
+	left: -10px;
+	width: 100%;
+	border-collapse: collapse;
+	box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	-webkit-box-sizing: content-box;
+	-ms-box-sizing: content-box;
+	-o-box-sizing: content-box;
+	-icab-box-sizing: content-box;
+	-khtml-box-sizing: content-box; 
+}
+
+table.summaryTable caption {
+	padding: 0 10px 10px 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+table.summaryTable td,
+table.summaryTable th {
+	padding: 0px 10px 10px 10px;
+	vertical-align: top;
+}
+table.summaryTable tr:last-child td {
+	padding-bottom: 0;
+}
+
+table.summaryTable th {
+	font-weight: bold;
+}
+
+table.summaryTable td.attributes {
+	width: 35%;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	color: #666;
+}
+
+table.summaryTable td.nameDescription {
+	width: 65%
+}
+
+table.summaryTable td.nameDescription div.fixedFont {
+	font-weight: bold;
+}
+
+table.summaryTable div.description {
+	color: #333;
+}
+
+
+
+dl.detailList {
+	margin-top: 0.5em;
+}
+
+dl.detailList.nomargin + dl.detailList.nomargin {
+	margin-top: 0;
+}
+
+dl.detailList dt {
+	display: inline;
+	margin-right: 5px;
+	font-weight: bold;
+}
+
+dl.detailList dt:before {
+	display: block;
+	content: "";
+}
+
+dl.detailList dd {
+	display: inline;
+}
+
+dl.detailList.params dt {
+	display: block;
+}
+dl.detailList.params dd {
+	display: block;
+	padding-left: 2em;
+	padding-bottom: 0.4em;
+}
+
+
+
+
+ul.fileList li {
+	margin-bottom: 1.5em;
+}
+
+
+
+.fixedFont {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+.fixedFont.heading {
+	margin-bottom: 0.5em;
+	font-size: 1.25em;
+	line-height: 1.1em
+}
+
+.fixedFont.heading + .description {
+	font-size: 1.2em;
+}
+
+.fixedFont.heading .light,
+.fixedFont.heading .lighter {
+	font-weight: bold;
+}
+
+pre.code {
+	margin: 10px 0 10px 0;
+	padding: 10px;
+	border: 1px solid #ccc;
+	-moz-border-radius: 2px;
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	overflow: auto;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	background: #eee;
+}
+
+.light {
+	color: #666;
+}
+
+.lighter {
+	color: #999;
+}
+
+.clear {
+	clear: both;
+	width: 100%;
+	min-height: 0;
+}
+
+/*
+ * END JSDOC
+ */
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/files.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/files.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/files.html	(revision 6286)
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		
+		<title>JsDoc Reference - File Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/dom.html">dom</a></li>
+	
+		<li><a href="symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="symbols/s.html">s</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">File Index</h1>
+				
+				<ul class="fileList">
+					
+						<li>
+							<h2 class="filename"><a href="symbols/src/js_FixedColumns.js.html">js/FixedColumns.js</a></h2>
+							
+							
+							
+							<dl class="detailList">
+								
+								
+								
+								
+								
+								
+							</dl>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/index.html	(revision 6286)
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<title>JsDoc Reference - Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/dom.html">dom</a></li>
+	
+		<li><a href="symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="symbols/s.html">s</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">Class Index</h1>
+				
+				<ul>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/_global_.html">_global_</a></h2>
+							<p></p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/dom.html">dom</a></h2>
+							<p>Common and useful DOM elements for the class instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/dom.clone.html">dom.clone</a></h2>
+							<p>Cloned table nodes</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/dom.clone.left.html">dom.clone.left</a></h2>
+							<p>Left column cloned table nodes</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/dom.clone.right.html">dom.clone.right</a></h2>
+							<p>Right column cloned table nodes</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/s.html">s</a></h2>
+							<p>Settings object which contains customisable information for FixedColumns instance</p>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/_global_.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/_global_.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/_global_.html	(revision 6286)
@@ -0,0 +1,190 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - _global_</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/dom.html">dom</a></li>
+	
+		<li><a href="../symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="../symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="../symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="../symbols/s.html">s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Built-In Namespace <span>_global_</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					
+					
+					
+				</p>
+
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class _global_.">
+								<caption>Method Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Method Attributes</th>
+										<th scope="col">Method Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/_global_.html#FixedColumns">FixedColumns</a></b>(oDT, oInit)
+												</div>
+												<div class="description"></div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+					<div class="details props">
+						<div class="innerProps">
+							<div class="sectionTitle">
+								Method Detail
+							</div>
+							
+							
+								<a name="FixedColumns"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>FixedColumns</b>(oDT, oInit)
+								</div>
+								
+								<div class="description">
+									
+									
+									
+										<br />
+										<i>Defined in: </i> <a href="../symbols/src/js_FixedColumns.js.html">FixedColumns.js</a>.
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>oDT</b>
+												
+											</dt>
+											<dd></dd>
+										
+											<dt>
+												<b>oInit</b>
+												
+											</dt>
+											<dd></dd>
+										
+									</dl>
+								
+								
+								
+
+								
+							
+						</div>
+					</div>
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.html	(revision 6286)
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - dom.clone</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/dom.html">dom</a></li>
+	
+		<li><a href="../symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="../symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="../symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="../symbols/s.html">s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>dom.clone</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Cloned table nodes
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_FixedColumns.js.html">FixedColumns.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class dom.clone.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/dom.clone.html#constructor">dom.clone</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>dom.clone</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.left.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.left.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.left.html	(revision 6286)
@@ -0,0 +1,328 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - dom.clone.left</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/dom.html">dom</a></li>
+	
+		<li><a href="../symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="../symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="../symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="../symbols/s.html">s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>dom.clone.left</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Left column cloned table nodes
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_FixedColumns.js.html">FixedColumns.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class dom.clone.left.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/dom.clone.left.html#constructor">dom.clone.left</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class dom.clone.left.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.clone.left.<b><a href="../symbols/dom.clone.left.html#.body">body</a></b>
+												</div>
+												<div class="description">Cloned body table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.clone.left.<b><a href="../symbols/dom.clone.left.html#.footer">footer</a></b>
+												</div>
+												<div class="description">Cloned footer table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.clone.left.<b><a href="../symbols/dom.clone.left.html#.header">header</a></b>
+												</div>
+												<div class="description">Cloned header table</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>dom.clone.left</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".body"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.clone.left.</span><b>body</b>							
+								</div>
+								
+								<div class="description">
+									Cloned body table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".footer"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.clone.left.</span><b>footer</b>							
+								</div>
+								
+								<div class="description">
+									Cloned footer table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".header"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.clone.left.</span><b>header</b>							
+								</div>
+								
+								<div class="description">
+									Cloned header table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.right.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.right.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.clone.right.html	(revision 6286)
@@ -0,0 +1,328 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - dom.clone.right</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/dom.html">dom</a></li>
+	
+		<li><a href="../symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="../symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="../symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="../symbols/s.html">s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>dom.clone.right</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Right column cloned table nodes
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_FixedColumns.js.html">FixedColumns.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class dom.clone.right.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/dom.clone.right.html#constructor">dom.clone.right</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class dom.clone.right.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.clone.right.<b><a href="../symbols/dom.clone.right.html#.body">body</a></b>
+												</div>
+												<div class="description">Cloned body table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.clone.right.<b><a href="../symbols/dom.clone.right.html#.footer">footer</a></b>
+												</div>
+												<div class="description">Cloned footer table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.clone.right.<b><a href="../symbols/dom.clone.right.html#.header">header</a></b>
+												</div>
+												<div class="description">Cloned header table</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>dom.clone.right</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".body"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.clone.right.</span><b>body</b>							
+								</div>
+								
+								<div class="description">
+									Cloned body table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".footer"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.clone.right.</span><b>footer</b>							
+								</div>
+								
+								<div class="description">
+									Cloned footer table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".header"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.clone.right.</span><b>header</b>							
+								</div>
+								
+								<div class="description">
+									Cloned header table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/dom.html	(revision 6286)
@@ -0,0 +1,424 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - dom</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/dom.html">dom</a></li>
+	
+		<li><a href="../symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="../symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="../symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="../symbols/s.html">s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>dom</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Common and useful DOM elements for the class instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_FixedColumns.js.html">FixedColumns.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class dom.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/dom.html#constructor">dom</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class dom.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.<b><a href="../symbols/dom.html#.body">body</a></b>
+												</div>
+												<div class="description">DataTables body table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.<b><a href="../symbols/dom.html#.footer">footer</a></b>
+												</div>
+												<div class="description">DataTables footer table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.<b><a href="../symbols/dom.html#.header">header</a></b>
+												</div>
+												<div class="description">DataTables header table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.<b><a href="../symbols/dom.html#.scrollContainer">scrollContainer</a></b>
+												</div>
+												<div class="description">Scroll container that DataTables has added</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												dom.<b><a href="../symbols/dom.html#.scroller">scroller</a></b>
+												</div>
+												<div class="description">DataTables scrolling element</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>dom</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".body"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.</span><b>body</b>							
+								</div>
+								
+								<div class="description">
+									DataTables body table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".footer"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.</span><b>footer</b>							
+								</div>
+								
+								<div class="description">
+									DataTables footer table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".header"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.</span><b>header</b>							
+								</div>
+								
+								<div class="description">
+									DataTables header table
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".scrollContainer"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.</span><b>scrollContainer</b>							
+								</div>
+								
+								<div class="description">
+									Scroll container that DataTables has added
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".scroller"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">dom.</span><b>scroller</b>							
+								</div>
+								
+								<div class="description">
+									DataTables scrolling element
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/s.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/s.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/s.html	(revision 6286)
@@ -0,0 +1,377 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - s</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/dom.html">dom</a></li>
+	
+		<li><a href="../symbols/dom.clone.html">dom.clone</a></li>
+	
+		<li><a href="../symbols/dom.clone.left.html">dom.clone.left</a></li>
+	
+		<li><a href="../symbols/dom.clone.right.html">dom.clone.right</a></li>
+	
+		<li><a href="../symbols/s.html">s</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Wed Mar 02 2011 19:10:47 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>s</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Settings object which contains customisable information for FixedColumns instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_FixedColumns.js.html">FixedColumns.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class s.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/s.html#constructor">s</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class s.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												s.<b><a href="../symbols/s.html#.dt">dt</a></b>
+												</div>
+												<div class="description">DataTables settings objects</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												s.<b><a href="../symbols/s.html#.heights">heights</a></b>
+												</div>
+												<div class="description">Store the heights of the rows for a draw.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												s.<b><a href="../symbols/s.html#.leftColumns">leftColumns</a></b>
+												</div>
+												<div class="description">Number of left hand columns to fix in position</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												s.<b><a href="../symbols/s.html#.rightColumns">rightColumns</a></b>
+												</div>
+												<div class="description">Number of right hand columns to fix in position</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>s</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".dt"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{object}</span>
+									
+									<span class="light">s.</span><b>dt</b>							
+								</div>
+								
+								<div class="description">
+									DataTables settings objects
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".heights"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{array int}</span>
+									
+									<span class="light">s.</span><b>heights</b>							
+								</div>
+								
+								<div class="description">
+									Store the heights of the rows for a draw. This can significantly speed up a draw where both
+left and right columns are fixed
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												0
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".leftColumns"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<span class="light">s.</span><b>leftColumns</b>							
+								</div>
+								
+								<div class="description">
+									Number of left hand columns to fix in position
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												1
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".rightColumns"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<span class="light">s.</span><b>rightColumns</b>							
+								</div>
+								
+								<div class="description">
+									Number of right hand columns to fix in position
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												0
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/src/js_FixedColumns.js.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/src/js_FixedColumns.js.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/src/js_FixedColumns.js.html	(revision 6286)
@@ -0,0 +1,647 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="COMM">/*
+<span class='line'>  2</span>  * File:        FixedColumns.js
+<span class='line'>  3</span>  * Version:     1.1.0
+<span class='line'>  4</span>  * Description: "Fix" columns on the left of a scrolling DataTable
+<span class='line'>  5</span>  * Author:      Allan Jardine (www.sprymedia.co.uk)
+<span class='line'>  6</span>  * Created:     Sat Sep 18 09:28:54 BST 2010
+<span class='line'>  7</span>  * Language:    Javascript
+<span class='line'>  8</span>  * License:     GPL v2 or BSD 3 point style
+<span class='line'>  9</span>  * Project:     Just a little bit of fun - enjoy :-)
+<span class='line'> 10</span>  * Contact:     www.sprymedia.co.uk/contact
+<span class='line'> 11</span>  * 
+<span class='line'> 12</span>  * Copyright 2010-2011 Allan Jardine, all rights reserved.
+<span class='line'> 13</span>  */</span><span class="WHIT">
+<span class='line'> 14</span> 
+<span class='line'> 15</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">FixedColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDT</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 16</span> </span><span class="WHIT">	</span><span class="COMM">/* Sanity check - you just know it will happen */</span><span class="WHIT">
+<span class='line'> 17</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">this._fnConstruct</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 18</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 19</span> </span><span class="WHIT">		</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"FixedColumns warning: FixedColumns must be initialised with the 'new' keyword."</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 20</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 21</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 22</span> </span><span class="WHIT">	
+<span class='line'> 23</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 24</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 25</span> </span><span class="WHIT">		</span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 26</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 27</span> </span><span class="WHIT">	
+<span class='line'> 28</span> 	</span><span class="COMM">/**
+<span class='line'> 29</span> 	 * @namespace Settings object which contains customisable information for FixedColumns instance
+<span class='line'> 30</span> 	 */</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="WHIT">	</span><span class="NAME">this.s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 32</span> </span><span class="WHIT">		</span><span class="COMM">/** 
+<span class='line'> 33</span> 		 * DataTables settings objects
+<span class='line'> 34</span>      *  @property dt
+<span class='line'> 35</span>      *  @type     object
+<span class='line'> 36</span>      *  @default  null
+<span class='line'> 37</span> 		 */</span><span class="WHIT">
+<span class='line'> 38</span> </span><span class="WHIT">		</span><span class="NAME">dt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oDT.fnSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 39</span> </span><span class="WHIT">		
+<span class='line'> 40</span> 		</span><span class="COMM">/** 
+<span class='line'> 41</span> 		 * Number of left hand columns to fix in position
+<span class='line'> 42</span>      *  @property leftColumns
+<span class='line'> 43</span>      *  @type     int
+<span class='line'> 44</span>      *  @default  1
+<span class='line'> 45</span> 		 */</span><span class="WHIT">
+<span class='line'> 46</span> </span><span class="WHIT">		</span><span class="NAME">leftColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 47</span> </span><span class="WHIT">		
+<span class='line'> 48</span> 		</span><span class="COMM">/** 
+<span class='line'> 49</span> 		 * Number of right hand columns to fix in position
+<span class='line'> 50</span>      *  @property rightColumns
+<span class='line'> 51</span>      *  @type     int
+<span class='line'> 52</span>      *  @default  0
+<span class='line'> 53</span> 		 */</span><span class="WHIT">
+<span class='line'> 54</span> </span><span class="WHIT">		</span><span class="NAME">rightColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 55</span> </span><span class="WHIT">		
+<span class='line'> 56</span> 		</span><span class="COMM">/** 
+<span class='line'> 57</span> 		 * Store the heights of the rows for a draw. This can significantly speed up a draw where both
+<span class='line'> 58</span> 		 * left and right columns are fixed
+<span class='line'> 59</span>      *  @property heights
+<span class='line'> 60</span>      *  @type     array int
+<span class='line'> 61</span>      *  @default  0
+<span class='line'> 62</span> 		 */</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">		</span><span class="NAME">heights</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="WHIT">
+<span class='line'> 64</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 65</span> </span><span class="WHIT">	
+<span class='line'> 66</span> 	
+<span class='line'> 67</span> 	</span><span class="COMM">/**
+<span class='line'> 68</span> 	 * @namespace Common and useful DOM elements for the class instance
+<span class='line'> 69</span> 	 */</span><span class="WHIT">
+<span class='line'> 70</span> </span><span class="WHIT">	</span><span class="NAME">this.dom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 71</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'> 72</span> 		 * DataTables scrolling element
+<span class='line'> 73</span> 		 *  @property scroller
+<span class='line'> 74</span> 		 *  @type     node
+<span class='line'> 75</span> 		 *  @default  null
+<span class='line'> 76</span> 		 */</span><span class="WHIT">
+<span class='line'> 77</span> </span><span class="WHIT">		</span><span class="NAME">scroller</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 78</span> </span><span class="WHIT">		  	
+<span class='line'> 79</span> 		</span><span class="COMM">/**
+<span class='line'> 80</span> 		 * Scroll container that DataTables has added
+<span class='line'> 81</span> 		 *  @property scrollContainer
+<span class='line'> 82</span> 		 *  @type     node
+<span class='line'> 83</span> 		 *  @default  null
+<span class='line'> 84</span> 		 */</span><span class="WHIT">
+<span class='line'> 85</span> </span><span class="WHIT">		</span><span class="NAME">scrollContainer</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 86</span> </span><span class="WHIT">		
+<span class='line'> 87</span> 		</span><span class="COMM">/**
+<span class='line'> 88</span> 		 * DataTables header table
+<span class='line'> 89</span> 		 *  @property header
+<span class='line'> 90</span> 		 *  @type     node
+<span class='line'> 91</span> 		 *  @default  null
+<span class='line'> 92</span> 		 */</span><span class="WHIT">
+<span class='line'> 93</span> </span><span class="WHIT">		</span><span class="NAME">header</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 94</span> </span><span class="WHIT">		
+<span class='line'> 95</span> 		</span><span class="COMM">/**
+<span class='line'> 96</span> 		 * DataTables body table
+<span class='line'> 97</span> 		 *  @property body
+<span class='line'> 98</span> 		 *  @type     node
+<span class='line'> 99</span> 		 *  @default  null
+<span class='line'>100</span> 		 */</span><span class="WHIT">
+<span class='line'>101</span> </span><span class="WHIT">		</span><span class="NAME">body</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>102</span> </span><span class="WHIT">		
+<span class='line'>103</span> 		</span><span class="COMM">/**
+<span class='line'>104</span> 		 * DataTables footer table
+<span class='line'>105</span> 		 *  @property footer
+<span class='line'>106</span> 		 *  @type     node
+<span class='line'>107</span> 		 *  @default  null
+<span class='line'>108</span> 		 */</span><span class="WHIT">
+<span class='line'>109</span> </span><span class="WHIT">		</span><span class="NAME">footer</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>110</span> </span><span class="WHIT">		
+<span class='line'>111</span> 		</span><span class="COMM">/**
+<span class='line'>112</span> 		 * @namespace Cloned table nodes
+<span class='line'>113</span> 		 */</span><span class="WHIT">
+<span class='line'>114</span> </span><span class="WHIT">		</span><span class="NAME">clone</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>115</span> </span><span class="WHIT">			</span><span class="COMM">/**
+<span class='line'>116</span> 			 * @namespace Left column cloned table nodes
+<span class='line'>117</span> 			 */</span><span class="WHIT">
+<span class='line'>118</span> </span><span class="WHIT">			</span><span class="NAME">left</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">				</span><span class="COMM">/**
+<span class='line'>120</span> 				 * Cloned header table
+<span class='line'>121</span> 				 *  @property header
+<span class='line'>122</span> 				 *  @type     node
+<span class='line'>123</span> 				 *  @default  null
+<span class='line'>124</span> 				 */</span><span class="WHIT">
+<span class='line'>125</span> </span><span class="WHIT">				</span><span class="NAME">header</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>126</span> </span><span class="WHIT">		  	
+<span class='line'>127</span> 				</span><span class="COMM">/**
+<span class='line'>128</span> 				 * Cloned body table
+<span class='line'>129</span> 				 *  @property body
+<span class='line'>130</span> 				 *  @type     node
+<span class='line'>131</span> 				 *  @default  null
+<span class='line'>132</span> 				 */</span><span class="WHIT">
+<span class='line'>133</span> </span><span class="WHIT">				</span><span class="NAME">body</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>134</span> </span><span class="WHIT">		  	
+<span class='line'>135</span> 				</span><span class="COMM">/**
+<span class='line'>136</span> 				 * Cloned footer table
+<span class='line'>137</span> 				 *  @property footer
+<span class='line'>138</span> 				 *  @type     node
+<span class='line'>139</span> 				 *  @default  null
+<span class='line'>140</span> 				 */</span><span class="WHIT">
+<span class='line'>141</span> </span><span class="WHIT">				</span><span class="NAME">footer</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>142</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>143</span> </span><span class="WHIT">			
+<span class='line'>144</span> 			</span><span class="COMM">/**
+<span class='line'>145</span> 			 * @namespace Right column cloned table nodes
+<span class='line'>146</span> 			 */</span><span class="WHIT">
+<span class='line'>147</span> </span><span class="WHIT">			</span><span class="NAME">right</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>148</span> </span><span class="WHIT">				</span><span class="COMM">/**
+<span class='line'>149</span> 				 * Cloned header table
+<span class='line'>150</span> 				 *  @property header
+<span class='line'>151</span> 				 *  @type     node
+<span class='line'>152</span> 				 *  @default  null
+<span class='line'>153</span> 				 */</span><span class="WHIT">
+<span class='line'>154</span> </span><span class="WHIT">				</span><span class="NAME">header</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>155</span> </span><span class="WHIT">		  	
+<span class='line'>156</span> 				</span><span class="COMM">/**
+<span class='line'>157</span> 				 * Cloned body table
+<span class='line'>158</span> 				 *  @property body
+<span class='line'>159</span> 				 *  @type     node
+<span class='line'>160</span> 				 *  @default  null
+<span class='line'>161</span> 				 */</span><span class="WHIT">
+<span class='line'>162</span> </span><span class="WHIT">				</span><span class="NAME">body</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>163</span> </span><span class="WHIT">		  	
+<span class='line'>164</span> 				</span><span class="COMM">/**
+<span class='line'>165</span> 				 * Cloned footer table
+<span class='line'>166</span> 				 *  @property footer
+<span class='line'>167</span> 				 *  @type     node
+<span class='line'>168</span> 				 *  @default  null
+<span class='line'>169</span> 				 */</span><span class="WHIT">
+<span class='line'>170</span> </span><span class="WHIT">				</span><span class="NAME">footer</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>171</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>172</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>173</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>174</span> </span><span class="WHIT">	
+<span class='line'>175</span> 	</span><span class="COMM">/* Let's do it */</span><span class="WHIT">
+<span class='line'>176</span> </span><span class="WHIT">	</span><span class="NAME">this._fnConstruct</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>177</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>178</span> 
+<span class='line'>179</span> 
+<span class='line'>180</span> </span><span class="NAME">FixedColumns.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>181</span> </span><span class="WHIT">	</span><span class="COMM">/**
+<span class='line'>182</span> 	 * Update the fixed columns - including headers and footers
+<span class='line'>183</span> 	 *  @method  fnUpdate
+<span class='line'>184</span> 	 *  @returns void
+<span class='line'>185</span> 	 */</span><span class="WHIT">
+<span class='line'>186</span> </span><span class="WHIT">	</span><span class="NAME">fnUpdate</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>187</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>188</span> </span><span class="WHIT">		</span><span class="NAME">this._fnDraw</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>189</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>190</span> </span><span class="WHIT">	
+<span class='line'>191</span> 	
+<span class='line'>192</span> 	</span><span class="COMM">/**
+<span class='line'>193</span> 	 * Initialisation for FixedColumns
+<span class='line'>194</span> 	 *  @method  _fnConstruct
+<span class='line'>195</span> 	 *  @param   {Object} oInit User settings for initialisation
+<span class='line'>196</span> 	 *  @returns void
+<span class='line'>197</span> 	 */</span><span class="WHIT">
+<span class='line'>198</span> </span><span class="WHIT">	</span><span class="NAME">_fnConstruct</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oInit</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>199</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>200</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>201</span> </span><span class="WHIT">		
+<span class='line'>202</span> 		</span><span class="COMM">/* Sanity checking */</span><span class="WHIT">
+<span class='line'>203</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oInstance.fnVersionCheck</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
+<span class='line'>204</span> </span><span class="WHIT">		     </span><span class="NAME">this.s.dt.oInstance.fnVersionCheck</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'1.7.0'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>205</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>206</span> </span><span class="WHIT">			</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"FixedColumns 2 required DataTables 1.7.0 or later. "</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>207</span> </span><span class="WHIT">				</span><span class="STRN">"Please upgrade your DataTables installation"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>208</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>209</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>210</span> </span><span class="WHIT">		
+<span class='line'>211</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>212</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>213</span> </span><span class="WHIT">			</span><span class="NAME">this.s.dt.oInstance.oApi._fnLog</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"FixedColumns is not needed (no "</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>214</span> </span><span class="WHIT">				</span><span class="STRN">"x-scrolling in DataTables enabled), so no action will be taken. Use 'FixedHeader' for "</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>215</span> </span><span class="WHIT">				</span><span class="STRN">"column fixing when scrolling is not enabled"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>216</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>217</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>218</span> </span><span class="WHIT">		
+<span class='line'>219</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oInit.columns</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>220</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>221</span> </span><span class="WHIT">			</span><span class="COMM">/* Support for FixedColumns 1.0.x initialisation parameter */</span><span class="WHIT">
+<span class='line'>222</span> </span><span class="WHIT">			</span><span class="NAME">this.s.leftColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oInit.columns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>223</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>224</span> </span><span class="WHIT">		
+<span class='line'>225</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oInit.iColumns</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>226</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>227</span> </span><span class="WHIT">			</span><span class="NAME">this.s.leftColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oInit.iColumns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>228</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>229</span> </span><span class="WHIT">		
+<span class='line'>230</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oInit.iRightColumns</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>231</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>232</span> </span><span class="WHIT">			</span><span class="NAME">this.s.rightColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oInit.iRightColumns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>233</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>234</span> </span><span class="WHIT">		
+<span class='line'>235</span> 		</span><span class="COMM">/* Set up the DOM as we need it and cache nodes */</span><span class="WHIT">
+<span class='line'>236</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.scrollContainer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">parents</span><span class="PUNC">(</span><span class="STRN">'div.dataTables_scroll'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>237</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.scrollContainer.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"relative"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>238</span> </span><span class="WHIT">		
+<span class='line'>239</span> 		</span><span class="NAME">this.dom.body</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTable</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>240</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.scroller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.body.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>241</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.scroller.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"relative"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>242</span> </span><span class="WHIT">		
+<span class='line'>243</span> 		</span><span class="NAME">this.dom.header</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTHead.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>244</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.header.parentNode.parentNode.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"relative"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>245</span> </span><span class="WHIT">		
+<span class='line'>246</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTFoot</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>247</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>248</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.footer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTFoot.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>249</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.footer.parentNode.parentNode.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"relative"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>250</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>251</span> </span><span class="WHIT">		
+<span class='line'>252</span> 		</span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'relative'</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>253</span> </span><span class="WHIT">		
+<span class='line'>254</span> 		</span><span class="COMM">/* Event handlers */</span><span class="WHIT">
+<span class='line'>255</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>256</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>257</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.scroller</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scroll</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>258</span> </span><span class="WHIT">				</span><span class="NAME">that._fnPosition.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>259</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>260</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>261</span> </span><span class="WHIT">		
+<span class='line'>262</span> 		</span><span class="NAME">this.s.dt.aoDrawCallback.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>263</span> </span><span class="WHIT">			</span><span class="NAME">fn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>264</span> </span><span class="WHIT">				</span><span class="NAME">that._fnDraw.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>265</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>266</span> </span><span class="WHIT">			</span><span class="NAME">sName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"FixedColumns"</span><span class="WHIT">
+<span class='line'>267</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>268</span> </span><span class="WHIT">		
+<span class='line'>269</span> 		</span><span class="COMM">/* Get things right to start with */</span><span class="WHIT">
+<span class='line'>270</span> </span><span class="WHIT">		</span><span class="NAME">this._fnDraw</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>271</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>272</span> </span><span class="WHIT">	
+<span class='line'>273</span> 	
+<span class='line'>274</span> 	</span><span class="COMM">/**
+<span class='line'>275</span> 	 * Clone and position the fixed columns
+<span class='line'>276</span> 	 *  @method  _fnDraw
+<span class='line'>277</span> 	 *  @returns void
+<span class='line'>278</span> 	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+<span class='line'>279</span> 	 *  @private
+<span class='line'>280</span> 	 */</span><span class="WHIT">
+<span class='line'>281</span> </span><span class="WHIT">	</span><span class="NAME">_fnDraw</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>282</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>283</span> </span><span class="WHIT">		</span><span class="NAME">this._fnCloneLeft</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>284</span> </span><span class="WHIT">		</span><span class="NAME">this._fnCloneRight</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>285</span> </span><span class="WHIT">		</span><span class="NAME">this._fnPosition</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>286</span> </span><span class="WHIT">		
+<span class='line'>287</span> 		</span><span class="NAME">this.s.heights.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.heights.length</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>288</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>289</span> </span><span class="WHIT">	
+<span class='line'>290</span> 	
+<span class='line'>291</span> 	</span><span class="COMM">/**
+<span class='line'>292</span> 	 * Clone the right columns
+<span class='line'>293</span> 	 *  @method  _fnCloneRight
+<span class='line'>294</span> 	 *  @returns void
+<span class='line'>295</span> 	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+<span class='line'>296</span> 	 *  @private
+<span class='line'>297</span> 	 */</span><span class="WHIT">
+<span class='line'>298</span> </span><span class="WHIT">	</span><span class="NAME">_fnCloneRight</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>299</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>300</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.rightColumns</span><span class="WHIT"> </span><span class="PUNC">&lt;=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>301</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>302</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>303</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>304</span> </span><span class="WHIT">		
+<span class='line'>305</span> 		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>306</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>307</span> </span><span class="WHIT">			</span><span class="NAME">iTableWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>308</span> </span><span class="WHIT">			</span><span class="NAME">aiCellWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>309</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jq</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>310</span> </span><span class="WHIT">			</span><span class="NAME">iColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.header</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">		
+<span class='line'>312</span> 		</span><span class="COMM">/* Grab the widths that we are going to need */</span><span class="WHIT">
+<span class='line'>313</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">this.s.rightColumns</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">>=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>314</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>315</span> </span><span class="WHIT">			</span><span class="NAME">jq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.header</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="STRN">':eq('</span><span class="PUNC">+</span><span class="PUNC">(</span><span class="NAME">iColumns</span><span class="PUNC">-</span><span class="NAME">i</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>316</span> </span><span class="WHIT">			</span><span class="NAME">iTableWidth</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">jq.outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>317</span> </span><span class="WHIT">			</span><span class="NAME">aiCellWidth.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jq.width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>318</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>319</span> </span><span class="WHIT">		</span><span class="NAME">aiCellWidth.reverse</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>320</span> </span><span class="WHIT">		
+<span class='line'>321</span> 		</span><span class="NAME">this._fnClone</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.clone.right</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aiCellWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTableWidth</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>322</span> 			</span><span class="STRN">':last'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">':lt('</span><span class="PUNC">+</span><span class="PUNC">(</span><span class="NAME">iColumns</span><span class="PUNC">-</span><span class="NAME">this.s.rightColumns</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>323</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>324</span> </span><span class="WHIT">	
+<span class='line'>325</span> 	
+<span class='line'>326</span> 	</span><span class="COMM">/**
+<span class='line'>327</span> 	 * Clone the left columns
+<span class='line'>328</span> 	 *  @method  _fnCloneLeft
+<span class='line'>329</span> 	 *  @returns void
+<span class='line'>330</span> 	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+<span class='line'>331</span> 	 *  @private
+<span class='line'>332</span> 	 */</span><span class="WHIT">
+<span class='line'>333</span> </span><span class="WHIT">	</span><span class="NAME">_fnCloneLeft</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>334</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>335</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.leftColumns</span><span class="WHIT"> </span><span class="PUNC">&lt;=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>336</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>337</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>338</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>339</span> </span><span class="WHIT">		
+<span class='line'>340</span> 		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>341</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>342</span> </span><span class="WHIT">			</span><span class="NAME">iTableWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>343</span> </span><span class="WHIT">			</span><span class="NAME">aiCellWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>344</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jq</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>345</span> </span><span class="WHIT">		
+<span class='line'>346</span> 		</span><span class="COMM">/* Grab the widths that we are going to need */</span><span class="WHIT">
+<span class='line'>347</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.leftColumns</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>348</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>349</span> </span><span class="WHIT">			</span><span class="NAME">jq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.header</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="STRN">':eq('</span><span class="PUNC">+</span><span class="NAME">i</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>350</span> </span><span class="WHIT">			</span><span class="NAME">iTableWidth</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">jq.outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>351</span> </span><span class="WHIT">			</span><span class="NAME">aiCellWidth.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">jq.width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>352</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>353</span> </span><span class="WHIT">		
+<span class='line'>354</span> 		</span><span class="NAME">this._fnClone</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.clone.left</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aiCellWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTableWidth</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>355</span> 			</span><span class="STRN">':first'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">':gt('</span><span class="PUNC">+</span><span class="PUNC">(</span><span class="NAME">this.s.leftColumns</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>356</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>357</span> </span><span class="WHIT">		
+<span class='line'>358</span> 	
+<span class='line'>359</span> 	
+<span class='line'>360</span> 	</span><span class="COMM">/**
+<span class='line'>361</span> 	 * Clone the DataTable nodes and place them in the DOM (sized correctly)
+<span class='line'>362</span> 	 *  @method  _fnClone
+<span class='line'>363</span> 	 *  @returns void
+<span class='line'>364</span> 	 *  @param   {Object} oClone Object containing the header, footer and body cloned DOM elements
+<span class='line'>365</span> 	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+<span class='line'>366</span> 	 *  @param   {array} aiCellWidth Array of integers with the width's to use for the cloned columns
+<span class='line'>367</span> 	 *  @param   {int} iTableWidth Calculated table width
+<span class='line'>368</span> 	 *  @param   {string} sBoxHackSelector Selector to pick which TD element to copy styles from
+<span class='line'>369</span> 	 *  @param   {string} sRemoveSelector Which elements to remove
+<span class='line'>370</span> 	 *  @private
+<span class='line'>371</span> 	 */</span><span class="WHIT">
+<span class='line'>372</span> </span><span class="WHIT">	</span><span class="NAME">_fnClone</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aiCellWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTableWidth</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sBoxHackSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sRemoveSelector</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>373</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>374</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>375</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>376</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jq</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nTarget</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>377</span> </span><span class="WHIT">		
+<span class='line'>378</span> 		</span><span class="COMM">/* Header */</span><span class="WHIT">
+<span class='line'>379</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>380</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>381</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.header</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>382</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>383</span> </span><span class="WHIT">				</span><span class="NAME">oClone.header.parentNode.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.header</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>384</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>385</span> </span><span class="WHIT">			</span><span class="NAME">oClone.header</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.header</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">clone</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>386</span> </span><span class="WHIT">			</span><span class="NAME">oClone.header.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" FixedColumns_Cloned"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>387</span> </span><span class="WHIT">			
+<span class='line'>388</span> 			</span><span class="NAME">oClone.header.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>389</span> </span><span class="WHIT">			</span><span class="NAME">oClone.header.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>390</span> </span><span class="WHIT">			</span><span class="NAME">oClone.header.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>391</span> </span><span class="WHIT">			</span><span class="NAME">oClone.header.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iTableWidth</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>392</span> </span><span class="WHIT">			
+<span class='line'>393</span> 			</span><span class="NAME">nTarget</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.dom.scrollContainer</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>394</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.header.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>395</span> </span><span class="WHIT">			</span><span class="NAME">nTarget.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.header</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>396</span> </span><span class="WHIT">		
+<span class='line'>397</span> 			</span><span class="NAME">this._fnEqualiseHeights</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'thead'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.header</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.header</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>398</span> 				</span><span class="NAME">sBoxHackSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sRemoveSelector</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>399</span> </span><span class="WHIT">		
+<span class='line'>400</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.header</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>401</span> </span><span class="WHIT">				</span><span class="NAME">this.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aiCellWidth</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>402</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>403</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>404</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>405</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>406</span> </span><span class="WHIT">			</span><span class="NAME">this._fnCopyClasses</span><span class="PUNC">(</span><span class="NAME">oClone.header</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.header</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>407</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>408</span> </span><span class="WHIT">		
+<span class='line'>409</span> 		</span><span class="COMM">/* Body */</span><span class="WHIT">
+<span class='line'>410</span> </span><span class="WHIT">		</span><span class="COMM">/* Remove any heights which have been applied already and let the browser figure it out */</span><span class="WHIT">
+<span class='line'>411</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tbody tr'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.dom.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'height'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'auto'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>412</span> </span><span class="WHIT">		
+<span class='line'>413</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>414</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>415</span> </span><span class="WHIT">			</span><span class="NAME">oClone.body.parentNode.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>416</span> </span><span class="WHIT">			</span><span class="NAME">oClone.body</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>417</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>418</span> </span><span class="WHIT">		
+<span class='line'>419</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aiDisplay.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>420</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>421</span> </span><span class="WHIT">			</span><span class="NAME">oClone.body</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">clone</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>422</span> </span><span class="WHIT">			</span><span class="NAME">oClone.body.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" FixedColumns_Cloned"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>423</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.body.getAttribute</span><span class="PUNC">(</span><span class="STRN">'id'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>424</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>425</span> </span><span class="WHIT">				</span><span class="NAME">oClone.body.removeAttribute</span><span class="PUNC">(</span><span class="STRN">'id'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>426</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>427</span> </span><span class="WHIT">			
+<span class='line'>428</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>429</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'th'</span><span class="PUNC">+</span><span class="NAME">sRemoveSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>430</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>431</span> </span><span class="WHIT">			
+<span class='line'>432</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'thead tr:gt(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>433</span> </span><span class="WHIT">			
+<span class='line'>434</span> 			</span><span class="NAME">this._fnEqualiseHeights</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'tbody'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.dom.body</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>435</span> 				</span><span class="NAME">sBoxHackSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sRemoveSelector</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>436</span> </span><span class="WHIT">			
+<span class='line'>437</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tfoot tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>438</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'th'</span><span class="PUNC">+</span><span class="NAME">sRemoveSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>439</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>440</span> </span><span class="WHIT">			
+<span class='line'>441</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tfoot tr:gt(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>442</span> </span><span class="WHIT">			
+<span class='line'>443</span> 			
+<span class='line'>444</span> 			</span><span class="NAME">oClone.body.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>445</span> </span><span class="WHIT">			</span><span class="NAME">oClone.body.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>446</span> </span><span class="WHIT">			</span><span class="NAME">oClone.body.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>447</span> </span><span class="WHIT">			</span><span class="NAME">oClone.body.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iTableWidth</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>448</span> </span><span class="WHIT">			
+<span class='line'>449</span> 			</span><span class="NAME">nTarget</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.dom.scrollContainer</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>450</span> </span><span class="WHIT">				</span><span class="NAME">this.dom.body.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>451</span> </span><span class="WHIT">			</span><span class="NAME">nTarget.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.body</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>452</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>453</span> </span><span class="WHIT">		
+<span class='line'>454</span> 		</span><span class="COMM">/* Footer */</span><span class="WHIT">
+<span class='line'>455</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTFoot</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>456</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>457</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">bAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>458</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>459</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.footer</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>460</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>461</span> </span><span class="WHIT">					</span><span class="NAME">oClone.footer.parentNode.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.footer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>462</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>463</span> </span><span class="WHIT">				</span><span class="NAME">oClone.footer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.footer</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">clone</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>464</span> </span><span class="WHIT">				</span><span class="NAME">oClone.footer.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" FixedColumns_Cloned"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>465</span> </span><span class="WHIT">				
+<span class='line'>466</span> 				</span><span class="NAME">oClone.footer.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>467</span> </span><span class="WHIT">				</span><span class="NAME">oClone.footer.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>468</span> </span><span class="WHIT">				</span><span class="NAME">oClone.footer.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>469</span> </span><span class="WHIT">				</span><span class="NAME">oClone.footer.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iTableWidth</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>470</span> </span><span class="WHIT">				
+<span class='line'>471</span> 				</span><span class="NAME">nTarget</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.dom.scrollContainer</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>472</span> </span><span class="WHIT">					</span><span class="NAME">this.dom.footer.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>473</span> </span><span class="WHIT">				</span><span class="NAME">nTarget.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oClone.footer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>474</span> </span><span class="WHIT">			
+<span class='line'>475</span> 				</span><span class="NAME">this._fnEqualiseHeights</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'tfoot'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.footer</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.footer</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>476</span> 					</span><span class="NAME">sBoxHackSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sRemoveSelector</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>477</span> </span><span class="WHIT">				
+<span class='line'>478</span> 				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tfoot tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oClone.footer</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>479</span> </span><span class="WHIT">					</span><span class="NAME">this.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aiCellWidth</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>480</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>481</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>482</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>483</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>484</span> </span><span class="WHIT">	
+<span class='line'>485</span> 	
+<span class='line'>486</span> 	</span><span class="COMM">/**
+<span class='line'>487</span> 	 * Clone classes from one DOM node to another with (IMPORTANT) IDENTICAL structures
+<span class='line'>488</span> 	 *  @method  _fnCopyClasses
+<span class='line'>489</span> 	 *  @returns void
+<span class='line'>490</span> 	 *  @param   {element} clone Node to copy classes to
+<span class='line'>491</span> 	 *  @param   {element} original Original node to take the classes from
+<span class='line'>492</span> 	 *  @private
+<span class='line'>493</span> 	 */</span><span class="WHIT">
+<span class='line'>494</span> </span><span class="WHIT">	</span><span class="NAME">_fnCopyClasses</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">clone</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">original</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>495</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>496</span> </span><span class="WHIT">		</span><span class="NAME">clone.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">original.className</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>497</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">clone.children.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>498</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>499</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">original.children</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>500</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>501</span> </span><span class="WHIT">				</span><span class="NAME">this._fnCopyClasses</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">clone.children</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">original.children</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>502</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>503</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>504</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>505</span> </span><span class="WHIT">	
+<span class='line'>506</span> 	
+<span class='line'>507</span> 	</span><span class="COMM">/**
+<span class='line'>508</span> 	 * Equalise the heights of the rows in a given table node in a cross browser way
+<span class='line'>509</span> 	 *  @method  _fnEqualiseHeights
+<span class='line'>510</span> 	 *  @returns void
+<span class='line'>511</span> 	 *  @param   {string} parent Node type - thead, tbody or tfoot
+<span class='line'>512</span> 	 *  @param   {element} original Original node to take the heights from
+<span class='line'>513</span> 	 *  @param   {element} clone Copy the heights to
+<span class='line'>514</span> 	 *  @param   {string} boxHackSelector Selector to pick which TD element to copy styles from
+<span class='line'>515</span> 	 *  @param   {string} removeSelector Which elements to remove
+<span class='line'>516</span> 	 *  @private
+<span class='line'>517</span> 	 */</span><span class="WHIT">
+<span class='line'>518</span> </span><span class="WHIT">	</span><span class="NAME">_fnEqualiseHeights</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">parent</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">original</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clone</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">boxHackSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">removeSelector</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>519</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>520</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>521</span> </span><span class="WHIT">			</span><span class="NAME">iHeight</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>522</span> </span><span class="WHIT">			</span><span class="NAME">iCalculateHeights</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">parent</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"tbody"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.s.heights.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>523</span> </span><span class="WHIT">			</span><span class="NAME">jqBoxHack</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">parent</span><span class="PUNC">+</span><span class="STRN">' tr:eq(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">original</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="NAME">boxHackSelector</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>524</span> </span><span class="WHIT">			</span><span class="NAME">iBoxHack</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">jqBoxHack.outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">jqBoxHack.height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>525</span> </span><span class="WHIT">			</span><span class="NAME">bRubbishOldIE</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">$.browser.msie</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">$.browser.version</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"6.0"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">$.browser.version</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"7.0"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>526</span> </span><span class="WHIT">		
+<span class='line'>527</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">parent</span><span class="PUNC">+</span><span class="STRN">' tr:eq(0) th'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clone</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">attr</span><span class="PUNC">(</span><span class="STRN">'rowspan'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>528</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>529</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">parent</span><span class="PUNC">+</span><span class="STRN">' tr:gt(0)'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clone</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>530</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>531</span> </span><span class="WHIT">		
+<span class='line'>532</span> 		</span><span class="COMM">/* Remove cells which are not needed and copy the height from the original table */</span><span class="WHIT">
+<span class='line'>533</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">parent</span><span class="PUNC">+</span><span class="STRN">' tr'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clone</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">each</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">k</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>534</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="NAME">removeSelector</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">remove</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>535</span> </span><span class="WHIT">			
+<span class='line'>536</span> 			</span><span class="COMM">/* We can store the heights of the rows calculated on the first pass of a draw, to be used
+<span class='line'>537</span> 			 * on the second pass (i.e. the right hand column). This significantly speeds up a draw 
+<span class='line'>538</span> 			 * where both the left and right columns are fixed since we don't need to get the height of
+<span class='line'>539</span> 			 * each row twice
+<span class='line'>540</span> 			 */</span><span class="WHIT">
+<span class='line'>541</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iCalculateHeights</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>542</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>543</span> </span><span class="WHIT">				</span><span class="NAME">iHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">parent</span><span class="PUNC">+</span><span class="STRN">' tr:eq('</span><span class="PUNC">+</span><span class="NAME">k</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">original</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="STRN">':first'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>544</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">parent</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'tbody'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>545</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>546</span> </span><span class="WHIT">					</span><span class="NAME">that.s.heights.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iHeight</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>547</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>548</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>549</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>550</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>551</span> </span><span class="WHIT">				</span><span class="NAME">iHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.s.heights</span><span class="PUNC">[</span><span class="NAME">k</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>552</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>553</span> </span><span class="WHIT">			
+<span class='line'>554</span> 			</span><span class="COMM">/* Can we use some kind of object detection here?! This is very nasty - damn browsers */</span><span class="WHIT">
+<span class='line'>555</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$.browser.mozilla</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">$.browser.opera</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>556</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>557</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iHeight</span><span class="PUNC">+</span><span class="NAME">iBoxHack</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>558</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">parent</span><span class="PUNC">+</span><span class="STRN">' tr:eq('</span><span class="PUNC">+</span><span class="NAME">k</span><span class="PUNC">+</span><span class="STRN">')'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">original</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iHeight</span><span class="PUNC">+</span><span class="NAME">iBoxHack</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">	
+<span class='line'>559</span> 			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>560</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$.browser.msie</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">bRubbishOldIE</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>561</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>562</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iHeight</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">/* wtf... */</span><span class="WHIT">
+<span class='line'>563</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>564</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>565</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>566</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">children</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iHeight</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>567</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>568</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>569</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>570</span> </span><span class="WHIT">	
+<span class='line'>571</span> 	
+<span class='line'>572</span> 	</span><span class="COMM">/**
+<span class='line'>573</span> 	 * Set the absolute position of the fixed column tables when scrolling the DataTable
+<span class='line'>574</span> 	 *  @method  _fnPosition
+<span class='line'>575</span> 	 *  @returns void
+<span class='line'>576</span> 	 *  @private
+<span class='line'>577</span> 	 */</span><span class="WHIT">
+<span class='line'>578</span> </span><span class="WHIT">	</span><span class="NAME">_fnPosition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>579</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>580</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>581</span> </span><span class="WHIT">			</span><span class="NAME">iScrollLeft</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.scroller</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollLeft</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>582</span> </span><span class="WHIT">			</span><span class="NAME">oCloneLeft</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.clone.left</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>583</span> </span><span class="WHIT">			</span><span class="NAME">oCloneRight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.clone.right</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>584</span> </span><span class="WHIT">			</span><span class="NAME">iTableWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.s.dt.nTable.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>585</span> </span><span class="WHIT">			
+<span class='line'>586</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>587</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>588</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iBodyTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.body.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">position</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">top</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>589</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.footer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>590</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>591</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iFooterTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.footer.parentNode.parentNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">position</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">top</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>592</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>593</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>594</span> </span><span class="WHIT">		
+<span class='line'>595</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.leftColumns</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>596</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>597</span> </span><span class="WHIT">			</span><span class="NAME">oCloneLeft.header.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iScrollLeft</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>598</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oCloneLeft.body</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>599</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>600</span> </span><span class="WHIT">				</span><span class="NAME">oCloneLeft.body.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iScrollLeft</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>601</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">  </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>602</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>603</span> </span><span class="WHIT">					</span><span class="NAME">oCloneLeft.body.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iBodyTop</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>604</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>605</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>606</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.footer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>607</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>608</span> </span><span class="WHIT">				</span><span class="NAME">oCloneLeft.footer.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iScrollLeft</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>609</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">  </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>610</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>611</span> </span><span class="WHIT">					</span><span class="NAME">oCloneLeft.footer.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iFooterTop</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>612</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>613</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>614</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>615</span> </span><span class="WHIT">		
+<span class='line'>616</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.rightColumns</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>617</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>618</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iPoint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iTableWidth</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">oCloneRight.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iScrollLeft</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>619</span> </span><span class="WHIT">			
+<span class='line'>620</span> 			</span><span class="NAME">oCloneRight.header.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iPoint</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>621</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oCloneRight.body</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>622</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>623</span> </span><span class="WHIT">				</span><span class="NAME">oCloneRight.body.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iPoint</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>624</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">  </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>625</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>626</span> </span><span class="WHIT">					</span><span class="NAME">oCloneRight.body.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iBodyTop</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>627</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>628</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>629</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.footer</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>630</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>631</span> </span><span class="WHIT">				</span><span class="NAME">oCloneRight.footer.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iPoint</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>632</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">  </span><span class="NAME">this.s.position</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'absolute'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>633</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>634</span> </span><span class="WHIT">					</span><span class="NAME">oCloneRight.footer.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iFooterTop</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>635</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>636</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>637</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>638</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>639</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>640</span> </span></pre></body></html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/js/FixedColumns.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/js/FixedColumns.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/js/FixedColumns.js	(revision 6286)
@@ -0,0 +1,639 @@
+/*
+ * File:        FixedColumns.js
+ * Version:     1.1.0
+ * Description: "Fix" columns on the left of a scrolling DataTable
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     Sat Sep 18 09:28:54 BST 2010
+ * Language:    Javascript
+ * License:     GPL v2 or BSD 3 point style
+ * Project:     Just a little bit of fun - enjoy :-)
+ * Contact:     www.sprymedia.co.uk/contact
+ * 
+ * Copyright 2010-2011 Allan Jardine, all rights reserved.
+ */
+
+var FixedColumns = function ( oDT, oInit ) {
+	/* Sanity check - you just know it will happen */
+	if ( typeof this._fnConstruct != 'function' )
+	{
+		alert( "FixedColumns warning: FixedColumns must be initialised with the 'new' keyword." );
+		return;
+	}
+	
+	if ( typeof oInit == 'undefined' )
+	{
+		oInit = {};
+	}
+	
+	/**
+	 * @namespace Settings object which contains customisable information for FixedColumns instance
+	 */
+	this.s = {
+		/** 
+		 * DataTables settings objects
+     *  @property dt
+     *  @type     object
+     *  @default  null
+		 */
+		"dt": oDT.fnSettings(),
+		
+		/** 
+		 * Number of left hand columns to fix in position
+     *  @property leftColumns
+     *  @type     int
+     *  @default  1
+		 */
+		"leftColumns": 1,
+		
+		/** 
+		 * Number of right hand columns to fix in position
+     *  @property rightColumns
+     *  @type     int
+     *  @default  0
+		 */
+		"rightColumns": 0,
+		
+		/** 
+		 * Store the heights of the rows for a draw. This can significantly speed up a draw where both
+		 * left and right columns are fixed
+     *  @property heights
+     *  @type     array int
+     *  @default  0
+		 */
+		"heights": []
+	};
+	
+	
+	/**
+	 * @namespace Common and useful DOM elements for the class instance
+	 */
+	this.dom = {
+		/**
+		 * DataTables scrolling element
+		 *  @property scroller
+		 *  @type     node
+		 *  @default  null
+		 */
+		"scroller": null,
+		  	
+		/**
+		 * Scroll container that DataTables has added
+		 *  @property scrollContainer
+		 *  @type     node
+		 *  @default  null
+		 */
+		"scrollContainer": null,
+		
+		/**
+		 * DataTables header table
+		 *  @property header
+		 *  @type     node
+		 *  @default  null
+		 */
+		"header": null,
+		
+		/**
+		 * DataTables body table
+		 *  @property body
+		 *  @type     node
+		 *  @default  null
+		 */
+		"body": null,
+		
+		/**
+		 * DataTables footer table
+		 *  @property footer
+		 *  @type     node
+		 *  @default  null
+		 */
+		"footer": null,
+		
+		/**
+		 * @namespace Cloned table nodes
+		 */
+		"clone": {
+			/**
+			 * @namespace Left column cloned table nodes
+			 */
+			"left": {
+				/**
+				 * Cloned header table
+				 *  @property header
+				 *  @type     node
+				 *  @default  null
+				 */
+				"header": null,
+		  	
+				/**
+				 * Cloned body table
+				 *  @property body
+				 *  @type     node
+				 *  @default  null
+				 */
+				"body": null,
+		  	
+				/**
+				 * Cloned footer table
+				 *  @property footer
+				 *  @type     node
+				 *  @default  null
+				 */
+				"footer": null
+			},
+			
+			/**
+			 * @namespace Right column cloned table nodes
+			 */
+			"right": {
+				/**
+				 * Cloned header table
+				 *  @property header
+				 *  @type     node
+				 *  @default  null
+				 */
+				"header": null,
+		  	
+				/**
+				 * Cloned body table
+				 *  @property body
+				 *  @type     node
+				 *  @default  null
+				 */
+				"body": null,
+		  	
+				/**
+				 * Cloned footer table
+				 *  @property footer
+				 *  @type     node
+				 *  @default  null
+				 */
+				"footer": null
+			}
+		}
+	};
+	
+	/* Let's do it */
+	this._fnConstruct( oInit );
+};
+
+
+FixedColumns.prototype = {
+	/**
+	 * Update the fixed columns - including headers and footers
+	 *  @method  fnUpdate
+	 *  @returns void
+	 */
+	"fnUpdate": function ()
+	{
+		this._fnDraw( true );
+	},
+	
+	
+	/**
+	 * Initialisation for FixedColumns
+	 *  @method  _fnConstruct
+	 *  @param   {Object} oInit User settings for initialisation
+	 *  @returns void
+	 */
+	"_fnConstruct": function ( oInit )
+	{
+		var that = this;
+		
+		/* Sanity checking */
+		if ( typeof this.s.dt.oInstance.fnVersionCheck != 'function' ||
+		     this.s.dt.oInstance.fnVersionCheck( '1.7.0' ) !== true )
+		{
+			alert( "FixedColumns 2 required DataTables 1.7.0 or later. "+
+				"Please upgrade your DataTables installation" );
+			return;
+		}
+		
+		if ( this.s.dt.oScroll.sX === "" )
+		{
+			this.s.dt.oInstance.oApi._fnLog( this.s.dt, 1, "FixedColumns is not needed (no "+
+				"x-scrolling in DataTables enabled), so no action will be taken. Use 'FixedHeader' for "+
+				"column fixing when scrolling is not enabled" );
+			return;
+		}
+		
+		if ( typeof oInit.columns != 'undefined' )
+		{
+			/* Support for FixedColumns 1.0.x initialisation parameter */
+			this.s.leftColumns = oInit.columns;
+		}
+		
+		if ( typeof oInit.iColumns != 'undefined' )
+		{
+			this.s.leftColumns = oInit.iColumns;
+		}
+		
+		if ( typeof oInit.iRightColumns != 'undefined' )
+		{
+			this.s.rightColumns = oInit.iRightColumns;
+		}
+		
+		/* Set up the DOM as we need it and cache nodes */
+		this.dom.scrollContainer = $(this.s.dt.nTable).parents('div.dataTables_scroll')[0];
+		this.dom.scrollContainer.style.position = "relative";
+		
+		this.dom.body = this.s.dt.nTable;
+		this.dom.scroller = this.dom.body.parentNode;
+		this.dom.scroller.style.position = "relative";
+		
+		this.dom.header = this.s.dt.nTHead.parentNode;
+		this.dom.header.parentNode.parentNode.style.position = "relative";
+		
+		if ( this.s.dt.nTFoot )
+		{
+			this.dom.footer = this.s.dt.nTFoot.parentNode;
+			this.dom.footer.parentNode.parentNode.style.position = "relative";
+		}
+		
+		this.s.position = this.s.dt.oScroll.sY === "" ? 'absolute' : 'relative';
+		
+		/* Event handlers */
+		if ( this.s.position != "absolute" )
+		{
+			$(this.dom.scroller).scroll( function () {
+				that._fnPosition.call( that );
+			} );
+		}
+		
+		this.s.dt.aoDrawCallback.push( {
+			"fn": function () {
+				that._fnDraw.call( that, false );
+			},
+			"sName": "FixedColumns"
+		} );
+		
+		/* Get things right to start with */
+		this._fnDraw( true );
+	},
+	
+	
+	/**
+	 * Clone and position the fixed columns
+	 *  @method  _fnDraw
+	 *  @returns void
+	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+	 *  @private
+	 */
+	"_fnDraw": function ( bAll )
+	{
+		this._fnCloneLeft( bAll );
+		this._fnCloneRight( bAll );
+		this._fnPosition();
+		
+		this.s.heights.splice( 0, this.s.heights.length );
+	},
+	
+	
+	/**
+	 * Clone the right columns
+	 *  @method  _fnCloneRight
+	 *  @returns void
+	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+	 *  @private
+	 */
+	"_fnCloneRight": function ( bAll )
+	{
+		if ( this.s.rightColumns <= 0 )
+		{
+			return;
+		}
+		
+		var
+			that = this,
+			iTableWidth = 0,
+			aiCellWidth = [],
+			i, jq,
+			iColumns = $('thead tr:eq(0)', this.dom.header).children().length;
+		
+		/* Grab the widths that we are going to need */
+		for ( i=this.s.rightColumns-1 ; i>=0 ; i-- )
+		{
+			jq = $('thead tr:eq(0)', this.dom.header).children(':eq('+(iColumns-i-1)+')');
+			iTableWidth += jq.outerWidth();
+			aiCellWidth.push( jq.width() );
+		}
+		aiCellWidth.reverse();
+		
+		this._fnClone( this.dom.clone.right, bAll, aiCellWidth, iTableWidth, 
+			':last', ':lt('+(iColumns-this.s.rightColumns)+')' );
+	},
+	
+	
+	/**
+	 * Clone the left columns
+	 *  @method  _fnCloneLeft
+	 *  @returns void
+	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+	 *  @private
+	 */
+	"_fnCloneLeft": function ( bAll )
+	{
+		if ( this.s.leftColumns <= 0 )
+		{
+			return;
+		}
+		
+		var
+			that = this,
+			iTableWidth = 0,
+			aiCellWidth = [],
+			i, jq;
+		
+		/* Grab the widths that we are going to need */
+		for ( i=0, iLen=this.s.leftColumns ; i<iLen ; i++ )
+		{
+			jq = $('thead tr:eq(0)', this.dom.header).children(':eq('+i+')');
+			iTableWidth += jq.outerWidth();
+			aiCellWidth.push( jq.width() );
+		}
+		
+		this._fnClone( this.dom.clone.left, bAll, aiCellWidth, iTableWidth, 
+			':first', ':gt('+(this.s.leftColumns-1)+')' );
+	},
+		
+	
+	
+	/**
+	 * Clone the DataTable nodes and place them in the DOM (sized correctly)
+	 *  @method  _fnClone
+	 *  @returns void
+	 *  @param   {Object} oClone Object containing the header, footer and body cloned DOM elements
+	 *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
+	 *  @param   {array} aiCellWidth Array of integers with the width's to use for the cloned columns
+	 *  @param   {int} iTableWidth Calculated table width
+	 *  @param   {string} sBoxHackSelector Selector to pick which TD element to copy styles from
+	 *  @param   {string} sRemoveSelector Which elements to remove
+	 *  @private
+	 */
+	"_fnClone": function ( oClone, bAll, aiCellWidth, iTableWidth, sBoxHackSelector, sRemoveSelector )
+	{
+		var
+			that = this,
+			i, iLen, jq, nTarget;
+		
+		/* Header */
+		if ( bAll )
+		{
+			if ( oClone.header !== null )
+			{
+				oClone.header.parentNode.removeChild( oClone.header );
+			}
+			oClone.header = $(this.dom.header).clone(true)[0];
+			oClone.header.className += " FixedColumns_Cloned";
+			
+			oClone.header.style.position = "absolute";
+			oClone.header.style.top = "0px";
+			oClone.header.style.left = "0px";
+			oClone.header.style.width = iTableWidth+"px";
+			
+			nTarget = this.s.position == "absolute" ? this.dom.scrollContainer :
+				this.dom.header.parentNode;
+			nTarget.appendChild( oClone.header );
+		
+			this._fnEqualiseHeights( 'thead', this.dom.header, oClone.header, 
+				sBoxHackSelector, sRemoveSelector );
+		
+			$('thead tr:eq(0)', oClone.header).children().each( function (i) {
+				this.style.width = aiCellWidth[i]+"px";
+			} );
+		}
+		else
+		{
+			this._fnCopyClasses(oClone.header, this.dom.header);
+		}
+		
+		/* Body */
+		/* Remove any heights which have been applied already and let the browser figure it out */
+		$('tbody tr', that.dom.body).css('height', 'auto');
+		
+		if ( oClone.body !== null )
+		{
+			oClone.body.parentNode.removeChild( oClone.body );
+			oClone.body = null;
+		}
+		
+		if ( this.s.dt.aiDisplay.length > 0 )
+		{
+			oClone.body = $(this.dom.body).clone(true)[0];
+			oClone.body.className += " FixedColumns_Cloned";
+			if ( oClone.body.getAttribute('id') !== null )
+			{
+				oClone.body.removeAttribute('id');
+			}
+			
+			$('thead tr:eq(0)', oClone.body).each( function () {
+				$('th'+sRemoveSelector, this).remove();
+			} );
+			
+			$('thead tr:gt(0)', oClone.body).remove();
+			
+			this._fnEqualiseHeights( 'tbody', that.dom.body, oClone.body, 
+				sBoxHackSelector, sRemoveSelector );
+			
+			$('tfoot tr:eq(0)', oClone.body).each( function () {
+				$('th'+sRemoveSelector, this).remove();
+			} );
+			
+			$('tfoot tr:gt(0)', oClone.body).remove();
+			
+			
+			oClone.body.style.position = "absolute";
+			oClone.body.style.top = "0px";
+			oClone.body.style.left = "0px";
+			oClone.body.style.width = iTableWidth+"px";
+			
+			nTarget = this.s.position == "absolute" ? this.dom.scrollContainer :
+				this.dom.body.parentNode;
+			nTarget.appendChild( oClone.body );
+		}
+		
+		/* Footer */
+		if ( this.s.dt.nTFoot !== null )
+		{
+			if ( bAll )
+			{
+				if ( oClone.footer !== null )
+				{
+					oClone.footer.parentNode.removeChild( oClone.footer );
+				}
+				oClone.footer = $(this.dom.footer).clone(true)[0];
+				oClone.footer.className += " FixedColumns_Cloned";
+				
+				oClone.footer.style.position = "absolute";
+				oClone.footer.style.top = "0px";
+				oClone.footer.style.left = "0px";
+				oClone.footer.style.width = iTableWidth+"px";
+				
+				nTarget = this.s.position == "absolute" ? this.dom.scrollContainer :
+					this.dom.footer.parentNode;
+				nTarget.appendChild( oClone.footer );
+			
+				this._fnEqualiseHeights( 'tfoot', this.dom.footer, oClone.footer, 
+					sBoxHackSelector, sRemoveSelector );
+				
+				$('tfoot tr:eq(0)', oClone.footer).children().each( function (i) {
+					this.style.width = aiCellWidth[i]+"px";
+				} );
+			}
+		}
+	},
+	
+	
+	/**
+	 * Clone classes from one DOM node to another with (IMPORTANT) IDENTICAL structures
+	 *  @method  _fnCopyClasses
+	 *  @returns void
+	 *  @param   {element} clone Node to copy classes to
+	 *  @param   {element} original Original node to take the classes from
+	 *  @private
+	 */
+	"_fnCopyClasses": function ( clone, original )
+	{
+		clone.className = original.className;
+		for ( var i=0, iLen=clone.children.length ; i<iLen ; i++ )
+		{
+			if ( original.children[i].nodeType == 1 )
+			{
+				this._fnCopyClasses( clone.children[i], original.children[i] );
+			}
+		}
+	},
+	
+	
+	/**
+	 * Equalise the heights of the rows in a given table node in a cross browser way
+	 *  @method  _fnEqualiseHeights
+	 *  @returns void
+	 *  @param   {string} parent Node type - thead, tbody or tfoot
+	 *  @param   {element} original Original node to take the heights from
+	 *  @param   {element} clone Copy the heights to
+	 *  @param   {string} boxHackSelector Selector to pick which TD element to copy styles from
+	 *  @param   {string} removeSelector Which elements to remove
+	 *  @private
+	 */
+	"_fnEqualiseHeights": function ( parent, original, clone, boxHackSelector, removeSelector )
+	{
+		var that = this,
+			iHeight,
+			iCalculateHeights = (parent == "tbody" && this.s.heights.length > 0) ? false : true,
+			jqBoxHack = $(parent+' tr:eq(0)', original).children(boxHackSelector),
+			iBoxHack = jqBoxHack.outerHeight() - jqBoxHack.height(),
+			bRubbishOldIE = ($.browser.msie && ($.browser.version == "6.0" || $.browser.version == "7.0"));
+		
+		if ( $(parent+' tr:eq(0) th', clone).attr('rowspan') > 1 )
+		{
+			$(parent+' tr:gt(0)', clone).remove();
+		}
+		
+		/* Remove cells which are not needed and copy the height from the original table */
+		$(parent+' tr', clone).each( function (k) {
+			$(this).children(removeSelector, this).remove();
+			
+			/* We can store the heights of the rows calculated on the first pass of a draw, to be used
+			 * on the second pass (i.e. the right hand column). This significantly speeds up a draw 
+			 * where both the left and right columns are fixed since we don't need to get the height of
+			 * each row twice
+			 */
+			if ( iCalculateHeights )
+			{
+				iHeight = $(parent+' tr:eq('+k+')', original).children(':first').height();
+				if ( parent == 'tbody' )
+				{
+					that.s.heights.push( iHeight );
+				}
+			}
+			else
+			{
+				iHeight = that.s.heights[k];
+			}
+			
+			/* Can we use some kind of object detection here?! This is very nasty - damn browsers */
+			if ( $.browser.mozilla || $.browser.opera )
+			{
+				$(this).children().height( iHeight+iBoxHack );
+				$(parent+' tr:eq('+k+')', original).height( iHeight+iBoxHack );	
+			}
+			else if ( $.browser.msie && !bRubbishOldIE )
+			{
+				$(this).children().height( iHeight-1 ); /* wtf... */
+			}
+			else
+			{
+				$(this).children().height( iHeight );
+			}
+		} );
+	},
+	
+	
+	/**
+	 * Set the absolute position of the fixed column tables when scrolling the DataTable
+	 *  @method  _fnPosition
+	 *  @returns void
+	 *  @private
+	 */
+	"_fnPosition": function ()
+	{
+		var
+			iScrollLeft = this.s.position == 'absolute' ? 0 : $(this.dom.scroller).scrollLeft(),
+			oCloneLeft = this.dom.clone.left,
+			oCloneRight = this.dom.clone.right,
+			iTableWidth = $(this.s.dt.nTable.parentNode).width();
+			
+		if ( this.s.position == 'absolute' )
+		{
+			var iBodyTop = $(this.dom.body.parentNode).position().top;
+			if ( this.dom.footer )
+			{
+				var iFooterTop = $(this.dom.footer.parentNode.parentNode).position().top;
+			}
+		}
+		
+		if ( this.s.leftColumns > 0 )
+		{
+			oCloneLeft.header.style.left = iScrollLeft+"px";
+			if ( oCloneLeft.body !== null )
+			{
+				oCloneLeft.body.style.left = iScrollLeft+"px";
+				if (  this.s.position == 'absolute' )
+				{
+					oCloneLeft.body.style.top = iBodyTop+"px";
+				}
+			}
+			if ( this.dom.footer )
+			{
+				oCloneLeft.footer.style.left = iScrollLeft+"px";
+				if (  this.s.position == 'absolute' )
+				{
+					oCloneLeft.footer.style.top = iFooterTop+"px";
+				}
+			}
+		}
+		
+		if ( this.s.rightColumns > 0 )
+		{
+			var iPoint = iTableWidth - $(oCloneRight.body).width() + iScrollLeft;
+			
+			oCloneRight.header.style.left = iPoint+"px";
+			if ( oCloneRight.body !== null )
+			{
+				oCloneRight.body.style.left = iPoint+"px";
+				if (  this.s.position == 'absolute' )
+				{
+					oCloneRight.body.style.top = iBodyTop+"px";
+				}
+			}
+			if ( this.dom.footer )
+			{
+				oCloneRight.footer.style.left = iPoint+"px";
+				if (  this.s.position == 'absolute' )
+				{
+					oCloneRight.footer.style.top = iFooterTop+"px";
+				}
+			}
+		}
+	}
+};
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/js/FixedColumns.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/js/FixedColumns.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/js/FixedColumns.min.js	(revision 6286)
@@ -0,0 +1,27 @@
+/*
+ * File:        FixedColumns.min.js
+ * Version:     1.1.0
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * 
+ * Copyright 2010-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD (3 point) style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+var FixedColumns=function(a,b){if(typeof this._fnConstruct!="function")alert("FixedColumns warning: FixedColumns must be initialised with the 'new' keyword.");else{if(typeof b=="undefined")b={};this.s={dt:a.fnSettings(),leftColumns:1,rightColumns:0,heights:[]};this.dom={scroller:null,scrollContainer:null,header:null,body:null,footer:null,clone:{left:{header:null,body:null,footer:null},right:{header:null,body:null,footer:null}}};this._fnConstruct(b)}};
+FixedColumns.prototype={fnUpdate:function(){this._fnDraw(true)},_fnConstruct:function(a){var b=this;if(typeof this.s.dt.oInstance.fnVersionCheck!="function"||this.s.dt.oInstance.fnVersionCheck("1.7.0")!==true)alert("FixedColumns 2 required DataTables 1.7.0 or later. Please upgrade your DataTables installation");else if(this.s.dt.oScroll.sX==="")this.s.dt.oInstance.oApi._fnLog(this.s.dt,1,"FixedColumns is not needed (no x-scrolling in DataTables enabled), so no action will be taken. Use 'FixedHeader' for column fixing when scrolling is not enabled");
+else{if(typeof a.columns!="undefined")this.s.leftColumns=a.columns;if(typeof a.iColumns!="undefined")this.s.leftColumns=a.iColumns;if(typeof a.iRightColumns!="undefined")this.s.rightColumns=a.iRightColumns;this.dom.scrollContainer=$(this.s.dt.nTable).parents("div.dataTables_scroll")[0];this.dom.scrollContainer.style.position="relative";this.dom.body=this.s.dt.nTable;this.dom.scroller=this.dom.body.parentNode;this.dom.scroller.style.position="relative";this.dom.header=this.s.dt.nTHead.parentNode;this.dom.header.parentNode.parentNode.style.position=
+"relative";if(this.s.dt.nTFoot){this.dom.footer=this.s.dt.nTFoot.parentNode;this.dom.footer.parentNode.parentNode.style.position="relative"}this.s.position=this.s.dt.oScroll.sY===""?"absolute":"relative";this.s.position!="absolute"&&$(this.dom.scroller).scroll(function(){b._fnPosition.call(b)});this.s.dt.aoDrawCallback.push({fn:function(){b._fnDraw.call(b,false)},sName:"FixedColumns"});this._fnDraw(true)}},_fnDraw:function(a){this._fnCloneLeft(a);this._fnCloneRight(a);this._fnPosition();this.s.heights.splice(0,
+this.s.heights.length)},_fnCloneRight:function(a){if(!(this.s.rightColumns<=0)){var b=0,c=[],d,e,f=$("thead tr:eq(0)",this.dom.header).children().length;for(d=this.s.rightColumns-1;d>=0;d--){e=$("thead tr:eq(0)",this.dom.header).children(":eq("+(f-d-1)+")");b+=e.outerWidth();c.push(e.width())}c.reverse();this._fnClone(this.dom.clone.right,a,c,b,":last",":lt("+(f-this.s.rightColumns)+")")}},_fnCloneLeft:function(a){if(!(this.s.leftColumns<=0)){var b=0,c=[],d,e;d=0;for(iLen=this.s.leftColumns;d<iLen;d++){e=
+$("thead tr:eq(0)",this.dom.header).children(":eq("+d+")");b+=e.outerWidth();c.push(e.width())}this._fnClone(this.dom.clone.left,a,c,b,":first",":gt("+(this.s.leftColumns-1)+")")}},_fnClone:function(a,b,c,d,e,f){var g=this,h;if(b){a.header!==null&&a.header.parentNode.removeChild(a.header);a.header=$(this.dom.header).clone(true)[0];a.header.className+=" FixedColumns_Cloned";a.header.style.position="absolute";a.header.style.top="0px";a.header.style.left="0px";a.header.style.width=d+"px";h=this.s.position==
+"absolute"?this.dom.scrollContainer:this.dom.header.parentNode;h.appendChild(a.header);this._fnEqualiseHeights("thead",this.dom.header,a.header,e,f);$("thead tr:eq(0)",a.header).children().each(function(i){this.style.width=c[i]+"px"})}else this._fnCopyClasses(a.header,this.dom.header);$("tbody tr",g.dom.body).css("height","auto");if(a.body!==null){a.body.parentNode.removeChild(a.body);a.body=null}if(this.s.dt.aiDisplay.length>0){a.body=$(this.dom.body).clone(true)[0];a.body.className+=" FixedColumns_Cloned";
+a.body.getAttribute("id")!==null&&a.body.removeAttribute("id");$("thead tr:eq(0)",a.body).each(function(){$("th"+f,this).remove()});$("thead tr:gt(0)",a.body).remove();this._fnEqualiseHeights("tbody",g.dom.body,a.body,e,f);$("tfoot tr:eq(0)",a.body).each(function(){$("th"+f,this).remove()});$("tfoot tr:gt(0)",a.body).remove();a.body.style.position="absolute";a.body.style.top="0px";a.body.style.left="0px";a.body.style.width=d+"px";h=this.s.position=="absolute"?this.dom.scrollContainer:this.dom.body.parentNode;
+h.appendChild(a.body)}if(this.s.dt.nTFoot!==null)if(b){a.footer!==null&&a.footer.parentNode.removeChild(a.footer);a.footer=$(this.dom.footer).clone(true)[0];a.footer.className+=" FixedColumns_Cloned";a.footer.style.position="absolute";a.footer.style.top="0px";a.footer.style.left="0px";a.footer.style.width=d+"px";h=this.s.position=="absolute"?this.dom.scrollContainer:this.dom.footer.parentNode;h.appendChild(a.footer);this._fnEqualiseHeights("tfoot",this.dom.footer,a.footer,e,f);$("tfoot tr:eq(0)",
+a.footer).children().each(function(i){this.style.width=c[i]+"px"})}},_fnCopyClasses:function(a,b){a.className=b.className;for(var c=0,d=a.children.length;c<d;c++)b.children[c].nodeType==1&&this._fnCopyClasses(a.children[c],b.children[c])},_fnEqualiseHeights:function(a,b,c,d,e){var f=this,g,h=a=="tbody"&&this.s.heights.length>0?false:true;d=$(a+" tr:eq(0)",b).children(d);var i=d.outerHeight()-d.height(),k=$.browser.msie&&($.browser.version=="6.0"||$.browser.version=="7.0");$(a+" tr:eq(0) th",c).attr("rowspan")>
+1&&$(a+" tr:gt(0)",c).remove();$(a+" tr",c).each(function(j){$(this).children(e,this).remove();if(h){g=$(a+" tr:eq("+j+")",b).children(":first").height();a=="tbody"&&f.s.heights.push(g)}else g=f.s.heights[j];if($.browser.mozilla||$.browser.opera){$(this).children().height(g+i);$(a+" tr:eq("+j+")",b).height(g+i)}else $.browser.msie&&!k?$(this).children().height(g-1):$(this).children().height(g)})},_fnPosition:function(){var a=this.s.position=="absolute"?0:$(this.dom.scroller).scrollLeft(),b=this.dom.clone.left,
+c=this.dom.clone.right,d=$(this.s.dt.nTable.parentNode).width();if(this.s.position=="absolute"){var e=$(this.dom.body.parentNode).position().top;if(this.dom.footer)var f=$(this.dom.footer.parentNode.parentNode).position().top}if(this.s.leftColumns>0){b.header.style.left=a+"px";if(b.body!==null){b.body.style.left=a+"px";if(this.s.position=="absolute")b.body.style.top=e+"px"}if(this.dom.footer){b.footer.style.left=a+"px";if(this.s.position=="absolute")b.footer.style.top=f+"px"}}if(this.s.rightColumns>
+0){a=d-$(c.body).width()+a;c.header.style.left=a+"px";if(c.body!==null){c.body.style.left=a+"px";if(this.s.position=="absolute")c.body.style.top=e+"px"}if(this.dom.footer){c.footer.style.left=a+"px";if(this.s.position=="absolute")c.footer.style.top=f+"px"}}}};
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/right_column.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/right_column.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/right_column.html	(revision 6286)
@@ -0,0 +1,505 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedColumns example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned th { background-color: white; }
+			.FixedColumns_Cloned tr.odd { background-color: #DDFFDD !important; }
+			.FixedColumns_Cloned tr.even { background-color: #EEFFEE !important; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true
+				} );
+				new FixedColumns( oTable, {
+					"iColumns": 0,
+					"iRightColumns": 1
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>FixedColumns has only one initialisation parameter at the moment, which is "columns". With this parameter you can instruct FixedColumns to freeze more than a single column in place if you wish. The example below shows two columns fixed.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+ 	var oTable = $('#example').dataTable( {
+ 		"sScrollX": "100%",
+ 		"sScrollXInner": "150%",
+ 		"bScrollCollapse": true
+ 	} );
+ 	new FixedColumns( oTable, {
+		"iColumns": 0,
+		"iRightColumns": 1
+ 	} );
+ } );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/rowspan.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/rowspan.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/rowspan.html	(revision 6286)
@@ -0,0 +1,494 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedColumns example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true
+				} );
+				new FixedColumns( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example - rowspan in the header
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>If you are using multiple rows in the table header, it can be useful to have a rowspanning cell on the column(s) you have fixed in place - equally at other times it can be useful to not and make use of the two or more cells per column. FixedColumns will automatically take into account rowspan elements - as shown in this example.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th rowspan="2">Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+		<tr>
+			<th>Name and version</th>
+			<th>Operating systems</th>
+			<th>Rendering engine</th>
+			<th>Support level</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "150%",
+		"bScrollCollapse": true
+	} );
+	new FixedColumns( oTable );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/two_columns.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/two_columns.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/two_columns.html	(revision 6286)
@@ -0,0 +1,501 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedColumns example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true
+				} );
+				new FixedColumns( oTable, {
+					"iColumns": 2
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>FixedColumns allows more than one column to be frozen into place using hte <i>iColumns</i> parameter. The example below shows two columns fixed.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+ 	var oTable = $('#example').dataTable( {
+ 		"sScrollX": "100%",
+ 		"sScrollXInner": "150%",
+ 		"bScrollCollapse": true
+ 	} );
+ 	new FixedColumns( oTable, {
+ 		"iColumns": 2
+ 	} );
+ } );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/x_y_scrolling.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/x_y_scrolling.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/x_y_scrolling.html	(revision 6286)
@@ -0,0 +1,576 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedColumns example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			.FixedColumns_Cloned th { background-color: white; }
+			td.index { background-color: white; border-right: 1px solid black; }
+			table.display th.sorting_disabled { border-bottom: 1px solid white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/FixedColumns.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollY": "300px",
+					"sScrollX": "100%",
+					"sScrollXInner": "150%",
+					"bScrollCollapse": true,
+					"bPaginate": false,
+					"fnDrawCallback": function ( oSettings ) {
+						/* Need to redo the counters if filtered or sorted */
+						if ( oSettings.bSorted || oSettings.bFiltered ) {
+							for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ ) {
+								$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+							}
+						}
+					},
+					"aoColumnDefs": [
+						{ "bSortable": false, "sClass": "index", "aTargets": [ 0 ] }
+					],
+					"aaSorting": [[ 1, 'asc' ]]
+				} );
+				new FixedColumns( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedColumns example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example is basically the same as the <a href="index_column.html">index column example</a> but in this case shows pagination disabled and Y scrolling in use.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th width="3%">&nbsp;</th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td class="center">1</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">2</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">3</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">4</td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">5</td>
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">6</td>
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">7</td>
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">8</td>
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">9</td>
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">10</td>
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">11</td>
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">12</td>
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">13</td>
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">14</td>
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">15</td>
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">16</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">17</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">18</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">19</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">20</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">21</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">22</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">23</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">24</td>
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">25</td>
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">26</td>
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">27</td>
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">28</td>
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">29</td>
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">30</td>
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">31</td>
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">32</td>
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">33</td>
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">34</td>
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">35</td>
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">36</td>
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">37</td>
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">38</td>
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">39</td>
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">40</td>
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">41</td>
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">42</td>
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">43</td>
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">44</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">45</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">46</td>
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">47</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">48</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">49</td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">50</td>
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td class="center">51</td>
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">52</td>
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">53</td>
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td class="center">54</td>
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">55</td>
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td class="center">56</td>
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td class="center">57</td>
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sScrollY": "300px",
+		"sScrollX": "100%",
+		"sScrollXInner": "150%",
+		"bScrollCollapse": true,
+		"bPaginate": false,
+		"fnDrawCallback": function ( oSettings ) {
+			/* Need to redo the counters if filtered or sorted */
+			if ( oSettings.bSorted || oSettings.bFiltered ) {
+				for ( var i=0, iLen=oSettings.aiDisplay.length ; i&lt;iLen ; i++ ) {
+					$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+				}
+			}
+		},
+		"aoColumnDefs": [
+			{ "bSortable": false, "sClass": "index", "aTargets": [ 0 ] }
+		],
+		"aaSorting": [[ 1, 'asc' ]]
+	} );
+	new FixedColumns( oTable );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo of FixedColumns with zero initialisation</a></li>
+				<li><a href="index_column.html">Index column attached to side of the table</a></li>
+				<li><a href="x_y_scrolling.html">Index column, but with Y scrolling and no pagination</a></li>
+				<li><a href="two_columns.html">Two columns fixed in place</a></li>
+				<li><a href="col_filter.html">Individual column filtering</a></li>
+				<li><a href="rowspan.html">Rowspan on the fixed column</a></li>
+				<li><a href="right_column.html">Fix the right column in place</a></li>
+				<li><a href="left_right_columns.html">Fix the left and right columns in place</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedColumns and DataTables &copy; Allan Jardine 2011.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/html_table.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/html_table.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/html_table.html	(revision 6286)
@@ -0,0 +1,487 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedHeader example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+			.FixedHeader_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/FixedHeader.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				new FixedHeader( document.getElementById('example') );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedHeader example - HTML table
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>FixedHeader will work standalone as well (i.e. without DataTables), as can be seen in this example. The standard settings can be applied to FixedHeader to enhance the table.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	new FixedHeader( document.getElementById('example') );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo with just the HeaderFixed</a></li>
+				<li><a href="html_table.html">FixedHeader without requiring DataTables</a></li>
+				<li><a href="two_tables.html">Two tables with FixedHeaders on a single page</a></li>
+				<li><a href="top_bottom_left_right.html">A spreadsheet style layout with header and footer, left and right columns all fixed.</a></li>
+				<li><a href="zIndexes.html">Change the display order of the fixed elements (zIndex)</a></li>
+			</ul>
+		
+			<p>Empty paragraphs to force scrolling!...</p>
+			<p style="height:500px;">&nbsp;</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedHeader and DataTables &copy; Allan Jardine 2009-2010.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/index.html	(revision 6286)
@@ -0,0 +1,491 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedHeader example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+			.FixedHeader_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/FixedHeader.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				new FixedHeader( oTable );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedHeader example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When displaying large amounts of data in a table, it can often be useful for the end user to have the column titles (the "thead" element as a whole in fact) always visible. This is particularly true if using DataTables with pagination disabled, or the display length is set to a high value.</p>
+			<p>The "FixedHeader" add-on for DataTables will ensure that your column titles will scroll with the page, showing at the top of the table at all times. Try the demo shown below - you might want to try resizing the window for full effect! Note also that the column titles remain clickable to perform sorting on the table.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	new FixedHeader( oTable );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo with just the HeaderFixed</a></li>
+				<li><a href="html_table.html">FixedHeader without requiring DataTables</a></li>
+				<li><a href="two_tables.html">Two tables with FixedHeaders on a single page</a></li>
+				<li><a href="top_bottom_left_right.html">A spreadsheet style layout with header and footer, left and right columns all fixed.</a></li>
+				<li><a href="zIndexes.html">Change the display order of the fixed elements (zIndex)</a></li>
+			</ul>
+		
+			<p>Empty paragraphs to force scrolling!...</p>
+			<p style="height:500px;">&nbsp;</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedHeader and DataTables &copy; Allan Jardine 2009.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/js/FixedHeader.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/js/FixedHeader.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/js/FixedHeader.js	(revision 6286)
@@ -0,0 +1,876 @@
+/*
+ * File:        FixedHeader.js
+ * Version:     2.0.4
+ * Description: "Fix" a header at the top of the table, so it scrolls with the table
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     Wed 16 Sep 2009 19:46:30 BST
+ * Language:    Javascript
+ * License:     LGPL
+ * Project:     Just a little bit of fun - enjoy :-)
+ * Contact:     www.sprymedia.co.uk/contact
+ * 
+ * Copyright 2009-2010 Allan Jardine, all rights reserved.
+ */
+
+/*
+ * Function: FixedHeader
+ * Purpose:  Provide 'fixed' header, footer and columns on an HTML table
+ * Returns:  object:FixedHeader - must be called with 'new'
+ * Inputs:   mixed:mTable - target table
+ *					   1. DataTable object - when using FixedHeader with DataTables, or
+ *					   2. HTML table node - when using FixedHeader without DataTables
+ *           object:oInit - initialisation settings, with the following properties (each optional)
+ *             bool:top -    fix the header (default true)
+ *             bool:bottom - fix the footer (default false)
+ *             bool:left -   fix the left most column (default false)
+ *             bool:right -  fix the right most column (default false)
+ *             int:zTop -    fixed header zIndex
+ *             int:zBottom - fixed footer zIndex
+ *             int:zLeft -   fixed left zIndex
+ *             int:zRight -  fixed right zIndex
+ */
+var FixedHeader = function ( mTable, oInit ) {
+	/* Sanity check - you just know it will happen */
+	if ( typeof this.fnInit != 'function' )
+	{
+		alert( "FixedHeader warning: FixedHeader must be initialised with the 'new' keyword." );
+		return;
+	}
+	
+	var that = this;
+	var oSettings = {
+		"aoCache": [],
+		"oSides": {
+			"top": true,
+			"bottom": false,
+			"left": false,
+			"right": false
+		},
+		"oZIndexes": {
+			"top": 104,
+			"bottom": 103,
+			"left": 102,
+			"right": 101
+		},
+		"oMes": {
+			"iTableWidth": 0,
+			"iTableHeight": 0,
+			"iTableLeft": 0,
+			"iTableRight": 0, /* note this is left+width, not actually "right" */
+			"iTableTop": 0,
+			"iTableBottom": 0 /* note this is top+height, not actually "bottom" */
+		},
+		"nTable": null,
+		"bUseAbsPos": false,
+		"bFooter": false
+	};
+	
+	/*
+	 * Function: fnGetSettings
+	 * Purpose:  Get the settings for this object
+	 * Returns:  object: - settings object
+	 * Inputs:   -
+	 */
+	this.fnGetSettings = function () {
+		return oSettings;
+	};
+	
+	/*
+	 * Function: fnUpdate
+	 * Purpose:  Update the positioning and copies of the fixed elements
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	this.fnUpdate = function () {
+		this._fnUpdateClones();
+		this._fnUpdatePositions();
+	};
+	
+	/* Let's do it */
+	this.fnInit( mTable, oInit );
+};
+
+
+/*
+ * Variable: FixedHeader
+ * Purpose:  Prototype for FixedHeader
+ * Scope:    global
+ */
+FixedHeader.prototype = {
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Initialisation
+	 */
+	
+	/*
+	 * Function: fnInit
+	 * Purpose:  The "constructor"
+	 * Returns:  -
+	 * Inputs:   {as FixedHeader function}
+	 */
+	fnInit: function ( oTable, oInit )
+	{
+		var s = this.fnGetSettings();
+		var that = this;
+		
+		/* Record the user definable settings */
+		this.fnInitSettings( s, oInit );
+		
+		/* DataTables specific stuff */
+		if ( typeof oTable.fnSettings == 'function' )
+		{
+			if ( typeof oTable.fnVersionCheck == 'functon' &&
+			     oTable.fnVersionCheck( '1.6.0' ) !== true )
+			{
+				alert( "FixedHeader 2 required DataTables 1.6.0 or later. "+
+					"Please upgrade your DataTables installation" );
+				return;
+			}
+			
+			var oDtSettings = oTable.fnSettings();
+			
+			if ( oDtSettings.oScroll.sX != "" || oDtSettings.oScroll.sY != "" )
+			{
+				alert( "FixedHeader 2 is not supported with DataTables' scrolling mode at this time" );
+				return;
+			}
+			
+			s.nTable = oDtSettings.nTable;
+			oDtSettings.aoDrawCallback.push( {
+				"fn": function () {
+					FixedHeader.fnMeasure();
+					that._fnUpdateClones.call(that);
+					that._fnUpdatePositions.call(that);
+				},
+				"sName": "FixedHeader"
+			} );
+		}
+		else
+		{
+			s.nTable = oTable;
+		}
+		
+		s.bFooter = ($('>tfoot', s.nTable).length > 0) ? true : false;
+		
+		/* "Detect" browsers that don't support absolute positioing - or have bugs */
+		s.bUseAbsPos = (jQuery.browser.msie && (jQuery.browser.version=="6.0"||jQuery.browser.version=="7.0"));
+		
+		/* Add the 'sides' that are fixed */
+		if ( s.oSides.top )
+		{
+			s.aoCache.push( that._fnCloneTable( "fixedHeader", "FixedHeader_Header", that._fnCloneThead ) );
+		}
+		if ( s.oSides.bottom )
+		{
+			s.aoCache.push( that._fnCloneTable( "fixedFooter", "FixedHeader_Footer", that._fnCloneTfoot ) );
+		}
+		if ( s.oSides.left )
+		{
+			s.aoCache.push( that._fnCloneTable( "fixedLeft", "FixedHeader_Left", that._fnCloneTLeft ) );
+		}
+		if ( s.oSides.right )
+		{
+			s.aoCache.push( that._fnCloneTable( "fixedRight", "FixedHeader_Right", that._fnCloneTRight ) );
+		}
+		
+		/* Event listeners for window movement */
+		FixedHeader.afnScroll.push( function () {
+			that._fnUpdatePositions.call(that);
+		} );
+		
+		jQuery(window).resize( function () {
+			FixedHeader.fnMeasure();
+			that._fnUpdateClones.call(that);
+			that._fnUpdatePositions.call(that);
+		} );
+		
+		/* Get things right to start with */
+		FixedHeader.fnMeasure();
+		that._fnUpdateClones();
+		that._fnUpdatePositions();
+	},
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Support functions
+	 */
+	
+	/*
+	 * Function: fnInitSettings
+	 * Purpose:  Take the user's settings and copy them to our local store
+	 * Returns:  -
+	 * Inputs:   object:s - the local settings object
+	 *           object:oInit - the user's settings object
+	 */
+	fnInitSettings: function ( s, oInit )
+	{
+		if ( typeof oInit != 'undefined' )
+		{
+			if ( typeof oInit.top != 'undefined' ) {
+				s.oSides.top = oInit.top;
+			}
+			if ( typeof oInit.bottom != 'undefined' ) {
+				s.oSides.bottom = oInit.bottom;
+			}
+			if ( typeof oInit.left != 'undefined' ) {
+				s.oSides.left = oInit.left;
+			}
+			if ( typeof oInit.right != 'undefined' ) {
+				s.oSides.right = oInit.right;
+			}
+			
+			if ( typeof oInit.zTop != 'undefined' ) {
+				s.oZIndexes.top = oInit.zTop;
+			}
+			if ( typeof oInit.zBottom != 'undefined' ) {
+				s.oZIndexes.bottom = oInit.zBottom;
+			}
+			if ( typeof oInit.zLeft != 'undefined' ) {
+				s.oZIndexes.left = oInit.zLeft;
+			}
+			if ( typeof oInit.zRight != 'undefined' ) {
+				s.oZIndexes.right = oInit.zRight;
+			}
+		}
+		
+		/* Detect browsers which have poor position:fixed support so we can use absolute positions.
+		 * This is much slower since the position must be updated for each scroll, but widens
+		 * compatibility
+		 */
+		s.bUseAbsPos = (jQuery.browser.msie && 
+			(jQuery.browser.version=="6.0"||jQuery.browser.version=="7.0"));
+	},
+	
+	/*
+	 * Function: _fnCloneTable
+	 * Purpose:  Clone the table node and do basic initialisation
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	_fnCloneTable: function ( sType, sClass, fnClone )
+	{
+		var s = this.fnGetSettings();
+		var nCTable;
+		
+		/* We know that the table _MUST_ has a DIV wrapped around it, because this is simply how
+		 * DataTables works. Therefore, we can set this to be relatively position (if it is not
+		 * alreadu absolute, and use this as the base point for the cloned header
+		 */
+		if ( jQuery(s.nTable.parentNode).css('position') != "absolute" )
+		{
+			s.nTable.parentNode.style.position = "relative";
+		}
+		
+		/* Just a shallow clone will do - we only want the table node */
+		nCTable = s.nTable.cloneNode( false );
+		
+		var nDiv = document.createElement( 'div' );
+		nDiv.style.position = "absolute";
+		nDiv.className += " FixedHeader_Cloned "+sType+" "+sClass;
+		
+		/* Set the zIndexes */
+		if ( sType == "fixedHeader" )
+		{
+			nDiv.style.zIndex = s.oZIndexes.top;
+		}
+		if ( sType == "fixedFooter" )
+		{
+			nDiv.style.zIndex = s.oZIndexes.bottom;
+		}
+		if ( sType == "fixedLeft" )
+		{
+			nDiv.style.zIndex = s.oZIndexes.left;
+		}
+		else if ( sType == "fixedRight" )
+		{
+			nDiv.style.zIndex = s.oZIndexes.right;
+		}
+		
+		/* Insert the newly cloned table into the DOM, on top of the "real" header */
+		nDiv.appendChild( nCTable );
+		document.body.appendChild( nDiv );
+		
+		return {
+			"nNode": nCTable,
+			"nWrapper": nDiv,
+			"sType": sType,
+			"sPosition": "",
+			"sTop": "",
+			"sLeft": "",
+			"fnClone": fnClone
+		};
+	},
+	
+	/*
+	 * Function: _fnUpdatePositions
+	 * Purpose:  Get the current positioning of the table in the DOM
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	_fnMeasure: function ()
+	{
+		var
+			s = this.fnGetSettings(),
+			m = s.oMes,
+			jqTable = jQuery(s.nTable),
+			oOffset = jqTable.offset(),
+			iParentScrollTop = this._fnSumScroll( s.nTable.parentNode, 'scrollTop' ),
+			iParentScrollLeft = this._fnSumScroll( s.nTable.parentNode, 'scrollLeft' );
+		
+		m.iTableWidth = jqTable.outerWidth();
+		m.iTableHeight = jqTable.outerHeight();
+		m.iTableLeft = oOffset.left + s.nTable.parentNode.scrollLeft;
+		m.iTableTop = oOffset.top + iParentScrollTop;
+		m.iTableRight = m.iTableLeft + m.iTableWidth;
+		m.iTableRight = FixedHeader.oDoc.iWidth - m.iTableLeft - m.iTableWidth;
+		m.iTableBottom = FixedHeader.oDoc.iHeight - m.iTableTop - m.iTableHeight;
+	},
+	
+	/*
+	 * Function: _fnSumScroll
+	 * Purpose:  Sum node parameters all the way to the top
+	 * Returns:  int: sum
+	 * Inputs:   node:n - node to consider
+	 *           string:side - scrollTop or scrollLeft
+	 */
+	_fnSumScroll: function ( n, side )
+	{
+		var i = n[side];
+		while ( n = n.parentNode )
+		{
+			if ( n.nodeName != 'HTML' && n.nodeName != 'BODY' )
+			{
+				break;
+			}
+			i = n[side];
+		}
+		return i;
+	},
+	
+	/*
+	 * Function: _fnUpdatePositions
+	 * Purpose:  Loop over the fixed elements for this table and update their positions
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	_fnUpdatePositions: function ()
+	{
+		var s = this.fnGetSettings();
+		this._fnMeasure();
+		
+		for ( var i=0, iLen=s.aoCache.length ; i<iLen ; i++ )
+		{
+			if ( s.aoCache[i].sType == "fixedHeader" )
+			{
+				this._fnScrollFixedHeader( s.aoCache[i] );
+			}
+			else if ( s.aoCache[i].sType == "fixedFooter" )
+			{
+				this._fnScrollFixedFooter( s.aoCache[i] );
+			}
+			else if ( s.aoCache[i].sType == "fixedLeft" )
+			{
+				this._fnScrollHorizontalLeft( s.aoCache[i] );
+			}
+			else
+			{
+				this._fnScrollHorizontalRight( s.aoCache[i] );
+			}
+		}
+	},
+	
+	/*
+	 * Function: _fnUpdateClones
+	 * Purpose:  Loop over the fixed elements for this table and call their cloning functions
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	_fnUpdateClones: function ()
+	{
+		var s = this.fnGetSettings();
+		for ( var i=0, iLen=s.aoCache.length ; i<iLen ; i++ )
+		{
+			s.aoCache[i].fnClone.call( this, s.aoCache[i] );
+		}
+	},
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Scrolling functions
+	 */
+	
+	/*
+	 * Function: _fnScrollHorizontalLeft
+	 * Purpose:  Update the positioning of the scrolling elements
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnScrollHorizontalRight: function ( oCache )
+	{
+		var
+			s = this.fnGetSettings(),
+			oMes = s.oMes,
+			oWin = FixedHeader.oWin,
+			oDoc = FixedHeader.oDoc,
+			nTable = oCache.nWrapper,
+			iFixedWidth = jQuery(nTable).outerWidth();
+		
+		if ( oWin.iScrollRight < oMes.iTableRight )
+		{
+			/* Fully right aligned */
+			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', (oMes.iTableLeft+oMes.iTableWidth-iFixedWidth)+"px", 'left', nTable.style );	
+		}
+		else if ( oMes.iTableLeft < oDoc.iWidth-oWin.iScrollRight-iFixedWidth )
+		{
+			/* Middle */
+			if ( s.bUseAbsPos )
+			{
+				this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', (oDoc.iWidth-oWin.iScrollRight-iFixedWidth)+"px", 'left', nTable.style );
+			}
+			else
+			{
+				this._fnUpdateCache( oCache, 'sPosition', 'fixed', 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', (oMes.iTableTop-oWin.iScrollTop)+"px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', (oWin.iWidth-iFixedWidth)+"px", 'left', nTable.style );
+			}	
+		}
+		else
+		{
+			/* Fully left aligned */
+			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );	
+		}
+	},
+	
+	/*
+	 * Function: _fnScrollHorizontalLeft
+	 * Purpose:  Update the positioning of the scrolling elements
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnScrollHorizontalLeft: function ( oCache )
+	{
+		var
+			s = this.fnGetSettings(),
+			oMes = s.oMes,
+			oWin = FixedHeader.oWin,
+			oDoc = FixedHeader.oDoc,
+			nTable = oCache.nWrapper,
+			iCellWidth = jQuery(nTable).outerWidth();
+		
+		if ( oWin.iScrollLeft < oMes.iTableLeft )
+		{
+			/* Fully left align */
+			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );	
+		}
+		else if ( oWin.iScrollLeft < oMes.iTableLeft+oMes.iTableWidth-iCellWidth )
+		{
+			/* Middle */
+			if ( s.bUseAbsPos )
+			{
+				this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', oWin.iScrollLeft+"px", 'left', nTable.style );
+			}
+			else
+			{
+				this._fnUpdateCache( oCache, 'sPosition', 'fixed', 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', (oMes.iTableTop-oWin.iScrollTop)+"px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', "0px", 'left', nTable.style );
+			}	
+		}
+		else
+		{
+			/* Fully right align */
+			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', (oMes.iTableLeft+oMes.iTableWidth-iCellWidth)+"px", 'left', nTable.style );	
+		}
+	},
+	
+	/*
+	 * Function: _fnScrollFixedFooter
+	 * Purpose:  Update the positioning of the scrolling elements
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnScrollFixedFooter: function ( oCache )
+	{
+		var
+			s = this.fnGetSettings(),
+			oMes = s.oMes,
+			oWin = FixedHeader.oWin,
+			oDoc = FixedHeader.oDoc,
+			nTable = oCache.nWrapper,
+			iTheadHeight = jQuery("thead", s.nTable).outerHeight(),
+			iCellHeight = jQuery(nTable).outerHeight();
+		
+		if ( oWin.iScrollBottom < oMes.iTableBottom )
+		{
+			/* Below */
+			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', (oMes.iTableTop+oMes.iTableHeight-iCellHeight)+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );	
+		}
+		else if ( oWin.iScrollBottom < oMes.iTableBottom+oMes.iTableHeight-iCellHeight-iTheadHeight )
+		{
+			/* Middle */
+			if ( s.bUseAbsPos )
+			{
+				this._fnUpdateCache( oCache, 'sPosition', "absolute", 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', (oDoc.iHeight-oWin.iScrollBottom-iCellHeight)+"px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );
+			}
+			else
+			{
+				this._fnUpdateCache( oCache, 'sPosition', 'fixed', 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', (oWin.iHeight-iCellHeight)+"px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', (oMes.iTableLeft-oWin.iScrollLeft)+"px", 'left', nTable.style );	
+			}
+		}
+		else
+		{
+			/* Above */
+			this._fnUpdateCache( oCache, 'sPosition', 'absolute', 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', (oMes.iTableTop+iCellHeight)+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );	
+		}
+	},
+	
+	/*
+	 * Function: _fnScrollFixedHeader
+	 * Purpose:  Update the positioning of the scrolling elements
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnScrollFixedHeader: function ( oCache )
+	{
+		var
+			s = this.fnGetSettings(),
+			oMes = s.oMes,
+			oWin = FixedHeader.oWin,
+			oDoc = FixedHeader.oDoc,
+			nTable = oCache.nWrapper,
+			iTbodyHeight = s.nTable.getElementsByTagName('tbody')[0].offsetHeight;
+		
+		if ( oMes.iTableTop > oWin.iScrollTop )
+		{
+			/* Above the table */
+			this._fnUpdateCache( oCache, 'sPosition', "absolute", 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', oMes.iTableTop+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );
+		}
+		else if ( oWin.iScrollTop > oMes.iTableTop+iTbodyHeight )
+		{
+			/* At the bottom of the table */
+			this._fnUpdateCache( oCache, 'sPosition', "absolute", 'position', nTable.style );
+			this._fnUpdateCache( oCache, 'sTop', (oMes.iTableTop+iTbodyHeight)+"px", 'top', nTable.style );
+			this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );
+		}
+		else
+		{
+			/* In the middle of the table */
+			if ( s.bUseAbsPos )
+			{
+				this._fnUpdateCache( oCache, 'sPosition', "absolute", 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', oWin.iScrollTop+"px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', oMes.iTableLeft+"px", 'left', nTable.style );
+			}
+			else
+			{
+				this._fnUpdateCache( oCache, 'sPosition', 'fixed', 'position', nTable.style );
+				this._fnUpdateCache( oCache, 'sTop', "0px", 'top', nTable.style );
+				this._fnUpdateCache( oCache, 'sLeft', (oMes.iTableLeft-oWin.iScrollLeft)+"px", 'left', nTable.style );
+			}
+		}
+	},
+	
+	/*
+	 * Function: _fnUpdateCache
+	 * Purpose:  Check the cache and update cache and value if needed
+	 * Returns:  -
+	 * Inputs:   object:oCache - local cache object
+	 *           string:sCache - cache property
+	 *           string:sSet - value to set
+	 *           string:sProperty - object property to set
+	 *           object:oObj - object to update
+	 */
+	_fnUpdateCache: function ( oCache, sCache, sSet, sProperty, oObj )
+	{
+		if ( oCache[sCache] != sSet )
+		{
+			oObj[sProperty] = sSet;
+			oCache[sCache] = sSet;
+		}
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Cloning functions
+	 */
+	
+	/*
+	 * Function: _fnCloneThead
+	 * Purpose:  Clone the thead element
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnCloneThead: function ( oCache )
+	{
+		var s = this.fnGetSettings();
+		var nTable = oCache.nNode;
+		
+		/* Set the wrapper width to match that of the cloned table */
+		oCache.nWrapper.style.width = jQuery(s.nTable).outerWidth()+"px";
+		
+		/* Remove any children the cloned table has */
+		while ( nTable.childNodes.length > 0 )
+		{
+			jQuery('thead th', nTable).unbind( 'click' );
+			nTable.removeChild( nTable.childNodes[0] );
+		}
+		
+		/* Clone the DataTables header */
+		var nThead = jQuery('thead', s.nTable).clone(true)[0];
+		nTable.appendChild( nThead );
+		
+		/* Copy the widths across - apparently a clone isn't good enough for this */
+		jQuery("thead:eq(0)>tr th", s.nTable).each( function (i) {
+			jQuery("thead:eq(0)>tr th:eq("+i+")", nTable).width( jQuery(this).width() );
+		} );
+		
+		jQuery("thead:eq(0)>tr td", s.nTable).each( function (i) {
+			jQuery("thead:eq(0)>tr th:eq("+i+")", nTable)[0].style.width( jQuery(this).width() );
+		} );
+	},
+	
+	/*
+	 * Function: _fnCloneTfoot
+	 * Purpose:  Clone the tfoot element
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnCloneTfoot: function ( oCache )
+	{
+		var s = this.fnGetSettings();
+		var nTable = oCache.nNode;
+		
+		/* Set the wrapper width to match that of the cloned table */
+		oCache.nWrapper.style.width = jQuery(s.nTable).outerWidth()+"px";
+		
+		/* Remove any children the cloned table has */
+		while ( nTable.childNodes.length > 0 )
+		{
+			nTable.removeChild( nTable.childNodes[0] );
+		}
+		
+		/* Clone the DataTables footer */
+		var nTfoot = jQuery('tfoot', s.nTable).clone(true)[0];
+		nTable.appendChild( nTfoot );
+		
+		/* Copy the widths across - apparently a clone isn't good enough for this */
+		jQuery("tfoot:eq(0)>tr th", s.nTable).each( function (i) {
+			jQuery("tfoot:eq(0)>tr th:eq("+i+")", nTable).width( jQuery(this).width() );
+		} );
+		
+		jQuery("tfoot:eq(0)>tr td", s.nTable).each( function (i) {
+			jQuery("tfoot:eq(0)>tr th:eq("+i+")", nTable)[0].style.width( jQuery(this).width() );
+		} );
+	},
+	
+	/*
+	 * Function: _fnCloneTLeft
+	 * Purpose:  Clone the left column
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnCloneTLeft: function ( oCache )
+	{
+		var s = this.fnGetSettings();
+		var nTable = oCache.nNode;
+		var iCols = jQuery('tbody tr:eq(0) td', s.nTable).length;
+		var bRubbishOldIE = ($.browser.msie && ($.browser.version == "6.0" || $.browser.version == "7.0"));
+		
+		/* Remove any children the cloned table has */
+		while ( nTable.childNodes.length > 0 )
+		{
+			nTable.removeChild( nTable.childNodes[0] );
+		}
+		
+		/* Is this the most efficient way to do this - it looks horrible... */
+		nTable.appendChild( jQuery("thead", s.nTable).clone(true)[0] );
+		nTable.appendChild( jQuery("tbody", s.nTable).clone(true)[0] );
+		if ( s.bFooter )
+		{
+			nTable.appendChild( jQuery("tfoot", s.nTable).clone(true)[0] );
+		}
+		
+		jQuery('thead tr th:gt(0)', nTable).remove();
+		jQuery('tfoot tr th:gt(0)', nTable).remove();
+		
+		/* Basically the same as used in FixedColumns - remove and copy heights */
+		$('tbody tr', nTable).each( function (k) {
+			$('td:gt(0)', this).remove();
+			
+			/* Can we use some kind of object detection here?! This is very nasty - damn browsers */
+			if ( $.browser.mozilla || $.browser.opera )
+			{
+				$('td', this).height( $('tbody tr:eq('+k+')', that.dom.body).outerHeight() );
+			}
+			else
+			{
+				$('td', this).height( $('tbody tr:eq('+k+')', that.dom.body).outerHeight() - iBoxHack );
+			}
+			
+			if ( !bRubbishOldIE )
+			{
+				$('tbody tr:eq('+k+')', that.dom.body).height( $('tbody tr:eq('+k+')', that.dom.body).outerHeight() );		
+			}
+		} );
+		
+		var iWidth = jQuery('thead tr th:eq(0)', s.nTable).outerWidth();
+		nTable.style.width = iWidth+"px";
+		oCache.nWrapper.style.width = iWidth+"px";
+	},
+	
+	/*
+	 * Function: _fnCloneTRight
+	 * Purpose:  Clone the right most colun
+	 * Returns:  -
+	 * Inputs:   object:oCache - the cahced values for this fixed element
+	 */
+	_fnCloneTRight: function ( oCache )
+	{
+		var s = this.fnGetSettings();
+		var nTable = oCache.nNode;
+		var iCols = jQuery('tbody tr:eq(0) td', s.nTable).length;
+		var bRubbishOldIE = ($.browser.msie && ($.browser.version == "6.0" || $.browser.version == "7.0"));
+		
+		/* Remove any children the cloned table has */
+		while ( nTable.childNodes.length > 0 )
+		{
+			nTable.removeChild( nTable.childNodes[0] );
+		}
+		
+		/* Is this the most efficient way to do this - it looks horrible... */
+		nTable.appendChild( jQuery("thead", s.nTable).clone(true)[0] );
+		nTable.appendChild( jQuery("tbody", s.nTable).clone(true)[0] );
+		if ( s.bFooter )
+		{
+			nTable.appendChild( jQuery("tfoot", s.nTable).clone(true)[0] );
+		}
+		jQuery('thead tr th:not(:nth-child('+iCols+'n))', nTable).remove();
+		jQuery('tfoot tr th:not(:nth-child('+iCols+'n))', nTable).remove();
+		
+		/* Basically the same as used in FixedColumns - remove and copy heights */
+		$('tbody tr', nTable).each( function (k) {
+			$('td:lt('+iCols-1+')', this).remove();
+			
+			/* Can we use some kind of object detection here?! This is very nasty - damn browsers */
+			if ( $.browser.mozilla || $.browser.opera )
+			{
+				$('td', this).height( $('tbody tr:eq('+k+')', that.dom.body).outerHeight() );
+			}
+			else
+			{
+				$('td', this).height( $('tbody tr:eq('+k+')', that.dom.body).outerHeight() - iBoxHack );
+			}
+			
+			if ( !bRubbishOldIE )
+			{
+				$('tbody tr:eq('+k+')', that.dom.body).height( $('tbody tr:eq('+k+')', that.dom.body).outerHeight() );		
+			}
+		} );
+		
+		var iWidth = jQuery('thead tr th:eq('+(iCols-1)+')', s.nTable).outerWidth();
+		nTable.style.width = iWidth+"px";
+		oCache.nWrapper.style.width = iWidth+"px";
+	}
+};
+
+	
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Static properties and methods
+ *   We use these for speed! This information is common to all instances of FixedHeader, so no
+ * point if having them calculated and stored for each different instance.
+ */
+
+/*
+ * Variable: oWin
+ * Purpose:  Store information about the window positioning
+ * Scope:    FixedHeader
+ */
+FixedHeader.oWin = {
+	"iScrollTop": 0,
+	"iScrollRight": 0,
+	"iScrollBottom": 0,
+	"iScrollLeft": 0,
+	"iHeight": 0,
+	"iWidth": 0
+};
+
+/*
+ * Variable: oDoc
+ * Purpose:  Store information about the document size
+ * Scope:    FixedHeader
+ */
+FixedHeader.oDoc = {
+	"iHeight": 0,
+	"iWidth": 0
+};
+
+/*
+ * Variable: afnScroll
+ * Purpose:  Array of functions that are to be used for the scrolling components
+ * Scope:    FixedHeader
+ */
+FixedHeader.afnScroll = [];
+
+/*
+ * Function: fnMeasure
+ * Purpose:  Update the measurements for the window and document
+ * Returns:  -
+ * Inputs:   -
+ */
+FixedHeader.fnMeasure = function ()
+{
+	var
+		jqWin = jQuery(window),
+		jqDoc = jQuery(document),
+		oWin = FixedHeader.oWin,
+		oDoc = FixedHeader.oDoc;
+	
+	oDoc.iHeight = jqDoc.height();
+	oDoc.iWidth = jqDoc.width();
+	
+	oWin.iHeight = jqWin.height();
+	oWin.iWidth = jqWin.width();
+	oWin.iScrollTop = jqWin.scrollTop();
+	oWin.iScrollLeft = jqWin.scrollLeft();
+	oWin.iScrollRight = oDoc.iWidth - oWin.iScrollLeft - oWin.iWidth;
+	oWin.iScrollBottom = oDoc.iHeight - oWin.iScrollTop - oWin.iHeight;
+};
+
+	
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Global processing
+ */
+
+/*
+ * Just one 'scroll' event handler in FixedHeader, which calls the required components. This is
+ * done as an optimisation, to reduce calculation and proagation time
+ */
+jQuery(window).scroll( function () {
+	FixedHeader.fnMeasure();
+	for ( var i=0, iLen=FixedHeader.afnScroll.length ; i<iLen ; i++ )
+	{
+		FixedHeader.afnScroll[i]();
+	}
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/js/FixedHeader.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/js/FixedHeader.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/js/FixedHeader.min.js	(revision 6286)
@@ -0,0 +1,115 @@
+/*
+ * File:        FixedHeader.min.js
+ * Version:     2.0.4
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * 
+ * Copyright 2009-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD (3 point) style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+var FixedHeader=function(b,a){if(typeof this.fnInit!="function"){alert("FixedHeader warning: FixedHeader must be initialised with the 'new' keyword.");
+return}var c=this;var d={aoCache:[],oSides:{top:true,bottom:false,left:false,right:false},oZIndexes:{top:104,bottom:103,left:102,right:101},oMes:{iTableWidth:0,iTableHeight:0,iTableLeft:0,iTableRight:0,iTableTop:0,iTableBottom:0},nTable:null,bUseAbsPos:false,bFooter:false};
+this.fnGetSettings=function(){return d};this.fnUpdate=function(){this._fnUpdateClones();
+this._fnUpdatePositions()};this.fnInit(b,a)};FixedHeader.prototype={fnInit:function(b,a){var c=this.fnGetSettings();
+var d=this;this.fnInitSettings(c,a);if(typeof b.fnSettings=="function"){if(typeof b.fnVersionCheck=="functon"&&b.fnVersionCheck("1.6.0")!==true){alert("FixedHeader 2 required DataTables 1.6.0 or later. Please upgrade your DataTables installation");
+return}var e=b.fnSettings();if(e.oScroll.sX!=""||e.oScroll.sY!=""){alert("FixedHeader 2 is not supported with DataTables' scrolling mode at this time");
+return}c.nTable=e.nTable;e.aoDrawCallback.push({fn:function(){FixedHeader.fnMeasure();
+d._fnUpdateClones.call(d);d._fnUpdatePositions.call(d)},sName:"FixedHeader"})}else{c.nTable=b
+}c.bFooter=($(">tfoot",c.nTable).length>0)?true:false;c.bUseAbsPos=(jQuery.browser.msie&&(jQuery.browser.version=="6.0"||jQuery.browser.version=="7.0"));
+if(c.oSides.top){c.aoCache.push(d._fnCloneTable("fixedHeader","FixedHeader_Header",d._fnCloneThead))
+}if(c.oSides.bottom){c.aoCache.push(d._fnCloneTable("fixedFooter","FixedHeader_Footer",d._fnCloneTfoot))
+}if(c.oSides.left){c.aoCache.push(d._fnCloneTable("fixedLeft","FixedHeader_Left",d._fnCloneTLeft))
+}if(c.oSides.right){c.aoCache.push(d._fnCloneTable("fixedRight","FixedHeader_Right",d._fnCloneTRight))
+}FixedHeader.afnScroll.push(function(){d._fnUpdatePositions.call(d)});jQuery(window).resize(function(){FixedHeader.fnMeasure();
+d._fnUpdateClones.call(d);d._fnUpdatePositions.call(d)});FixedHeader.fnMeasure();
+d._fnUpdateClones();d._fnUpdatePositions()},fnInitSettings:function(b,a){if(typeof a!="undefined"){if(typeof a.top!="undefined"){b.oSides.top=a.top
+}if(typeof a.bottom!="undefined"){b.oSides.bottom=a.bottom}if(typeof a.left!="undefined"){b.oSides.left=a.left
+}if(typeof a.right!="undefined"){b.oSides.right=a.right}if(typeof a.zTop!="undefined"){b.oZIndexes.top=a.zTop
+}if(typeof a.zBottom!="undefined"){b.oZIndexes.bottom=a.zBottom}if(typeof a.zLeft!="undefined"){b.oZIndexes.left=a.zLeft
+}if(typeof a.zRight!="undefined"){b.oZIndexes.right=a.zRight}}b.bUseAbsPos=(jQuery.browser.msie&&(jQuery.browser.version=="6.0"||jQuery.browser.version=="7.0"))
+},_fnCloneTable:function(f,e,d){var b=this.fnGetSettings();var a;if(jQuery(b.nTable.parentNode).css("position")!="absolute"){b.nTable.parentNode.style.position="relative"
+}a=b.nTable.cloneNode(false);var c=document.createElement("div");c.style.position="absolute";
+c.className+=" FixedHeader_Cloned "+f+" "+e;if(f=="fixedHeader"){c.style.zIndex=b.oZIndexes.top
+}if(f=="fixedFooter"){c.style.zIndex=b.oZIndexes.bottom}if(f=="fixedLeft"){c.style.zIndex=b.oZIndexes.left
+}else{if(f=="fixedRight"){c.style.zIndex=b.oZIndexes.right}}c.appendChild(a);document.body.appendChild(c);
+return{nNode:a,nWrapper:c,sType:f,sPosition:"",sTop:"",sLeft:"",fnClone:d}},_fnMeasure:function(){var d=this.fnGetSettings(),a=d.oMes,c=jQuery(d.nTable),b=c.offset(),f=this._fnSumScroll(d.nTable.parentNode,"scrollTop"),e=this._fnSumScroll(d.nTable.parentNode,"scrollLeft");
+a.iTableWidth=c.outerWidth();a.iTableHeight=c.outerHeight();a.iTableLeft=b.left+d.nTable.parentNode.scrollLeft;
+a.iTableTop=b.top+f;a.iTableRight=a.iTableLeft+a.iTableWidth;a.iTableRight=FixedHeader.oDoc.iWidth-a.iTableLeft-a.iTableWidth;
+a.iTableBottom=FixedHeader.oDoc.iHeight-a.iTableTop-a.iTableHeight},_fnSumScroll:function(c,b){var a=c[b];
+while(c=c.parentNode){if(c.nodeName!="HTML"&&c.nodeName!="BODY"){break}a=c[b]}return a
+},_fnUpdatePositions:function(){var c=this.fnGetSettings();this._fnMeasure();for(var b=0,a=c.aoCache.length;
+b<a;b++){if(c.aoCache[b].sType=="fixedHeader"){this._fnScrollFixedHeader(c.aoCache[b])
+}else{if(c.aoCache[b].sType=="fixedFooter"){this._fnScrollFixedFooter(c.aoCache[b])
+}else{if(c.aoCache[b].sType=="fixedLeft"){this._fnScrollHorizontalLeft(c.aoCache[b])
+}else{this._fnScrollHorizontalRight(c.aoCache[b])}}}}},_fnUpdateClones:function(){var c=this.fnGetSettings();
+for(var b=0,a=c.aoCache.length;b<a;b++){c.aoCache[b].fnClone.call(this,c.aoCache[b])
+}},_fnScrollHorizontalRight:function(g){var e=this.fnGetSettings(),f=e.oMes,b=FixedHeader.oWin,a=FixedHeader.oDoc,d=g.nWrapper,c=jQuery(d).outerWidth();
+if(b.iScrollRight<f.iTableRight){this._fnUpdateCache(g,"sPosition","absolute","position",d.style);
+this._fnUpdateCache(g,"sTop",f.iTableTop+"px","top",d.style);this._fnUpdateCache(g,"sLeft",(f.iTableLeft+f.iTableWidth-c)+"px","left",d.style)
+}else{if(f.iTableLeft<a.iWidth-b.iScrollRight-c){if(e.bUseAbsPos){this._fnUpdateCache(g,"sPosition","absolute","position",d.style);
+this._fnUpdateCache(g,"sTop",f.iTableTop+"px","top",d.style);this._fnUpdateCache(g,"sLeft",(a.iWidth-b.iScrollRight-c)+"px","left",d.style)
+}else{this._fnUpdateCache(g,"sPosition","fixed","position",d.style);this._fnUpdateCache(g,"sTop",(f.iTableTop-b.iScrollTop)+"px","top",d.style);
+this._fnUpdateCache(g,"sLeft",(b.iWidth-c)+"px","left",d.style)}}else{this._fnUpdateCache(g,"sPosition","absolute","position",d.style);
+this._fnUpdateCache(g,"sTop",f.iTableTop+"px","top",d.style);this._fnUpdateCache(g,"sLeft",f.iTableLeft+"px","left",d.style)
+}}},_fnScrollHorizontalLeft:function(g){var e=this.fnGetSettings(),f=e.oMes,b=FixedHeader.oWin,a=FixedHeader.oDoc,c=g.nWrapper,d=jQuery(c).outerWidth();
+if(b.iScrollLeft<f.iTableLeft){this._fnUpdateCache(g,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(g,"sTop",f.iTableTop+"px","top",c.style);this._fnUpdateCache(g,"sLeft",f.iTableLeft+"px","left",c.style)
+}else{if(b.iScrollLeft<f.iTableLeft+f.iTableWidth-d){if(e.bUseAbsPos){this._fnUpdateCache(g,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(g,"sTop",f.iTableTop+"px","top",c.style);this._fnUpdateCache(g,"sLeft",b.iScrollLeft+"px","left",c.style)
+}else{this._fnUpdateCache(g,"sPosition","fixed","position",c.style);this._fnUpdateCache(g,"sTop",(f.iTableTop-b.iScrollTop)+"px","top",c.style);
+this._fnUpdateCache(g,"sLeft","0px","left",c.style)}}else{this._fnUpdateCache(g,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(g,"sTop",f.iTableTop+"px","top",c.style);this._fnUpdateCache(g,"sLeft",(f.iTableLeft+f.iTableWidth-d)+"px","left",c.style)
+}}},_fnScrollFixedFooter:function(h){var f=this.fnGetSettings(),g=f.oMes,b=FixedHeader.oWin,a=FixedHeader.oDoc,c=h.nWrapper,e=jQuery("thead",f.nTable).outerHeight(),d=jQuery(c).outerHeight();
+if(b.iScrollBottom<g.iTableBottom){this._fnUpdateCache(h,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(h,"sTop",(g.iTableTop+g.iTableHeight-d)+"px","top",c.style);this._fnUpdateCache(h,"sLeft",g.iTableLeft+"px","left",c.style)
+}else{if(b.iScrollBottom<g.iTableBottom+g.iTableHeight-d-e){if(f.bUseAbsPos){this._fnUpdateCache(h,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(h,"sTop",(a.iHeight-b.iScrollBottom-d)+"px","top",c.style);this._fnUpdateCache(h,"sLeft",g.iTableLeft+"px","left",c.style)
+}else{this._fnUpdateCache(h,"sPosition","fixed","position",c.style);this._fnUpdateCache(h,"sTop",(b.iHeight-d)+"px","top",c.style);
+this._fnUpdateCache(h,"sLeft",(g.iTableLeft-b.iScrollLeft)+"px","left",c.style)}}else{this._fnUpdateCache(h,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(h,"sTop",(g.iTableTop+d)+"px","top",c.style);this._fnUpdateCache(h,"sLeft",g.iTableLeft+"px","left",c.style)
+}}},_fnScrollFixedHeader:function(g){var d=this.fnGetSettings(),f=d.oMes,b=FixedHeader.oWin,a=FixedHeader.oDoc,c=g.nWrapper,e=d.nTable.getElementsByTagName("tbody")[0].offsetHeight;
+if(f.iTableTop>b.iScrollTop){this._fnUpdateCache(g,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(g,"sTop",f.iTableTop+"px","top",c.style);this._fnUpdateCache(g,"sLeft",f.iTableLeft+"px","left",c.style)
+}else{if(b.iScrollTop>f.iTableTop+e){this._fnUpdateCache(g,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(g,"sTop",(f.iTableTop+e)+"px","top",c.style);this._fnUpdateCache(g,"sLeft",f.iTableLeft+"px","left",c.style)
+}else{if(d.bUseAbsPos){this._fnUpdateCache(g,"sPosition","absolute","position",c.style);
+this._fnUpdateCache(g,"sTop",b.iScrollTop+"px","top",c.style);this._fnUpdateCache(g,"sLeft",f.iTableLeft+"px","left",c.style)
+}else{this._fnUpdateCache(g,"sPosition","fixed","position",c.style);this._fnUpdateCache(g,"sTop","0px","top",c.style);
+this._fnUpdateCache(g,"sLeft",(f.iTableLeft-b.iScrollLeft)+"px","left",c.style)}}}},_fnUpdateCache:function(e,c,b,d,a){if(e[c]!=b){a[d]=b;
+e[c]=b}},_fnCloneThead:function(d){var c=this.fnGetSettings();var a=d.nNode;d.nWrapper.style.width=jQuery(c.nTable).outerWidth()+"px";
+while(a.childNodes.length>0){jQuery("thead th",a).unbind("click");a.removeChild(a.childNodes[0])
+}var b=jQuery("thead",c.nTable).clone(true)[0];a.appendChild(b);jQuery("thead:eq(0)>tr th",c.nTable).each(function(e){jQuery("thead:eq(0)>tr th:eq("+e+")",a).width(jQuery(this).width())
+});jQuery("thead:eq(0)>tr td",c.nTable).each(function(e){jQuery("thead:eq(0)>tr th:eq("+e+")",a)[0].style.width(jQuery(this).width())
+})},_fnCloneTfoot:function(d){var c=this.fnGetSettings();var a=d.nNode;d.nWrapper.style.width=jQuery(c.nTable).outerWidth()+"px";
+while(a.childNodes.length>0){a.removeChild(a.childNodes[0])}var b=jQuery("tfoot",c.nTable).clone(true)[0];
+a.appendChild(b);jQuery("tfoot:eq(0)>tr th",c.nTable).each(function(e){jQuery("tfoot:eq(0)>tr th:eq("+e+")",a).width(jQuery(this).width())
+});jQuery("tfoot:eq(0)>tr td",c.nTable).each(function(e){jQuery("tfoot:eq(0)>tr th:eq("+e+")",a)[0].style.width(jQuery(this).width())
+})},_fnCloneTLeft:function(f){var c=this.fnGetSettings();var b=f.nNode;var e=jQuery("tbody tr:eq(0) td",c.nTable).length;
+var a=($.browser.msie&&($.browser.version=="6.0"||$.browser.version=="7.0"));while(b.childNodes.length>0){b.removeChild(b.childNodes[0])
+}b.appendChild(jQuery("thead",c.nTable).clone(true)[0]);b.appendChild(jQuery("tbody",c.nTable).clone(true)[0]);
+if(c.bFooter){b.appendChild(jQuery("tfoot",c.nTable).clone(true)[0])}jQuery("thead tr th:gt(0)",b).remove();
+jQuery("tfoot tr th:gt(0)",b).remove();$("tbody tr",b).each(function(g){$("td:gt(0)",this).remove();
+if($.browser.mozilla||$.browser.opera){$("td",this).height($("tbody tr:eq("+g+")",that.dom.body).outerHeight())
+}else{$("td",this).height($("tbody tr:eq("+g+")",that.dom.body).outerHeight()-iBoxHack)
+}if(!a){$("tbody tr:eq("+g+")",that.dom.body).height($("tbody tr:eq("+g+")",that.dom.body).outerHeight())
+}});var d=jQuery("thead tr th:eq(0)",c.nTable).outerWidth();b.style.width=d+"px";
+f.nWrapper.style.width=d+"px"},_fnCloneTRight:function(f){var c=this.fnGetSettings();
+var b=f.nNode;var e=jQuery("tbody tr:eq(0) td",c.nTable).length;var a=($.browser.msie&&($.browser.version=="6.0"||$.browser.version=="7.0"));
+while(b.childNodes.length>0){b.removeChild(b.childNodes[0])}b.appendChild(jQuery("thead",c.nTable).clone(true)[0]);
+b.appendChild(jQuery("tbody",c.nTable).clone(true)[0]);if(c.bFooter){b.appendChild(jQuery("tfoot",c.nTable).clone(true)[0])
+}jQuery("thead tr th:not(:nth-child("+e+"n))",b).remove();jQuery("tfoot tr th:not(:nth-child("+e+"n))",b).remove();
+$("tbody tr",b).each(function(g){$("td:lt("+e-1+")",this).remove();if($.browser.mozilla||$.browser.opera){$("td",this).height($("tbody tr:eq("+g+")",that.dom.body).outerHeight())
+}else{$("td",this).height($("tbody tr:eq("+g+")",that.dom.body).outerHeight()-iBoxHack)
+}if(!a){$("tbody tr:eq("+g+")",that.dom.body).height($("tbody tr:eq("+g+")",that.dom.body).outerHeight())
+}});var d=jQuery("thead tr th:eq("+(e-1)+")",c.nTable).outerWidth();b.style.width=d+"px";
+f.nWrapper.style.width=d+"px"}};FixedHeader.oWin={iScrollTop:0,iScrollRight:0,iScrollBottom:0,iScrollLeft:0,iHeight:0,iWidth:0};
+FixedHeader.oDoc={iHeight:0,iWidth:0};FixedHeader.afnScroll=[];FixedHeader.fnMeasure=function(){var d=jQuery(window),c=jQuery(document),b=FixedHeader.oWin,a=FixedHeader.oDoc;
+a.iHeight=c.height();a.iWidth=c.width();b.iHeight=d.height();b.iWidth=d.width();b.iScrollTop=d.scrollTop();
+b.iScrollLeft=d.scrollLeft();b.iScrollRight=a.iWidth-b.iScrollLeft-b.iWidth;b.iScrollBottom=a.iHeight-b.iScrollTop-b.iHeight
+};jQuery(window).scroll(function(){FixedHeader.fnMeasure();for(var b=0,a=FixedHeader.afnScroll.length;
+b<a;b++){FixedHeader.afnScroll[b]()}});
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/top_bottom_left_right.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/top_bottom_left_right.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/top_bottom_left_right.html	(revision 6286)
@@ -0,0 +1,618 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedHeader example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+			.FixedHeader_Cloned th {
+				background-color: white;
+			}
+			th, td {
+				height: 30px;
+			}
+			.left_cell {
+				background-color: white  !important;
+				border-right: 1px solid black  !important;
+				text-align: center;
+			}
+			.right_cell {
+				background-color: white !important;
+				border-left: 1px solid black;
+				text-align: center;
+			}
+			#info {
+				position: absolute;
+				top: 100px;
+				left: 100px;
+				width: 300px;
+				background-color: white;
+				border: 1px solid blue;
+				z-index: 50;
+				padding: 20px;
+			}
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/FixedHeader.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( { 
+					"iDisplayLength": -1,
+					"bFilter": false,
+					"bInfo": false,
+					"bPaginate": false,
+					"bLengthChange": false,
+					"fnDrawCallback": function ( oSettings ) {
+						for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
+						{
+							$('td:eq(0), td:eq(6)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
+						}
+					},
+					"aoColumns": [
+						{"bSortable": false, "sWidth": "20px" },
+						null, null, null, null, null, 
+						{"bSortable": false, "sWidth": "20px" }
+					]
+				} );
+				new FixedHeader( oTable, { "left": true, "right": true, "bottom": true } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="info">
+			<h1 style="margin: 0; border-width:0">FixedHeader example - top, bottom, left and right fixed</h1>
+			<p>This example shows how FixedHeader can be made to look more like a spreadsheet application. Click 'View source' in your browser to see the set up.</p>
+		</div>
+		
+		<div style="width:2000px; height: 2000px">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th></th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th></th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td class="left_cell"> </td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeC">
+			<td class="left_cell"> </td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeC">
+			<td class="left_cell"> </td>
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeX">
+			<td class="left_cell"> </td>
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeC">
+			<td class="left_cell"> </td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeC">
+			<td class="left_cell"> </td>
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeA">
+			<td class="left_cell"> </td>
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeX">
+			<td class="left_cell"> </td>
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeX">
+			<td class="left_cell"> </td>
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeX">
+			<td class="left_cell"> </td>
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeC">
+			<td class="left_cell"> </td>
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeC">
+			<td class="left_cell"> </td>
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+			<td class="right_cell"> </td>
+		</tr>
+		<tr class="gradeU">
+			<td class="left_cell"> </td>
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+			<td class="right_cell"> </td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th></th>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+			<th></th>
+		</tr>
+	</tfoot>
+</table>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/top_left.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/top_left.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/top_left.html	(revision 6286)
@@ -0,0 +1,491 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedHeader example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+			.FixedHeader_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/FixedHeader.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				new FixedHeader( oTable, { "left": true } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedHeader example - header and left columns fixed
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how tivial it is to fix the left hand column of the table as well as the header. In fact, the header, footer, left and right columns can all be fixed in exactly the same manner. The header is the only one to be fixed by default.</p>
+			<p>Note that the window has of course been made artificially wide to show the fixed left column in action.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	new FixedHeader( oTable, { "left": true } );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo with just the HeaderFixed</a></li>
+				<li><a href="html_table.html">FixedHeader without requiring DataTables</a></li>
+				<li><a href="two_tables.html">Two tables with FixedHeaders on a single page</a></li>
+				<li><a href="top_bottom_left_right.html">A spreadsheet style layout with header and footer, left and right columns all fixed.</a></li>
+				<li><a href="zIndexes.html">Change the display order of the fixed elements (zIndex)</a></li>
+			</ul>
+		
+			<p>Empty paragraphs to force scrolling!...</p>
+			<p style="height:500px; width:3000px;">&nbsp;</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedHeader and DataTables &copy; Allan Jardine 2009.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/two_tables.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/two_tables.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/two_tables.html	(revision 6286)
@@ -0,0 +1,924 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedHeader example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+			.FixedHeader_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/FixedHeader.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				new FixedHeader( oTable, { "bottom": true } );
+				
+				var oTable2 = $('#example2').dataTable();
+				new FixedHeader( oTable2, { "bottom": true } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedHeader example - two tables
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>The following example shows two DataTables enhanced tables both with FixedHeader enabled on them. The footer is also fixed for both table.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+
+<div class="spacer"></div>
+
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet <br>Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	new FixedHeader( oTable, { "bottom": true } );
+	
+	var oTable2 = $('#example2').dataTable();
+	new FixedHeader( oTable2, { "bottom": true } );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo with just the HeaderFixed</a></li>
+				<li><a href="html_table.html">FixedHeader without requiring DataTables</a></li>
+				<li><a href="two_tables.html">Two tables with FixedHeaders on a single page</a></li>
+				<li><a href="top_bottom_left_right.html">A spreadsheet style layout with header and footer, left and right columns all fixed.</a></li>
+				<li><a href="zIndexes.html">Change the display order of the fixed elements (zIndex)</a></li>
+			</ul>
+		
+			<p>Empty paragraphs to force scrolling!...</p>
+			<p style="height:500px;">&nbsp;</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedHeader and DataTables &copy; Allan Jardine 2009-2010.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/zIndexes.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/zIndexes.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedHeader/zIndexes.html	(revision 6286)
@@ -0,0 +1,497 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>FixedHeader example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+			.FixedHeader_Cloned th { background-color: white; }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/FixedHeader.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				new FixedHeader( oTable, { "left": true, "zLeft": 105 } );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				FixedHeader example - zIndex example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>When you have two or more columns fixed on a table, there might be occasions when you which to have one column floating on top of another. This example shows how you can do that with the initialisation parameters <i>zTop, zBottom, zLeft</i> and <i>zRight</i>. In this example the left column is set to float on top of the header. The difference is subtle, but can be effective.</p>
+			<p>The default zIndexes are:</p>
+			<ul>
+				<li>zTop: 104</li>
+				<li>zBottom: 103</li>
+				<li>zLeft: 102</li>
+				<li>zRight: 101</li>
+			</ul>
+			
+			<h1>Live example</h1>
+			<div id="demo" style="width:1500px;">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	new FixedHeader( oTable, { "left": true, "zLeft": 105 } );
+} );</pre>
+
+			<h1>Examples</h1>
+			<ul>
+				<li><a href="index.html">Basic demo with just the HeaderFixed</a></li>
+				<li><a href="html_table.html">FixedHeader without requiring DataTables</a></li>
+				<li><a href="two_tables.html">Two tables with FixedHeaders on a single page</a></li>
+				<li><a href="top_bottom_left_right.html">A spreadsheet style layout with header and footer, left and right columns all fixed.</a></li>
+				<li><a href="zIndexes.html">Change the display order of the fixed elements (zIndex)</a></li>
+			</ul>
+		
+			<p>Empty paragraphs to force scrolling!...</p>
+			<p style="height:500px; width:3000px;">&nbsp;</p>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					FixedHeader and DataTables &copy; Allan Jardine 2009.<br>
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/datatable.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/datatable.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/datatable.html	(revision 6286)
@@ -0,0 +1,494 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>KeyTable / DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/KeyTable.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				
+				var keys = new KeyTable( {
+					"table": document.getElementById('example'),
+					"datatable": oTable
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				KeyTable with DataTables integration example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>KeyTable will work great with any plain HTML table, but it also integrates with <a href="http://www.datatables.net/">DataTables</a> plug-in for jQuery. This allows the navigation to take account of paging, sorting etc. This is shown in an example below.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display KeyTable" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	
+	var keys = new KeyTable( {
+		"table": document.getElementById('example'),
+		"datatable": oTable
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic usage</a></li>
+				<li><a href="editing.html">Editing a table</a></li>
+				<li><a href="form.html">Integration with an HTML form</a></li>
+				<li><a href="datatable.html">Integration with DataTables</a></li>
+				<li><a href="datatable_scrolling.html">Using KeyTable with scrolling in DataTables</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					KeyTable &copy; Allan Jardine 2009.<br>
+					Information in the table &copy; <a href="http://www.u4eatech.com">U4EA Technologies</a> 2007-2009.</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/datatable_scrolling.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/datatable_scrolling.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/datatable_scrolling.html	(revision 6286)
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>KeyTable / DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/KeyTable.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable( {
+					"sScrollY": 200,
+					"sScrollX": "100%",
+					"sScrollXInner": "110%"
+				} );
+				
+				var keys = new KeyTable( {
+					"table": document.getElementById('example'),
+					"datatable": oTable
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				KeyTable with DataTables (when using scrolling) integration example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>A new feature in DataTables 1.7 is the ability to have the table body scroll in the x and y dimensions. KeyTable supports this capability of DataTables "out of the box" (no extra initialisation is needed), as shown in this example.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display KeyTable" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"sScrollY": 200,
+		"sScrollX": "100%",
+		"sScrollXInner": "110%"
+	} );
+	
+	var keys = new KeyTable( {
+		"table": document.getElementById('example'),
+		"datatable": oTable
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic usage</a></li>
+				<li><a href="editing.html">Editing a table</a></li>
+				<li><a href="form.html">Integration with an HTML form</a></li>
+				<li><a href="datatable.html">Integration with DataTables</a></li>
+				<li><a href="datatable_scrolling.html">Using KeyTable with scrolling in DataTables</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					KeyTable &copy; Allan Jardine 2009.<br>
+					Information in the table &copy; <a href="http://www.u4eatech.com">U4EA Technologies</a> 2007-2009.</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/editing.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/editing.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/editing.html	(revision 6286)
@@ -0,0 +1,534 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>KeyTables editing example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../examples/examples_support/jquery.jeditable.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/KeyTable.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var keys = new KeyTable( {
+					"table": document.getElementById('example')
+				} );
+				
+				/* Apply a return key event to each cell in the table */
+				keys.event.action( null, null, function (nCell) {
+					/* Block KeyTable from performing any events while jEditable is in edit mode */
+					keys.block = true;
+					
+					/* Initialise the Editable instance for this table */
+					$(nCell).editable( function (sVal) {
+						/* Submit function (local only) - unblock KeyTable */
+						keys.block = false;
+						return sVal;
+					}, { 
+						"onblur": 'submit', 
+						"onreset": function(){ 
+							/* Unblock KeyTable, but only after this 'esc' key event has finished. Otherwise
+							 * it will 'esc' KeyTable as well
+							 */
+							setTimeout( function () {keys.block = false;}, 0); 
+						}
+					} );
+					
+					/* Dispatch click event to go into edit mode - Saf 4 needs a timeout... */
+					setTimeout( function () { $(nCell).click(); }, 0 );
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				KeyTable editing example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Possibly one of the most obvious applications of KeyTable is using it to navigate around a table, allowing a user to edit data as they go. This is an example of how that might be done through integration with the excellent <a href="http://www.appelsiini.net/projects/jeditable">jEditable</a> plug-in for jQuery.</p>
+			<p>To edit data in the table, simply navigate to where you want to edit using the arrow keys, hit return and they make your edit. Hit return again to complete and submit the edit (note this example doesn't actually send the data to the server!) and then continue navigating.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display KeyTable" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var keys = new KeyTable( {
+		"table": document.getElementById('example')
+	} );
+	
+	/* Apply a return key event to each cell in the table */
+	keys.event.action( null, null, function (nCell) {
+		/* Block KeyTable from performing any events while jEditable is in edit mode */
+		keys.block = true;
+		
+		/* Initialise the Editable instance for this table */
+		$(nCell).editable( function (sVal) {
+			/* Submit function (local only) - unblock KeyTable */
+			keys.block = false;
+			return sVal;
+		}, { 
+			"onblur": 'submit', 
+			"onreset": function(){ 
+				/* Unblock KeyTable, but only after this 'esc' key event has finished. Otherwise
+				 * it will 'esc' KeyTable as well
+				 */
+				setTimeout( function () {keys.block = false;}, 0); 
+			}
+		} );
+		
+		/* Dispatch click event to go into edit mode - Saf 4 needs a timeout... */
+		setTimeout( function () { $(nCell).click(); }, 0 );
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic usage</a></li>
+				<li><a href="editing.html">Editing a table</a></li>
+				<li><a href="form.html">Integration with an HTML form</a></li>
+				<li><a href="datatable.html">Integration with DataTables</a></li>
+				<li><a href="datatable_scrolling.html">Using KeyTable with scrolling in DataTables</a></li>
+			</ul>
+			
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					KeyTable &copy; Allan Jardine 2009.<br>
+					Information in the table &copy; <a href="http://www.u4eatech.com">U4EA Technologies</a> 2007-2009.</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/form.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/form.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/form.html	(revision 6286)
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>KeyTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/KeyTable.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var keys = new KeyTable( {
+					"form": true
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				KeyTable form integration example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>One of possible use of KeyTable is to use a table as a form element (for example a calendar date selector). For this you want to be table to tab into and out of the table, as you would do with any other form element on the page.</p>
+			<p>The example shown below as a small table as it's third input element, and you can tab between input fields. When the 'focus' reaches the end of the table, hitting tab will take you into the next field.</p>
+			
+			<h1>Live example</h1>
+			
+			<!-- bad use of a table! quick example of form though -->
+			<table cellspacing="10" cellpadding="0" border="0" width="100%">
+				<tr>
+					<td>Input 1:</td>
+					<td><input type="text" id="input1"></td>
+				</tr>
+				<tr>
+					<td>Input 2:</td>
+					<td><input type="text" id="input2"></td>
+				</tr>
+				<tr>
+					<td>Input 3:</td>
+					<td>
+<table cellpadding="0" cellspacing="0" border="0" class="display KeyTable" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+</table>
+					</td>
+				</tr>
+				<tr>
+					<td>Input 4:</td>
+					<td><input type="text" id="input4"></td>
+				</tr>
+				<tr>
+					<td>Input 5:</td>
+					<td><input type="text" id="input5"></td>
+				</tr>
+			</table>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var keys = new KeyTable( {
+		"form": true
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic usage</a></li>
+				<li><a href="editing.html">Editing a table</a></li>
+				<li><a href="form.html">Integration with an HTML form</a></li>
+				<li><a href="datatable.html">Integration with DataTables</a></li>
+				<li><a href="datatable_scrolling.html">Using KeyTable with scrolling in DataTables</a></li>
+			</ul>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					KeyTable &copy; Allan Jardine 2009.<br>
+					Information in the table &copy; <a href="http://www.u4eatech.com">U4EA Technologies</a> 2007-2009.</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/index.html	(revision 6286)
@@ -0,0 +1,595 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>KeyTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="js/KeyTable.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			function fnMessage ( sMesg )
+			{
+				var n = document.getElementById('info');
+				n.innerHTML += sMesg+"<br>";
+				n.scrollTop = n.scrollHeight;
+			}
+			
+			$(document).ready( function () {
+				var keys = new KeyTable();
+				
+				/* Focus handler for all cells in last column */
+				keys.event.focus( 4, null, function( nNode, x, y ) {
+					fnMessage( "Cell "+x+","+y+" focused ('live' event - column)" );
+				} );
+				
+				/* Focus handler for all cells in 8th row */
+				keys.event.focus( null, 7, function( nNode, x, y ) {
+					fnMessage( "Cell "+x+","+y+" focused ('live' event - row)" );
+				} );
+				
+				/* Focus using coords. */
+				keys.event.focus( 1, 0, function( nNode ) {
+					keys.event.remove.focus( nNode );
+					fnMessage( "Cell 1,0 focus - this event has now been removed" );
+				} );
+				
+				keys.event.focus( 1, 3, function() {
+					fnMessage( "Cell 1,3 focus" );
+				} );
+				
+				/* focus with a node */
+				keys.event.focus( $('#example tbody tr:eq(2) td:eq(0)')[0], function() {
+					fnMessage( "Cell 0,2 focus" );
+				} );
+				
+				/* Blur using a node */
+				keys.event.blur( $('#example tbody tr:eq(1) td:eq(2)')[0], function() {
+					fnMessage( "Cell 1,2 blur" );
+				} );
+				
+				/* Blur using coords */
+				keys.event.blur( 2, 4, function() {
+					fnMessage( "Cell 2,4 blur" );
+				} );
+				
+				/* Action */
+				keys.event.action( 2, 2, function( nNode ) {
+					fnMessage( "Cell 2,2 action" );
+					if ( nNode.style.fontWeight == "" || nNode.style.fontWeight == "normal" ) {
+						nNode.style.fontWeight = "bold";
+					} else {
+						nNode.style.fontWeight = "normal";
+					}
+				} );
+				
+				keys.event.action( 2, 5, function( nNode ) {
+					fnMessage( "Cell 2,5 action" );
+					if ( nNode.style.fontStyle == "" ) {
+						nNode.style.fontStyle = "italic";
+					} else {
+						nNode.style.fontStyle = "";
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				KeyTable example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>KeyTable allows you to use keyboard navigation on an HTML table. The focused cell is shown through the CSS class ('focus') which in the case below is simply a blue border. Events such as 'focus', 'blur', 'esc' (the escape key) and 'return' (the return key) can be assigned event handling functions thought the API presented.</p>
+			<p>The example shown below has a few cells (selected at random, but near the top) with blur and focus events assigned to them. You can also see the navigation around the table using arrow keys.</p>
+			
+			<h1>Live example</h1>
+			<div id="info" class="box">
+				Event information:<br>
+			</div>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display KeyTable" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0 (focus once)</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+ (blur)</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident (focus)</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+ (action/bold)</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6 (focus)</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+ (blur)</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP (action/italic)</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko (focus - row)</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>function fnMessage ( sMesg )
+{
+	var n = document.getElementById('info');
+	n.innerHTML += sMesg+"&lt;br&gt;";
+	n.scrollTop = n.scrollHeight;
+}
+
+$(document).ready( function () {
+	var keys = new KeyTable();
+	
+	/* Focus handler for all cells in last column */
+	keys.event.focus( 4, null, function( nNode, x, y ) {
+		fnMessage( "Cell "+x+","+y+" focused ('live' event - column)" );
+	} );
+	
+	/* Focus handler for all cells in 8th row */
+	keys.event.focus( null, 7, function( nNode, x, y ) {
+		fnMessage( "Cell "+x+","+y+" focused ('live' event - row)" );
+	} );
+	
+	/* Focus using coords. */
+	keys.event.focus( 1, 0, function( nNode ) {
+		keys.event.remove.focus( nNode );
+		fnMessage( "Cell 1,0 focus - this event has now been removed" );
+	} );
+	
+	keys.event.focus( 1, 3, function() {
+		fnMessage( "Cell 1,3 focus" );
+	} );
+	
+	/* focus with a node */
+	keys.event.focus( $('#example tbody tr:eq(2) td:eq(0)')[0], function() {
+		fnMessage( "Cell 0,2 focus" );
+	} );
+	
+	/* Blur using a node */
+	keys.event.blur( $('#example tbody tr:eq(1) td:eq(2)')[0], function() {
+		fnMessage( "Cell 1,2 blur" );
+	} );
+	
+	/* Blur using coords */
+	keys.event.blur( 2, 4, function() {
+		fnMessage( "Cell 2,4 blur" );
+	} );
+	
+	/* Action */
+	keys.event.action( 2, 2, function( nNode ) {
+		fnMessage( "Cell 2,2 action" );
+		if ( nNode.style.fontWeight == "" || nNode.style.fontWeight == "normal" ) {
+			nNode.style.fontWeight = "bold";
+		} else {
+			nNode.style.fontWeight = "normal";
+		}
+	} );
+	
+	keys.event.action( 2, 5, function( nNode ) {
+		fnMessage( "Cell 2,5 action" );
+		if ( nNode.style.fontStyle == "" ) {
+			nNode.style.fontStyle = "italic";
+		} else {
+			nNode.style.fontStyle = "";
+		}
+	} );
+} );</pre>
+			
+			
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic usage</a></li>
+				<li><a href="editing.html">Editing a table</a></li>
+				<li><a href="form.html">Integration with an HTML form</a></li>
+				<li><a href="datatable.html">Integration with DataTables</a></li>
+				<li><a href="datatable_scrolling.html">Using KeyTable with scrolling in DataTables</a></li>
+			</ul>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					KeyTable &copy; Allan Jardine 2009.<br>
+					Information in the table &copy; <a href="http://www.u4eatech.com">U4EA Technologies</a> 2007-2009.</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/js/KeyTable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/js/KeyTable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/js/KeyTable.js	(revision 6286)
@@ -0,0 +1,1087 @@
+/*
+ * File:        KeyTable.js
+ * Version:     1.1.6
+ * CVS:         $Idj$
+ * Description: Keyboard navigation for HTML tables
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     Fri Mar 13 21:24:02 GMT 2009
+ * Modified:    $Date$ by $Author$
+ * Language:    Javascript
+ * License:     GPL v2 or BSD 3 point style
+ * Project:     Just a little bit of fun :-)
+ * Contact:     www.sprymedia.co.uk/contact
+ * 
+ * Copyright 2009-2010 Allan Jardine, all rights reserved.
+ *
+ */
+
+
+function KeyTable ( oInit )
+{
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * API parameters
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/*
+	 * Variable: block
+	 * Purpose:  Flag whether or not KeyTable events should be processed
+	 * Scope:    KeyTable - public
+	 */
+	this.block = false;
+	
+	/*
+	 * Variable: event
+	 * Purpose:  Container for all event application methods
+	 * Scope:    KeyTable - public
+	 * Notes:    This object contains all the public methods for adding and removing events - these
+	 *           are dynamically added later on
+	 */
+	this.event = {
+		"remove": {}
+	};
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * API methods
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/*
+	 * Function: fnGetCurrentPosition
+	 * Purpose:  Get the currently focused cell's position
+	 * Returns:  array int: [ x, y ]
+	 * Inputs:   void
+	 */
+	this.fnGetCurrentPosition = function ()
+	{
+		return [ _iOldX, _iOldY ];
+	};
+	
+	
+	/*
+	 * Function: fnGetCurrentData
+	 * Purpose:  Get the currently focused cell's data (innerHTML)
+	 * Returns:  string: - data requested
+	 * Inputs:   void
+	 */
+	this.fnGetCurrentData = function ()
+	{
+		return _nOldFocus.innerHTML;
+	};
+	
+	
+	/*
+	 * Function: fnGetCurrentTD
+	 * Purpose:  Get the currently focused cell
+	 * Returns:  node: - focused element
+	 * Inputs:   void
+	 */
+	this.fnGetCurrentTD = function ()
+	{
+		return _nOldFocus;
+	};
+	
+	
+	/*
+	 * Function: fnSetPosition
+	 * Purpose:  Set the position of the focused cell
+	 * Returns:  -
+	 * Inputs:   int:x - x coordinate
+	 *           int:y - y coordinate
+	 * Notes:    Thanks to Rohan Daxini for the basis of this function
+	 */
+	this.fnSetPosition = function( x, y )
+	{
+		if ( typeof x == 'object' && x.nodeName )
+		{
+			_fnSetFocus( x );
+		}
+		else
+		{
+			_fnSetFocus( _fnCellFromCoords(x, y) );
+		}
+	};
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Private parameters
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/*
+	 * Variable: _nBody
+	 * Purpose:  Body node of the table - cached for renference
+	 * Scope:    KeyTable - private
+	 */
+	var _nBody = null;
+	
+	/*
+	 * Variable: 
+	 * Purpose:  
+	 * Scope:    KeyTable - private
+	 */
+	var _nOldFocus = null;
+	
+	/*
+	 * Variable: _iOldX and _iOldY
+	 * Purpose:  X and Y coords of the old elemet that was focused on
+	 * Scope:    KeyTable - private
+	 */
+	var _iOldX = null;
+	var _iOldY = null;
+	
+	/*
+	 * Variable: _that
+	 * Purpose:  Scope saving for 'this' after a jQuery event
+	 * Scope:    KeyTable - private
+	 */
+	var _that = null;
+	
+	/*
+	 * Variable: sFocusClass
+	 * Purpose:  Class that should be used for focusing on a cell
+	 * Scope:    KeyTable - private
+	 */
+	var _sFocusClass = "focus";
+	
+	/*
+	 * Variable: _bKeyCapture
+	 * Purpose:  Flag for should KeyTable capture key events or not
+	 * Scope:    KeyTable - private
+	 */
+	var _bKeyCapture = false;
+	
+	/*
+	 * Variable: _oaoEvents
+	 * Purpose:  Event cache object, one array for each supported event for speed of searching
+	 * Scope:    KeyTable - private
+	 */
+	var _oaoEvents = {
+		"action": [],
+		"esc": [],
+		"focus": [],
+		"blur": []
+	};
+	
+	/*
+	 * Variable: _oDatatable
+	 * Purpose:  DataTables object for if we are actually using a DataTables table
+	 * Scope:    KeyTable - private
+	 */
+	var _oDatatable = null;
+	
+	var _bForm;
+	var _nInput;
+	var _bInputFocused = false;
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Private methods
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Key table events
+	 */
+	
+	/*
+	 * Function: _fnEventAddTemplate
+	 * Purpose:  Create a function (with closure for sKey) event addition API
+	 * Returns:  function: - template function
+	 * Inputs:   string:sKey - type of event to detect
+	 */
+	function _fnEventAddTemplate( sKey )
+	{
+		/*
+		 * Function: -
+		 * Purpose:  API function for adding event to cache
+		 * Returns:  -
+		 * Inputs:   1. node:x - target node to add event for
+		 *           2. function:y - callback function to apply
+		 *         or
+		 *           1. int:x - x coord. of target cell (can be null for live events)
+		 *           2. int:y - y coord. of target cell (can be null for live events)
+		 *           3. function:z - callback function to apply
+		 * Notes:    This function is (interally) overloaded (in as much as javascript allows for
+		 *           that) - the target cell can be given by either node or coords.
+		 */
+		return function ( x, y, z ) {
+			if ( (x===null || typeof x == "number") && 
+			     (y===null || typeof y == "number") && 
+			     typeof z == "function" )
+			{
+				_fnEventAdd( sKey, x, y, z );
+			}
+			else if ( typeof x == "object" && typeof y == "function" )
+			{
+				var aCoords = _fnCoordsFromCell( x );
+				_fnEventAdd( sKey, aCoords[0], aCoords[1], y );
+			}
+			else
+			{
+				alert( "Unhandable event type was added: x" +x+ "  y:" +y+ "  z:" +z );
+			}
+		};
+	}
+	
+	
+	/*
+	 * Function: _fnEventRemoveTemplate
+	 * Purpose:  Create a function (with closure for sKey) event removal API
+	 * Returns:  function: - template function
+	 * Inputs:   string:sKey - type of event to detect
+	 */
+	function _fnEventRemoveTemplate( sKey )
+	{
+		/*
+		 * Function: -
+		 * Purpose:  API function for removing event from cache
+		 * Returns:  int: - number of events removed
+		 * Inputs:   1. node:x - target node to remove event from
+		 *           2. function:y - callback function to apply
+		 *         or
+		 *           1. int:x - x coord. of target cell (can be null for live events)
+		 *           2. int:y - y coord. of target cell (can be null for live events)
+		 *           3. function:z - callback function to remove - optional
+		 * Notes:    This function is (interally) overloaded (in as much as javascript allows for
+		 *           that) - the target cell can be given by either node or coords and the function
+		 *           to remove is optional
+		 */
+		return function ( x, y, z ) {
+			if ( (x===null || typeof arguments[0] == "number") && 
+			     (y===null || typeof arguments[1] == "number" ) )
+			{
+				if ( typeof arguments[2] == "function" )
+				{
+					_fnEventRemove( sKey, x, y, z );
+				}
+				else
+				{
+					_fnEventRemove( sKey, x, y );
+				}
+			}
+			else if ( typeof arguments[0] == "object" )
+			{
+				var aCoords = _fnCoordsFromCell( x );
+				if ( typeof arguments[1] == "function" )
+				{
+					_fnEventRemove( sKey, aCoords[0], aCoords[1], y );
+				}
+				else
+				{
+					_fnEventRemove( sKey, aCoords[0], aCoords[1] );
+				}
+			}
+			else
+			{
+				alert( "Unhandable event type was removed: x" +x+ "  y:" +y+ "  z:" +z );
+			}
+		};
+	}
+	
+	/* Use the template functions to add the event API functions */
+	for ( var sKey in _oaoEvents )
+	{
+		if ( sKey )
+		{
+			this.event[sKey] = _fnEventAddTemplate( sKey );
+			this.event.remove[sKey] = _fnEventRemoveTemplate( sKey );
+		}
+	}
+	
+	
+	/*
+	 * Function: _fnEventAdd
+	 * Purpose:  Add an event to the internal cache
+	 * Returns:  -
+	 * Inputs:   string:sType - type of event to add, given by the available elements in _oaoEvents
+	 *           int:x - x-coords to add event to - can be null for "blanket" event
+	 *           int:y - y-coords to add event to - can be null for "blanket" event
+	 *           function:fn - callback function for when triggered
+	 */
+	function _fnEventAdd( sType, x, y, fn )
+	{
+		_oaoEvents[sType].push( {
+			"x": x,
+			"y": y,
+			"fn": fn
+		} );
+	}
+	
+	
+	/*
+	 * Function: _fnEventRemove
+	 * Purpose:  Remove an event from the event cache
+	 * Returns:  int: - number of matching events removed
+	 * Inputs:   string:sType - type of event to look for
+	 *           node:nTarget - target table cell
+	 *           function:fn - optional - remove this function. If not given all handlers of this
+	 *             type will be removed
+	 */
+	function _fnEventRemove( sType, x, y, fn )
+	{
+		var iCorrector = 0;
+		
+		for ( var i=0, iLen=_oaoEvents[sType].length ; i<iLen-iCorrector ; i++ )
+		{
+			if ( typeof fn != 'undefined' )
+			{
+				if ( _oaoEvents[sType][i-iCorrector].x == x &&
+				     _oaoEvents[sType][i-iCorrector].y == y &&
+					   _oaoEvents[sType][i-iCorrector].fn == fn )
+				{
+					_oaoEvents[sType].splice( i-iCorrector, 1 );
+					iCorrector++;
+				}
+			}
+			else
+			{
+				if ( _oaoEvents[sType][i-iCorrector].x == x &&
+				     _oaoEvents[sType][i-iCorrector].y == y )
+				{
+					_oaoEvents[sType].splice( i, 1 );
+					return 1;
+				}
+			}
+		}
+		return iCorrector;
+	}
+	
+	
+	/*
+	 * Function: _fnEventFire
+	 * Purpose:  Look thought the events cache and fire off the event of interest
+	 * Returns:  int:iFired - number of events fired
+	 * Inputs:   string:sType - type of event to look for
+	 *           int:x - x coord of cell
+	 *           int:y - y coord of  ell
+	 * Notes:    It might be more efficient to return after the first event has been tirggered,
+	 *           but that would mean that only one function of a particular type can be
+	 *           subscribed to a particular node.
+	 */
+	function _fnEventFire ( sType, x, y )
+	{
+		var iFired = 0;
+		var aEvents = _oaoEvents[sType];
+		for ( var i=0 ; i<aEvents.length ; i++ )
+		{
+			if ( (aEvents[i].x == x     && aEvents[i].y == y    ) ||
+			     (aEvents[i].x === null && aEvents[i].y == y    ) ||
+			     (aEvents[i].x == x     && aEvents[i].y === null ) ||
+			     (aEvents[i].x === null && aEvents[i].y === null )
+			)
+			{
+				aEvents[i].fn( _fnCellFromCoords(x,y), x, y );
+				iFired++;
+			}
+		}
+		return iFired;
+	}
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Focus functions
+	 */
+	
+	/*
+	 * Function: _fnSetFocus
+	 * Purpose:  Set focus on a node, and remove from an old node if needed
+	 * Returns:  -
+	 * Inputs:   node:nTarget - node we want to focus on
+	 *           bool:bAutoScroll - optional - should we scroll the view port to the display
+	 */
+	function _fnSetFocus( nTarget, bAutoScroll )
+	{
+		/* If node already has focus, just ignore this call */
+		if ( _nOldFocus == nTarget )
+		{
+			return;
+		}
+		
+		if ( typeof bAutoScroll == 'undefined' )
+		{
+			bAutoScroll = true;
+		}
+		
+		/* Remove old focus (with blur event if needed) */
+		if ( _nOldFocus !== null )
+		{
+			_fnRemoveFocus( _nOldFocus );
+		}
+		
+		/* Add the new class to highlight the focused cell */
+		jQuery(nTarget).addClass( _sFocusClass );
+		
+		/* If it's a DataTable then we need to jump the paging to the relevant page */
+		var oSettings;
+		if ( _oDatatable )
+		{
+			oSettings = _oDatatable.fnSettings();
+			var iRow = _fnFindDtCell( nTarget )[1];
+			var bKeyCaptureCache = _bKeyCapture;
+			
+			/* Page forwards */
+			while ( iRow >= oSettings.fnDisplayEnd() )
+			{
+				if ( oSettings._iDisplayLength >= 0 )
+				{
+					/* Make sure we are not over running the display array */
+					if ( oSettings._iDisplayStart + oSettings._iDisplayLength < oSettings.fnRecordsDisplay() )
+					{
+						oSettings._iDisplayStart += oSettings._iDisplayLength;
+					}
+				}
+				else
+				{
+					oSettings._iDisplayStart = 0;
+				}
+				_oDatatable.oApi._fnCalculateEnd( oSettings );
+			}
+			
+			/* Page backwards */
+			while ( iRow < oSettings._iDisplayStart )
+			{
+				oSettings._iDisplayStart = oSettings._iDisplayLength>=0 ?
+					oSettings._iDisplayStart - oSettings._iDisplayLength :
+					0;
+					
+				if ( oSettings._iDisplayStart < 0 )
+				{
+				  oSettings._iDisplayStart = 0;
+				}
+				_oDatatable.oApi._fnCalculateEnd( oSettings );
+			}
+			
+			/* Re-draw the table */
+			_oDatatable.oApi._fnDraw( oSettings );
+			
+			/* Restore the key capture */
+			_bKeyCapture = bKeyCaptureCache;
+		}
+		
+		/* Cache the information that we are interested in */
+		var aNewPos = _fnCoordsFromCell( nTarget );
+		_nOldFocus = nTarget;
+		_iOldX = aNewPos[0];
+		_iOldY = aNewPos[1];
+		
+		var iViewportHeight, iViewportWidth, iScrollTop, iScrollLeft, iHeight, iWidth, aiPos;
+		if ( bAutoScroll )
+		{
+			/* Scroll the viewport such that the new cell is fully visible in the rendered window */
+			iViewportHeight = document.documentElement.clientHeight;
+			iViewportWidth = document.documentElement.clientWidth;
+			iScrollTop = document.body.scrollTop || document.documentElement.scrollTop;
+			iScrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
+			iHeight = nTarget.offsetHeight;
+			iWidth = nTarget.offsetWidth;
+			aiPos = _fnGetPos( nTarget );
+			
+			/* Correct viewport positioning for vertical scrolling */
+			if ( aiPos[1]+iHeight > iScrollTop+iViewportHeight )
+			{
+				/* Displayed element if off the bottom of the viewport */
+				_fnSetScrollTop( aiPos[1]+iHeight - iViewportHeight );
+			}
+			else if ( aiPos[1] < iScrollTop )
+			{
+				/* Displayed element if off the top of the viewport */
+				_fnSetScrollTop( aiPos[1] );
+			}
+			
+			/* Correct viewport positioning for horizontal scrolling */
+			if ( aiPos[0]+iWidth > iScrollLeft+iViewportWidth )
+			{
+				/* Displayed element is off the bottom of the viewport */
+				_fnSetScrollLeft( aiPos[0]+iWidth - iViewportWidth );
+			}
+			else if ( aiPos[0] < iScrollLeft )
+			{
+				/* Displayed element if off the Left of the viewport */
+				_fnSetScrollLeft( aiPos[0] );
+			}
+		}
+		
+		/* Take account of scrolling in DataTables 1.7 */
+		if ( _oDatatable && typeof oSettings.oScroll != 'undefined' &&
+		  (oSettings.oScroll.sX !== "" || oSettings.oScroll.xY !== "") )
+		{
+			var dtScrollBody = oSettings.nTable.parentNode;
+			iViewportHeight = dtScrollBody.clientHeight;
+			iViewportWidth = dtScrollBody.clientWidth;
+			iScrollTop = dtScrollBody.scrollTop;
+			iScrollLeft = dtScrollBody.scrollLeft;
+			iHeight = nTarget.offsetHeight;
+			iWidth = nTarget.offsetWidth;
+			
+			/* Correct for vertical scrolling */
+			if ( nTarget.offsetTop + iHeight > iViewportHeight+iScrollTop )
+			{
+				dtScrollBody.scrollTop = (nTarget.offsetTop + iHeight) - iViewportHeight;
+			}
+			else if ( nTarget.offsetTop < iScrollTop )
+			{
+				dtScrollBody.scrollTop = nTarget.offsetTop;
+			}
+			
+			/* Correct for horizontal scrolling */
+			if ( nTarget.offsetLeft + iWidth > iViewportWidth+iScrollLeft )
+			{
+				dtScrollBody.scrollLeft = (nTarget.offsetLeft + iWidth) - iViewportWidth;
+			}
+			else if ( nTarget.offsetLeft < iScrollLeft )
+			{
+				dtScrollBody.scrollLeft = nTarget.offsetLeft;
+			}
+		}
+		
+		/* Fire of the focus event if there is one */
+		_fnEventFire( "focus", _iOldX, _iOldY );
+	}
+	
+	
+	/*
+	 * Function: _fnBlur
+	 * Purpose:  Blur focus from the whole table
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	function _fnBlur()
+	{
+		_fnRemoveFocus( _nOldFocus );
+		_iOldX = null;
+		_iOldY = null;
+		_nOldFocus = null;
+		_fnReleaseKeys();
+	}
+	
+	
+	/*
+	 * Function: _fnRemoveFocus
+	 * Purpose:  Remove focus from a cell and fire any blur events which are attached
+	 * Returns:  -
+	 * Inputs:   node:nTarget - cell of interest
+	 */
+	function _fnRemoveFocus( nTarget )
+	{
+		jQuery(nTarget).removeClass( _sFocusClass );
+		_fnEventFire( "blur", _iOldX, _iOldY );
+	}
+	
+	
+	/*
+	 * Function: _fnClick
+	 * Purpose:  Focus on the element that has been clicked on by the user
+	 * Returns:  -
+	 * Inputs:   event:e - click event
+	 */
+	function _fnClick ( e )
+	{
+		var nTarget = this;
+		while ( nTarget.nodeName != "TD" )
+		{
+			nTarget = nTarget.parentNode;
+		}
+		
+		_fnSetFocus( nTarget );
+		_fnCaptureKeys();
+	}
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Key events
+	 */
+	
+	/*
+	 * Function: _fnKey
+	 * Purpose:  Deal with a key events, be it moving the focus or return etc.
+	 * Returns:  bool: - allow browser default action
+	 * Inputs:   event:e - key event
+	 */
+	function _fnKey ( e )
+	{
+		/* If user or system has blocked KeyTable from doing anything, just ignore this event */
+		if ( _that.block || !_bKeyCapture )
+		{
+			return true;
+		}
+		
+		/* If a modifier key is pressed (exapct shift), ignore the event */
+		if ( e.metaKey || e.altKey || e.ctrlKey )
+		{
+		    return true;
+		}
+		var
+			x, y,
+			iTableWidth = _nBody.getElementsByTagName('tr')[0].getElementsByTagName('td').length, 
+			iTableHeight;
+		
+		/* Get table height and width - done here so as to be dynamic (if table is updated) */
+		if ( _oDatatable )
+		{
+			/* 
+			 * Locate the current node in the DataTable overriding the old positions - the reason for
+			 * is is that there might have been some DataTables interaction between the last focus and
+			 * now
+			 */
+			var oSettings = _oDatatable.fnSettings();
+			iTableHeight = oSettings.aiDisplay.length;
+			
+			var aDtPos = _fnFindDtCell( _nOldFocus );
+			if ( aDtPos === null )
+			{
+				/* If the table has been updated such that the focused cell can't be seen - do nothing */
+				return;
+			}
+			_iOldX = aDtPos[ 0 ];
+			_iOldY = aDtPos[ 1 ];
+		}
+		else
+		{
+			iTableHeight = _nBody.getElementsByTagName('tr').length;
+		}
+		
+		/* Capture shift+tab to match the left arrow key */
+		var iKey = (e.keyCode == 9 && e.shiftKey) ? -1 : e.keyCode;
+		
+		switch( iKey )
+		{
+			case 13: /* return */
+			 	e.preventDefault();
+ 				e.stopPropagation();
+				_fnEventFire( "action", _iOldX, _iOldY );
+				return true;
+				
+			case 27: /* esc */
+				if ( !_fnEventFire( "esc", _iOldX, _iOldY ) )
+				{
+					/* Only lose focus if there isn't an escape handler on the cell */
+					_fnBlur();
+				}
+				break;
+			
+			case -1:
+			case 37: /* left arrow */
+				if ( _iOldX > 0 ) {
+					x = _iOldX - 1;
+					y = _iOldY;
+				} else if ( _iOldY > 0 ) {
+					x = iTableWidth-1;
+					y = _iOldY - 1;
+				} else {
+					/* at start of table */
+					if ( iKey == -1 && _bForm )
+					{
+						/* If we are in a form, return focus to the 'input' element such that tabbing will
+						 * follow correctly in the browser
+						 */
+						_bInputFocused = true;
+						_nInput.focus();
+						
+						/* This timeout is a little nasty - but IE appears to have some asyhnc behaviour for 
+						 * focus
+						 */
+						setTimeout( function(){ _bInputFocused = false; }, 0 );
+						_bKeyCapture = false;
+						_fnBlur();
+						return true; 
+					}
+					else
+					{
+						return false;
+					}
+				}
+				break;
+			
+			case 38: /* up arrow */
+				if ( _iOldY > 0 ) {
+					x = _iOldX;
+					y = _iOldY - 1;
+				} else {
+					return false;
+				}
+				break;
+			
+			case 9: /* tab */
+			case 39: /* right arrow */
+				if ( _iOldX < iTableWidth-1 ) {
+					x = _iOldX + 1;
+					y = _iOldY;
+				} else if ( _iOldY < iTableHeight-1 ) {
+					x = 0;
+					y = _iOldY + 1;
+				} else {
+					/* at end of table */
+					if ( iKey == 9 && _bForm )
+					{
+						/* If we are in a form, return focus to the 'input' element such that tabbing will
+						 * follow correctly in the browser
+						 */
+						_bInputFocused = true;
+						_nInput.focus();
+						
+						/* This timeout is a little nasty - but IE appears to have some asyhnc behaviour for 
+						 * focus
+						 */
+						setTimeout( function(){ _bInputFocused = false; }, 0 );
+						_bKeyCapture = false;
+						_fnBlur();
+						return true; 
+					}
+					else
+					{
+						return false;
+					}
+				}
+				break;
+			
+			case 40: /* down arrow */
+				if ( _iOldY < iTableHeight-1 ) {
+					x = _iOldX;
+					y = _iOldY + 1;
+				} else {
+					return false;
+				}
+				break;
+			
+			default: /* Nothing we are interested in */
+				return true;
+		}
+		
+		_fnSetFocus( _fnCellFromCoords(x, y) );
+		return false;
+	}
+	
+	
+	/*
+	 * Function: _fnCaptureKeys
+	 * Purpose:  Start capturing key events for this table
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	function _fnCaptureKeys( )
+	{
+		if ( !_bKeyCapture )
+		{
+			_bKeyCapture = true;
+		}
+	}
+	
+	
+	/*
+	 * Function: _fnReleaseKeys
+	 * Purpose:  Stop capturing key events for this table
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	function _fnReleaseKeys( )
+	{
+		_bKeyCapture = false;
+	}
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Support functions
+	 */
+	
+	/*
+	 * Function: _fnCellFromCoords
+	 * Purpose:  Calulate the target TD cell from x and y coordinates
+	 * Returns:  node: - TD target
+	 * Inputs:   int:x - x coordinate
+	 *           int:y - y coordinate
+	 */
+	function _fnCellFromCoords( x, y )
+	{
+		if ( _oDatatable )
+		{
+			var oSettings = _oDatatable.fnSettings();
+			if ( typeof oSettings.aoData[ oSettings.aiDisplay[ y ] ] != 'undefined' )
+			{
+				return oSettings.aoData[ oSettings.aiDisplay[ y ] ].nTr.getElementsByTagName('td')[x];
+			}
+			else
+			{
+				return null;
+			}
+		}
+		else
+		{
+			return jQuery('tr:eq('+y+')>td:eq('+x+')', _nBody )[0];
+		}
+	}
+	
+	
+	/*
+	 * Function: _fnCoordsFromCell
+	 * Purpose:  Calculate the x and y position in a table from a TD cell
+	 * Returns:  array[2] int: [x, y]
+	 * Inputs:   node:n - TD cell of interest
+	 * Notes:    Not actually interested in this for DataTables since it might go out of date
+	 */
+	function _fnCoordsFromCell( n )
+	{
+		if ( _oDatatable )
+		{
+			var oSettings = _oDatatable.fnSettings();
+			return [
+				jQuery('td', n.parentNode).index(n),
+				jQuery('tr', n.parentNode.parentNode).index(n.parentNode) + oSettings._iDisplayStart
+			];
+		}
+		else
+		{
+			return [
+				jQuery('td', n.parentNode).index(n),
+				jQuery('tr', n.parentNode.parentNode).index(n.parentNode)
+			];
+		}
+	}
+	
+	
+	/*
+	 * Function: _fnSetScrollTop
+	 * Purpose:  Set the vertical scrolling position
+	 * Returns:  -
+	 * Inputs:   int:iPos - scrolltop
+	 * Notes:    This is so nasty, but without browser detection you can't tell which you should set
+	 *           So on browsers that support both, the scroll top will be set twice. I can live with
+	 *           that :-)
+	 */
+	function _fnSetScrollTop( iPos )
+	{
+		document.documentElement.scrollTop = iPos;
+		document.body.scrollTop = iPos;
+	}
+	
+	
+	/*
+	 * Function: _fnSetScrollLeft
+	 * Purpose:  Set the horizontal scrolling position
+	 * Returns:  -
+	 * Inputs:   int:iPos - scrollleft
+	 */
+	function _fnSetScrollLeft( iPos )
+	{
+		document.documentElement.scrollLeft = iPos;
+		document.body.scrollLeft = iPos;
+	}
+	
+	
+	/*
+	 * Function: _fnGetPos
+	 * Purpose:  Get the position of an object on the rendered page
+	 * Returns:  array[2] int: [left, right]
+	 * Inputs:   node:obj - element of interest
+	 */
+	function _fnGetPos ( obj )
+	{
+		var iLeft = 0;
+		var iTop = 0;
+		
+		if (obj.offsetParent) 
+		{
+			iLeft = obj.offsetLeft;
+			iTop = obj.offsetTop;
+			obj = obj.offsetParent;
+			while (obj) 
+			{
+				iLeft += obj.offsetLeft;
+				iTop += obj.offsetTop;
+				obj = obj.offsetParent;
+			}
+		}
+		return [iLeft,iTop];
+	}
+	
+	
+	/*
+	 * Function: _fnFindDtCell
+	 * Purpose:  Get the coords. of a cell from the DataTables internal information
+	 * Returns:  array[2] int: [x, y] coords. or null if not found
+	 * Inputs:   node:nTarget - the node of interest
+	 */
+	function _fnFindDtCell( nTarget )
+	{
+		var oSettings = _oDatatable.fnSettings();
+		for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
+		{
+			var nTr = oSettings.aoData[ oSettings.aiDisplay[i] ].nTr;
+			var nTds = nTr.getElementsByTagName('td');
+			for ( var j=0, jLen=nTds.length ; j<jLen ; j++ )
+			{
+				if ( nTds[j] == nTarget )
+				{
+					return [ j, i ];
+				}
+			}
+		}
+		return null;
+	}
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Initialisation
+	 */
+	
+	/*
+	 * Function: _fnInit
+	 * Purpose:  Initialise the KeyTable
+	 * Returns:  -
+	 * Inputs:   object:oInit - optional - Initalisation object with the following parameters:
+	 *   array[2] int:focus - x and y coordinates of the initial target
+	 *     or
+	 *     node:focus - the node to set initial focus on
+	 *   node:table - the table to use, if not given, first table with class 'KeyTable' will be used
+	 *   string:focusClass - focusing class to give to table elements
+	 *           object:that - focus
+	 *   bool:initScroll - scroll the view port on load, default true
+	 *   int:tabIndex - the tab index to give the hidden input element
+	 */
+	function _fnInit( oInit, that )
+	{
+		/* Save scope */
+		_that = that;
+		
+		/* Capture undefined initialisation and apply the defaults */
+		if ( typeof oInit == 'undefined' ) {
+			oInit = {};
+		}
+		
+		if ( typeof oInit.focus == 'undefined' ) {
+			oInit.focus = [0,0];
+		}
+		
+		if ( typeof oInit.table == 'undefined' ) {
+			oInit.table = jQuery('table.KeyTable')[0];
+		}
+		
+		if ( typeof oInit.focusClass != 'undefined' ) {
+			_sFocusClass = oInit.focusClass;
+		}
+		
+		if ( typeof oInit.datatable != 'undefined' ) {
+			_oDatatable = oInit.datatable;
+		}
+		
+		if ( typeof oInit.initScroll == 'undefined' ) {
+			oInit.initScroll = true;
+		}
+		
+		if ( typeof oInit.form == 'undefined' ) {
+			oInit.form = false;
+		}
+		_bForm = oInit.form;
+		
+		/* Cache the tbody node of interest */
+		_nBody = oInit.table.getElementsByTagName('tbody')[0];
+		
+		/* If the table is inside a form, then we need a hidden input box which can be used by the
+		 * browser to catch the browser tabbing for our table
+		 */
+		if ( _bForm )
+		{
+			var nDiv = document.createElement('div');
+			_nInput = document.createElement('input');
+			nDiv.style.height = "1px"; /* Opera requires a little something */
+			nDiv.style.width = "0px";
+			nDiv.style.overflow = "hidden";
+			if ( typeof oInit.tabIndex != 'undefined' )
+			{
+				_nInput.tabIndex = oInit.tabIndex;
+			}
+			nDiv.appendChild(_nInput);
+			oInit.table.parentNode.insertBefore( nDiv, oInit.table.nextSibling );
+			
+			jQuery(_nInput).focus( function () {
+				/* See if we want to 'tab into' the table or out */
+				if ( !_bInputFocused )
+				{
+					_bKeyCapture = true;
+					_bInputFocused = false;
+					if ( typeof oInit.focus.nodeName != "undefined" )
+					{
+						_fnSetFocus( oInit.focus, oInit.initScroll );
+					}
+					else
+					{
+						_fnSetFocus( _fnCellFromCoords( oInit.focus[0], oInit.focus[1]), oInit.initScroll );
+					}
+					
+					/* Need to interup the thread for this to work */
+					setTimeout( function() { _nInput.blur(); }, 0 );
+				}
+			} );
+			_bKeyCapture = false;
+		}
+		else
+		{
+			/* Set the initial focus on the table */
+			if ( typeof oInit.focus.nodeName != "undefined" )
+			{
+				_fnSetFocus( oInit.focus, oInit.initScroll );
+			}
+			else
+			{
+				_fnSetFocus( _fnCellFromCoords( oInit.focus[0], oInit.focus[1]), oInit.initScroll );
+			}
+			_fnCaptureKeys();
+		}
+		
+		/*
+		 * Add event listeners
+		 * Well - I hate myself for doing this, but it would appear that key events in browsers are
+		 * a complete mess, particulay when you consider arrow keys, which of course are one of the
+		 * main areas of interest here. So basically for arrow keys, there is no keypress event in
+		 * Safari and IE, while there is in Firefox and Opera. But Firefox and Opera don't repeat the
+		 * keydown event for an arrow key. OUCH. See the following two articles for more:
+		 *   http://www.quirksmode.org/dom/events/keys.html
+		 *   https://lists.webkit.org/pipermail/webkit-dev/2007-December/002992.html
+		 *   http://unixpapa.com/js/key.html
+		 * PPK considers the IE / Safari method correct (good enough for me!) so we (urgh) detect
+		 * Mozilla and Opera and apply keypress for them, while everything else gets keydown. If
+		 * Mozilla or Opera change their implemention in future, this will need to be updated... 
+		 * although at the time of writing (14th March 2009) Minefield still uses the 3.0 behaviour.
+		 */
+		if ( jQuery.browser.mozilla || jQuery.browser.opera )
+		{
+			jQuery(document).bind( "keypress", _fnKey );
+		}
+		else
+		{
+			jQuery(document).bind( "keydown", _fnKey );
+		}
+		
+		if ( _oDatatable )
+		{
+			jQuery('td', _oDatatable.fnGetNodes()).click( _fnClick );
+		}
+		else
+		{
+			jQuery('td', _nBody).click( _fnClick );
+		}
+		
+		/* Loose table focus when click outside the table */
+		jQuery(document).click( function(e) {
+			var nTarget = e.target;
+			var bTableClick = false;
+			while ( nTarget )
+			{
+				if ( nTarget == oInit.table )
+				{
+					bTableClick = true;
+					break;
+				}
+				nTarget = nTarget.parentNode;
+			}
+			if ( !bTableClick )
+			{
+				_fnBlur();
+			}
+		} );
+	}
+	
+	/* Initialise our new object */
+	_fnInit( oInit, this );
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/js/KeyTable.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/js/KeyTable.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/KeyTable/js/KeyTable.min.js	(revision 6286)
@@ -0,0 +1,75 @@
+/*
+ * File:        KeyTable.min.js
+ * Version:     1.1.6
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * 
+ * Copyright 2009-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD (3 point) style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+function KeyTable(q){this.block=false;this.event={remove:{}};this.fnGetCurrentPosition=function(){return[c,a]
+};this.fnGetCurrentData=function(){return m.innerHTML};this.fnGetCurrentTD=function(){return m
+};this.fnSetPosition=function(H,I){if(typeof H=="object"&&H.nodeName){b(H)}else{b(E(H,I))
+}};var f=null;var m=null;var c=null;var a=null;var G=null;var i="focus";var w=false;
+var r={action:[],esc:[],focus:[],blur:[]};var e=null;var n;var s;var C=false;function B(H){return function(I,L,K){if((I===null||typeof I=="number")&&(L===null||typeof L=="number")&&typeof K=="function"){x(H,I,L,K)
+}else{if(typeof I=="object"&&typeof L=="function"){var J=j(I);x(H,J[0],J[1],L)}else{alert("Unhandable event type was added: x"+I+"  y:"+L+"  z:"+K)
+}}}}function d(H){return function(I,L,K){if((I===null||typeof arguments[0]=="number")&&(L===null||typeof arguments[1]=="number")){if(typeof arguments[2]=="function"){F(H,I,L,K)
+}else{F(H,I,L)}}else{if(typeof arguments[0]=="object"){var J=j(I);if(typeof arguments[1]=="function"){F(H,J[0],J[1],L)
+}else{F(H,J[0],J[1])}}else{alert("Unhandable event type was removed: x"+I+"  y:"+L+"  z:"+K)
+}}}}for(var o in r){if(o){this.event[o]=B(o);this.event.remove[o]=d(o)}}function x(K,H,J,I){r[K].push({x:H,y:J,fn:I})
+}function F(N,I,M,K){var L=0;for(var J=0,H=r[N].length;J<H-L;J++){if(typeof K!="undefined"){if(r[N][J-L].x==I&&r[N][J-L].y==M&&r[N][J-L].fn==K){r[N].splice(J-L,1);
+L++}}else{if(r[N][J-L].x==I&&r[N][J-L].y==M){r[N].splice(J,1);return 1}}}return L
+}function A(M,H,L){var K=0;var I=r[M];for(var J=0;J<I.length;J++){if((I[J].x==H&&I[J].y==L)||(I[J].x===null&&I[J].y==L)||(I[J].x==H&&I[J].y===null)||(I[J].x===null&&I[J].y===null)){I[J].fn(E(H,L),H,L);
+K++}}return K}function b(M,U){if(m==M){return}if(typeof U=="undefined"){U=true}if(m!==null){p(m)
+}jQuery(M).addClass(i);var J;if(e){J=e.fnSettings();var P=g(M)[1];var Q=w;while(P>=J.fnDisplayEnd()){if(J._iDisplayLength>=0){if(J._iDisplayStart+J._iDisplayLength<J.fnRecordsDisplay()){J._iDisplayStart+=J._iDisplayLength
+}}else{J._iDisplayStart=0}e.oApi._fnCalculateEnd(J)}while(P<J._iDisplayStart){J._iDisplayStart=J._iDisplayLength>=0?J._iDisplayStart-J._iDisplayLength:0;
+if(J._iDisplayStart<0){J._iDisplayStart=0}e.oApi._fnCalculateEnd(J)}e.oApi._fnDraw(J);
+w=Q}var N=j(M);m=M;c=N[0];a=N[1];var R,T,L,O,H,I,S;if(U){R=document.documentElement.clientHeight;
+T=document.documentElement.clientWidth;L=document.body.scrollTop||document.documentElement.scrollTop;
+O=document.body.scrollLeft||document.documentElement.scrollLeft;H=M.offsetHeight;
+I=M.offsetWidth;S=y(M);if(S[1]+H>L+R){z(S[1]+H-R)}else{if(S[1]<L){z(S[1])}}if(S[0]+I>O+T){t(S[0]+I-T)
+}else{if(S[0]<O){t(S[0])}}}if(e&&typeof J.oScroll!="undefined"&&(J.oScroll.sX!==""||J.oScroll.xY!=="")){var K=J.nTable.parentNode;
+R=K.clientHeight;T=K.clientWidth;L=K.scrollTop;O=K.scrollLeft;H=M.offsetHeight;I=M.offsetWidth;
+if(M.offsetTop+H>R+L){K.scrollTop=(M.offsetTop+H)-R}else{if(M.offsetTop<L){K.scrollTop=M.offsetTop
+}}if(M.offsetLeft+I>T+O){K.scrollLeft=(M.offsetLeft+I)-T}else{if(M.offsetLeft<O){K.scrollLeft=M.offsetLeft
+}}}A("focus",c,a)}function u(){p(m);c=null;a=null;m=null;k()}function p(H){jQuery(H).removeClass(i);
+A("blur",c,a)}function l(H){var I=this;while(I.nodeName!="TD"){I=I.parentNode}b(I);
+D()}function h(N){if(G.block||!w){return true}if(N.metaKey||N.altKey||N.ctrlKey){return true
+}var I,O,L=f.getElementsByTagName("tr")[0].getElementsByTagName("td").length,H;if(e){var M=e.fnSettings();
+H=M.aiDisplay.length;var K=g(m);if(K===null){return}c=K[0];a=K[1]}else{H=f.getElementsByTagName("tr").length
+}var J=(N.keyCode==9&&N.shiftKey)?-1:N.keyCode;switch(J){case 13:N.preventDefault();
+N.stopPropagation();A("action",c,a);return true;case 27:if(!A("esc",c,a)){u()}break;
+case -1:case 37:if(c>0){I=c-1;O=a}else{if(a>0){I=L-1;O=a-1}else{if(J==-1&&n){C=true;
+s.focus();setTimeout(function(){C=false},0);w=false;u();return true}else{return false
+}}}break;case 38:if(a>0){I=c;O=a-1}else{return false}break;case 9:case 39:if(c<L-1){I=c+1;
+O=a}else{if(a<H-1){I=0;O=a+1}else{if(J==9&&n){C=true;s.focus();setTimeout(function(){C=false
+},0);w=false;u();return true}else{return false}}}break;case 40:if(a<H-1){I=c;O=a+1
+}else{return false}break;default:return true}b(E(I,O));return false}function D(){if(!w){w=true
+}}function k(){w=false}function E(H,J){if(e){var I=e.fnSettings();if(typeof I.aoData[I.aiDisplay[J]]!="undefined"){return I.aoData[I.aiDisplay[J]].nTr.getElementsByTagName("td")[H]
+}else{return null}}else{return jQuery("tr:eq("+J+")>td:eq("+H+")",f)[0]}}function j(I){if(e){var H=e.fnSettings();
+return[jQuery("td",I.parentNode).index(I),jQuery("tr",I.parentNode.parentNode).index(I.parentNode)+H._iDisplayStart]
+}else{return[jQuery("td",I.parentNode).index(I),jQuery("tr",I.parentNode.parentNode).index(I.parentNode)]
+}}function z(H){document.documentElement.scrollTop=H;document.body.scrollTop=H}function t(H){document.documentElement.scrollLeft=H;
+document.body.scrollLeft=H}function y(J){var I=0;var H=0;if(J.offsetParent){I=J.offsetLeft;
+H=J.offsetTop;J=J.offsetParent;while(J){I+=J.offsetLeft;H+=J.offsetTop;J=J.offsetParent
+}}return[I,H]}function g(O){var M=e.fnSettings();for(var K=0,H=M.aiDisplay.length;
+K<H;K++){var N=M.aoData[M.aiDisplay[K]].nTr;var I=N.getElementsByTagName("td");for(var J=0,L=I.length;
+J<L;J++){if(I[J]==O){return[J,K]}}}return null}function v(H,J){G=J;if(typeof H=="undefined"){H={}
+}if(typeof H.focus=="undefined"){H.focus=[0,0]}if(typeof H.table=="undefined"){H.table=jQuery("table.KeyTable")[0]
+}if(typeof H.focusClass!="undefined"){i=H.focusClass}if(typeof H.datatable!="undefined"){e=H.datatable
+}if(typeof H.initScroll=="undefined"){H.initScroll=true}if(typeof H.form=="undefined"){H.form=false
+}n=H.form;f=H.table.getElementsByTagName("tbody")[0];if(n){var I=document.createElement("div");
+s=document.createElement("input");I.style.height="1px";I.style.width="0px";I.style.overflow="hidden";
+if(typeof H.tabIndex!="undefined"){s.tabIndex=H.tabIndex}I.appendChild(s);H.table.parentNode.insertBefore(I,H.table.nextSibling);
+jQuery(s).focus(function(){if(!C){w=true;C=false;if(typeof H.focus.nodeName!="undefined"){b(H.focus,H.initScroll)
+}else{b(E(H.focus[0],H.focus[1]),H.initScroll)}setTimeout(function(){s.blur()},0)
+}});w=false}else{if(typeof H.focus.nodeName!="undefined"){b(H.focus,H.initScroll)
+}else{b(E(H.focus[0],H.focus[1]),H.initScroll)}D()}if(jQuery.browser.mozilla||jQuery.browser.opera){jQuery(document).bind("keypress",h)
+}else{jQuery(document).bind("keydown",h)}if(e){jQuery("td",e.fnGetNodes()).click(l)
+}else{jQuery("td",f).click(l)}jQuery(document).click(function(L){var M=L.target;var K=false;
+while(M){if(M==H.table){K=true;break}M=M.parentNode}if(!K){u()}})}v(q,this)};
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/alt_init.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/alt_init.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/alt_init.html	(revision 6286)
@@ -0,0 +1,519 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+			tr.selected {
+				background-color: red !important;
+			}
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				var oTable = $('#example').dataTable();
+				var oTableTools = new TableTools( oTable, {
+					"buttons": [
+						"copy",
+						"csv",
+						"xls",
+						"pdf",
+						{ "type": "print", "buttonText": "Print me!" }
+					]
+				} );
+				
+				$('#demo').before( oTableTools.dom.container );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - initialisation with 'new TableTools()'
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Typically when working with TableTools, the initialisation and insertion into the DOM will be done automatically by DataTables, through the use of the sDom parameter. However, it is also possible to initialise TableTools manually as shown in the example below. Once initialised you can insert the TableTools tool bar node anywhere you wish into the DOM using the <i>instance</i>.dom.container parameter.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	var oTableTools = new TableTools( oTable, {
+		"buttons": [
+			"copy",
+			"csv",
+			"xls",
+			"pdf",
+			{ "type": "print", "buttonText": "Print me!" }
+		]
+	} );
+	
+	$('#demo').before( oTableTools.dom.container );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/alter_buttons.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/alter_buttons.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/alter_buttons.html	(revision 6286)
@@ -0,0 +1,504 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"aButtons": [ "copy", "print" ]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - button arrangement
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>TableTools makes it very simple to arrange the buttons in the toolbar as you see fit. Using the <i>aButtons</i> parameter you can use any of the <a href="http://datatables.net/extras/tabletools/buttons">predefined buttons</a> or <a href="http://datatables.net/extras/tabletools/button_options">customised buttons</a>. The example below shows how TableTools can be initialised to provide only the 'copy-to-clipboard' and 'print view' options (i.e. no save to local file option is available).</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"aButtons": [ "copy", "print" ]
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/button_text.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/button_text.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/button_text.html	(revision 6286)
@@ -0,0 +1,530 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"aButtons": [
+							{
+								"sExtends": "copy",
+								"sButtonText": "Copy to clipboard"
+							},
+							{
+								"sExtends": "csv",
+								"sButtonText": "Save to CSV"
+							},
+							{
+								"sExtends": "xls",
+								"sButtonText": "Save for Excel"
+							}
+						]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - customised button text
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>You may wish to set your own text for the buttons in the TableTools toolbar, rather than relying on the default built-in text. This is done by overriding the <i>sButtonText</i> parameter of whatever button you wish to alter. The way TableTools allows you to alter a predefined button is by 'extending' it (using the <i>sExtends</i> parameter) and then setting the overriding parameter. A full list of the parameters which can be used is <a href="http://datatables.net/extras/tabletools/button_options">available on the DataTables.net web-site</a>. This example shows how to set the button text as required.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"aButtons": [
+				{
+					"sExtends": "copy",
+					"sButtonText": "Copy to clipboard"
+				},
+				{
+					"sExtends": "csv",
+					"sButtonText": "Save to CSV"
+				},
+				{
+					"sExtends": "xls",
+					"sButtonText": "Save for Excel"
+				}
+			]
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/collection.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/collection.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/collection.html	(revision 6286)
@@ -0,0 +1,521 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"aButtons": [
+							"copy",
+							"print",
+							{
+								"sExtends":    "collection",
+								"sButtonText": "Save",
+								"aButtons":    [ "csv", "xls", "pdf" ]
+							}
+						]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - button collections
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>TableTools provides the ability to group buttons into a hidden drop down list, which is activated by clicking on a top-level button. This is achieved by extending the 'collection' predefined button type and setting it's <i>aButtons</i> parameter with the same options as the top level buttons (note that you cannot currently use a collection within a collection).</p>
+			<p>The example below shows the file save buttons grouped into a collection, while the copy and print buttons are left on the top level.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"aButtons": [
+				"copy",
+				"print",
+				{
+					"sExtends":    "collection",
+					"sButtonText": "Save",
+					"aButtons":    [ "csv", "xls", "pdf" ]
+				}
+			]
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/defaults.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/defaults.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/defaults.html	(revision 6286)
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				TableTools.DEFAULTS.aButtons = [ "copy", "csv", "xls" ];
+				
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - changing the initialisation defaults
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>TableTools provides the ability to override the default initialisation parameters that are used when creating a new instance. This this particularly useful if you have multiple tables which you want to have the same TableTools behaviour - rather than declaring the structure multiple times, you can just set the defaults once. This example shows how to alter the default buttons.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	TableTools.DEFAULTS.aButtons = [ "copy", "csv", "xls" ];
+	
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip'
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/index.html	(revision 6286)
@@ -0,0 +1,498 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows the basic initialisation of TableTools by simply including the 'T' marker in DataTables' sDom parameter. This tell DataTables to insert the TableTools toolbar in that location. Remember to include the Javascript and CSS source files as well!</p>
+			<p>It is worth noting that you might need to <a href="swf_path.html">set the <i>sSwfPath</i> parameter</a> to tell TableTools where to find the SWF file for copy and file save.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬ ×××Š××)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip'
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/as3/ZeroClipboard.as
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/as3/ZeroClipboard.as	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/as3/ZeroClipboard.as	(revision 6286)
@@ -0,0 +1,223 @@
+﻿/* Compile using: mxmlc --target-player=10.0.0 ZeroClipboard.as */
+package {
+	import flash.display.Stage;
+	import flash.display.Sprite;
+	import flash.display.LoaderInfo;
+	import flash.display.StageScaleMode;
+	import flash.events.*;
+	import flash.display.StageAlign;
+	import flash.display.StageScaleMode;
+	import flash.external.ExternalInterface;
+	import flash.system.Security;
+	import flash.utils.*;
+	import flash.system.System;
+	import flash.net.FileReference;
+	import flash.net.FileFilter;
+ 
+	public class ZeroClipboard extends Sprite {
+		
+		private var domId:String = '';
+		private var button:Sprite;
+		private var clipText:String = 'blank';
+		private var fileName:String = '';
+		private var action:String = 'copy';
+		private var incBom:Boolean = true;
+		private var charSet:String = 'utf8';
+		
+		
+		public function ZeroClipboard() {
+			// constructor, setup event listeners and external interfaces
+			stage.scaleMode = StageScaleMode.EXACT_FIT;
+			flash.system.Security.allowDomain("*");
+			
+			// import flashvars
+			var flashvars:Object = LoaderInfo( this.root.loaderInfo ).parameters;
+			domId = flashvars.id;
+			
+			// invisible button covers entire stage
+			button = new Sprite();
+			button.buttonMode = true;
+			button.useHandCursor = true;
+			button.graphics.beginFill(0x00FF00);
+			button.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
+			button.alpha = 0.0;
+			addChild(button);
+			
+			button.addEventListener(MouseEvent.CLICK, clickHandler);
+			button.addEventListener(MouseEvent.MOUSE_OVER, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseOver', null );
+			} );
+			button.addEventListener(MouseEvent.MOUSE_OUT, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseOut', null );
+			} );
+			button.addEventListener(MouseEvent.MOUSE_DOWN, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseDown', null );
+			} );
+			button.addEventListener(MouseEvent.MOUSE_UP, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseUp', null );
+			} );
+			
+			/* External functions
+			 * See the PDF version for why this is done this way :-(
+			 */
+			addCallbacks();
+			setInterval( addCallbacks, 1000 );
+			
+			// signal to the browser that we are ready
+			ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'load', null );
+		}
+		
+		public function addCallbacks ():void {
+			ExternalInterface.addCallback("setHandCursor", setHandCursor);
+			ExternalInterface.addCallback("clearText", clearText);
+			ExternalInterface.addCallback("setText", setText);
+			ExternalInterface.addCallback("appendText", appendText);
+			ExternalInterface.addCallback("setFileName", setFileName);
+			ExternalInterface.addCallback("setAction", setAction);
+			ExternalInterface.addCallback("setCharSet", setCharSet);
+			ExternalInterface.addCallback("setBomInc", setBomInc);
+		}
+		
+		
+		public function setCharSet(newCharSet:String):void {
+			if ( newCharSet == 'UTF16LE' ) {
+				charSet = newCharSet;
+			} else {
+				charSet = 'UTF8';
+			}
+		}
+		
+		public function setBomInc(newBomInc:Boolean):void {
+			incBom = newBomInc;
+		}
+		
+		public function clearText():void {
+			clipText = '';
+		}
+		
+		public function appendText(newText:String):void {
+			clipText += newText;
+		}
+		
+		public function setText(newText:String):void {
+			clipText = newText;
+		}
+		
+		public function setFileName(newFileName:String):void {
+			fileName = newFileName;
+		}
+		
+		public function setAction(newAction:String):void {
+			action = newAction;
+		}
+		
+		public function setHandCursor(enabled:Boolean):void {
+			// control whether the hand cursor is shown on rollover (true)
+			// or the default arrow cursor (false)
+			button.useHandCursor = enabled;
+		}
+		
+		
+		private function clickHandler(event:Event):void {
+			var fileRef:FileReference = new FileReference();
+			fileRef.addEventListener(Event.COMPLETE, saveComplete);
+			
+			if ( action == "save" ) {
+				/* Save as a file */
+				if ( charSet == 'UTF16LE' ) {
+					fileRef.save( strToUTF16LE(clipText), fileName );
+				} else {
+					fileRef.save( strToUTF8(clipText), fileName );
+				}
+			} else if ( action == "pdf" ) {
+					fileRef.save( "This instance of ZeroClipboard is not configured for PDF export. "+
+						"Please use the PDF export version.", fileName+".txt" );
+			} else {
+				/* Copy the text to the clipboard. Note charset and BOM have no effect here */
+				System.setClipboard( clipText );
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'complete', clipText );
+			}
+		}
+		
+		
+		private function saveComplete(event:Event):void {
+			ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'complete', clipText );
+		}
+		
+		
+		private function getProp( prop:String, opts:Array ):String
+		{
+			var i:int, iLen:int;
+			for ( i=0, iLen=opts.length ; i<iLen ; i++ )
+			{
+				if ( opts[i].indexOf( prop+":" ) != -1 )
+				{
+					return opts[i].replace( prop+":", "" );
+				}
+			}
+			return "";
+		}
+		
+		
+		/*
+		 * Function: strToUTF8
+		 * Purpose:  Convert a string to the output utf-8
+		 * Returns:  ByteArray
+		 * Inputs:   String
+		 */
+		private function strToUTF8( str:String ):ByteArray {
+			var utf8:ByteArray = new ByteArray();
+			
+			/* BOM first */
+			if ( incBom ) {
+				utf8.writeByte( 0xEF );
+				utf8.writeByte( 0xBB );
+				utf8.writeByte( 0xBF );
+			}
+			utf8.writeUTFBytes( str );
+			
+			return utf8;
+		}
+		
+		
+		/*
+		 * Function: strToUTF16LE
+		 * Purpose:  Convert a string to the output utf-16
+		 * Returns:  ByteArray
+		 * Inputs:   String
+		 * Notes:    The fact that this function is needed is a little annoying. Basically, strings in
+		 *   AS3 are UTF-16 (with surrogate pairs and everything), but characters which take up less
+		 *   than 8 bytes appear to be stored as only 8 bytes. This function effective adds the 
+		 *   padding required, and the BOM
+		 */
+		private function strToUTF16LE( str:String ):ByteArray {
+			var utf16:ByteArray = new ByteArray();
+			var iChar:uint;
+			var i:uint=0, iLen:uint = str.length;
+			
+			/* BOM first */
+			if ( incBom ) {
+				utf16.writeByte( 0xFF );
+				utf16.writeByte( 0xFE );
+			}
+			
+			while ( i < iLen ) {
+				iChar = str.charCodeAt(i);
+				
+				if ( iChar < 0xFF ) {
+					/* one byte char */
+					utf16.writeByte( iChar );
+					utf16.writeByte( 0 );
+				} else {
+					/* two byte char */
+					utf16.writeByte( iChar & 0x00FF );
+					utf16.writeByte( iChar >> 8 );
+				}
+				
+				i++;
+			}
+			
+			return utf16;
+		}
+	}
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/as3/ZeroClipboardPdf.as
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/as3/ZeroClipboardPdf.as	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/as3/ZeroClipboardPdf.as	(revision 6286)
@@ -0,0 +1,318 @@
+﻿/* Compile using: mxmlc --target-player=10.0.0 -static-link-runtime-shared-libraries=true -library-path+=lib ZeroClipboardPdf.as */
+package {
+	import flash.display.Stage;
+	import flash.display.Sprite;
+	import flash.display.LoaderInfo;
+	import flash.display.StageScaleMode;
+	import flash.events.*;
+	import flash.display.StageAlign;
+	import flash.display.StageScaleMode;
+	import flash.external.ExternalInterface;
+	import flash.system.Security;
+	import flash.utils.*;
+	import flash.system.System;
+	import flash.net.FileReference;
+	import flash.net.FileFilter;
+	
+	/* PDF imports */
+	import org.alivepdf.pdf.PDF;
+	import org.alivepdf.data.Grid;
+	import org.alivepdf.data.GridColumn;
+	import org.alivepdf.layout.Orientation;
+	import org.alivepdf.layout.Size;
+	import org.alivepdf.layout.Unit;
+	import org.alivepdf.display.Display;
+	import org.alivepdf.saving.Method;
+	import org.alivepdf.fonts.FontFamily;
+	import org.alivepdf.fonts.Style;
+	import org.alivepdf.fonts.CoreFont;
+	import org.alivepdf.colors.RGBColor;
+ 
+	public class ZeroClipboard extends Sprite {
+		
+		private var domId:String = '';
+		private var button:Sprite;
+		private var clipText:String = 'blank';
+		private var fileName:String = '';
+		private var action:String = 'copy';
+		private var incBom:Boolean = true;
+		private var charSet:String = 'utf8';
+		
+		
+		public function ZeroClipboard() {
+			// constructor, setup event listeners and external interfaces
+			stage.scaleMode = StageScaleMode.EXACT_FIT;
+			flash.system.Security.allowDomain("*");
+			
+			// import flashvars
+			var flashvars:Object = LoaderInfo( this.root.loaderInfo ).parameters;
+			domId = flashvars.id;
+			
+			// invisible button covers entire stage
+			button = new Sprite();
+			button.buttonMode = true;
+			button.useHandCursor = true;
+			button.graphics.beginFill(0x00FF00);
+			button.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
+			button.alpha = 0.0;
+			addChild(button);
+			
+			button.addEventListener(MouseEvent.CLICK, function(event:Event):void {
+				clickHandler(event);
+			} );
+			button.addEventListener(MouseEvent.MOUSE_OVER, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseOver', null );
+			} );
+			button.addEventListener(MouseEvent.MOUSE_OUT, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseOut', null );
+			} );
+			button.addEventListener(MouseEvent.MOUSE_DOWN, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseDown', null );
+			} );
+			button.addEventListener(MouseEvent.MOUSE_UP, function(event:Event):void {
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'mouseUp', null );
+			} );
+			
+			/* External functions
+			 * This is extremely nasty, and I'm far from proud of this, however, when a Flash
+			 * movie is hidden in IE (i.e. display:none) then all callbacks are removed, and there
+			 * is no way to tell that this has happened! Javascript can't tell us since there are
+			 * no callbacks - so we need to add them again and again... Fortunatly Flash doesn't
+			 * allow multiple callback functions to be used with each callback name, it just uses
+			 * the provided function, so the only thing we use for this workaround is a couple of
+			 * clock cycles.
+			 */
+			addCallbacks();
+			setInterval( addCallbacks, 1000 );
+			
+			// signal to the browser that we are ready
+			ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'load', null );
+		}
+		
+		public function addCallbacks ():void {
+			ExternalInterface.addCallback("setHandCursor", setHandCursor);
+			ExternalInterface.addCallback("clearText", clearText);
+			ExternalInterface.addCallback("setText", setText);
+			ExternalInterface.addCallback("appendText", appendText);
+			ExternalInterface.addCallback("setFileName", setFileName);
+			ExternalInterface.addCallback("setAction", setAction);
+			ExternalInterface.addCallback("setCharSet", setCharSet);
+			ExternalInterface.addCallback("setBomInc", setBomInc);
+		}
+		
+		
+		public function setCharSet(newCharSet:String):void {
+			if ( newCharSet == 'UTF16LE' ) {
+				charSet = newCharSet;
+			} else {
+				charSet = 'UTF8';
+			}
+		}
+		
+		public function setBomInc(newBomInc:Boolean):void {
+			incBom = newBomInc;
+		}
+		
+		public function clearText():void {
+			clipText = '';
+		}
+		
+		public function appendText(newText:String):void {
+			clipText += newText;
+		}
+		
+		public function setText(newText:String):void {
+			clipText = newText;
+		}
+		
+		public function setFileName(newFileName:String):void {
+			fileName = newFileName;
+		}
+		
+		public function setAction(newAction:String):void {
+			action = newAction;
+		}
+		
+		public function setHandCursor(enabled:Boolean):void {
+			// control whether the hand cursor is shown on rollover (true)
+			// or the default arrow cursor (false)
+			button.useHandCursor = enabled;
+		}
+		
+		
+		private function clickHandler(event:Event):void {
+			var fileRef:FileReference = new FileReference();
+			fileRef.addEventListener(Event.COMPLETE, saveComplete);
+			
+			if ( action == "save" ) {
+				/* Save as a file */
+				if ( charSet == 'UTF16LE' ) {
+					fileRef.save( strToUTF16LE(clipText), fileName );
+				} else {
+					fileRef.save( strToUTF8(clipText), fileName );
+				}
+			} else if ( action == "pdf" ) {
+				/* Save as a PDF */
+				var pdf:PDF = configPdf();
+				fileRef.save( pdf.save( Method.LOCAL ), fileName );
+			} else {
+				/* Copy the text to the clipboard. Note charset and BOM have no effect here */
+				System.setClipboard( clipText );
+				ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'complete', clipText );
+			}
+		}
+		
+		
+		private function saveComplete(event:Event):void {
+			ExternalInterface.call( 'ZeroClipboard.dispatch', domId, 'complete', clipText );
+		}
+		
+		
+		private function getProp( prop:String, opts:Array ):String
+		{
+			var i:int, iLen:int;
+			for ( i=0, iLen=opts.length ; i<iLen ; i++ )
+			{
+				if ( opts[i].indexOf( prop+":" ) != -1 )
+				{
+					return opts[i].replace( prop+":", "" );
+				}
+			}
+			return "";
+		}
+		
+		
+		private function configPdf():PDF
+		{
+			var
+				pdf:PDF,
+				i:int, iLen:int,
+				splitText:Array    = clipText.split("--/TableToolsOpts--\n"),
+				opts:Array         = splitText[0].split("\n"),
+				dataIn:Array       = splitText[1].split("\n"),
+				aColRatio:Array    = getProp( 'colWidth', opts ).split('\t'),
+				title:String       = getProp( 'title', opts ),
+				message:String     = getProp( 'message', opts ),
+				orientation:String = getProp( 'orientation', opts ),
+				size:String        = getProp( 'size', opts ),
+				iPageWidth:int     = 0,
+				dataOut:Array      = [],
+				columns:Array      = [],
+				headers:Array,
+				y:int = 0;
+			
+			/* Create the PDF */
+			pdf = new PDF( Orientation[orientation.toUpperCase()], Unit.MM, Size[size.toUpperCase()] );
+			pdf.setDisplayMode( Display.FULL_WIDTH );
+			pdf.addPage();
+			iPageWidth = pdf.getCurrentPage().w-20;
+			pdf.textStyle( new RGBColor(0), 1 );
+			
+			/* Add the title / message if there is one */
+			pdf.setFont( new CoreFont(FontFamily.HELVETICA), 14 );
+			if ( title != "" )
+			{
+				pdf.writeText(11, title+"\n");
+			}
+			
+			pdf.setFont( new CoreFont(FontFamily.HELVETICA), 11 );
+			if ( message != "" )
+			{
+				pdf.writeText(11, message+"\n");
+			}
+			
+			/* Data setup. Split up the headers, and then construct the columns */
+			for ( i=0, iLen=dataIn.length ; i<iLen ; i++ )
+			{
+				if ( dataIn[i] != "" )
+				{
+					dataOut.push( dataIn[i].split("\t") );
+				}
+			}
+			headers = dataOut.shift();
+			
+			for ( i=0, iLen=headers.length ; i<iLen ; i++ )
+			{
+				columns.push( new GridColumn( " \n"+headers[i]+"\n ", i.toString(), aColRatio[i]*iPageWidth, 'C' ) );
+			}
+			
+			var grid:Grid = new Grid(
+				dataOut,                  /* 1. data */
+				iPageWidth,               /* 2. width */
+				100,                      /* 3. height */
+				new RGBColor (0xE0E0E0),  /* 4. headerColor */
+				new RGBColor (0xFFFFFF),  /* 5. backgroundColor */
+				true,                     /* 6. alternateRowColor */
+				new RGBColor ( 0x0 ),     /* 7. borderColor */
+				.1,                       /* 8. border alpha */
+				null,                     /* 9. joins */
+				columns                   /* 10. columns */
+			);
+			
+			pdf.addGrid( grid, 0, y );
+			return pdf;
+		}
+		
+		
+		/*
+		 * Function: strToUTF8
+		 * Purpose:  Convert a string to the output utf-8
+		 * Returns:  ByteArray
+		 * Inputs:   String
+		 */
+		private function strToUTF8( str:String ):ByteArray {
+			var utf8:ByteArray = new ByteArray();
+			
+			/* BOM first */
+			if ( incBom ) {
+				utf8.writeByte( 0xEF );
+				utf8.writeByte( 0xBB );
+				utf8.writeByte( 0xBF );
+			}
+			utf8.writeUTFBytes( str );
+			
+			return utf8;
+		}
+		
+		
+		/*
+		 * Function: strToUTF16LE
+		 * Purpose:  Convert a string to the output utf-16
+		 * Returns:  ByteArray
+		 * Inputs:   String
+		 * Notes:    The fact that this function is needed is a little annoying. Basically, strings in
+		 *   AS3 are UTF-16 (with surrogate pairs and everything), but characters which take up less
+		 *   than 8 bytes appear to be stored as only 8 bytes. This function effective adds the 
+		 *   padding required, and the BOM
+		 */
+		private function strToUTF16LE( str:String ):ByteArray {
+			var utf16:ByteArray = new ByteArray();
+			var iChar:uint;
+			var i:uint=0, iLen:uint = str.length;
+			
+			/* BOM first */
+			if ( incBom ) {
+				utf16.writeByte( 0xFF );
+				utf16.writeByte( 0xFE );
+			}
+			
+			while ( i < iLen ) {
+				iChar = str.charCodeAt(i);
+				
+				if ( iChar < 0xFF ) {
+					/* one byte char */
+					utf16.writeByte( iChar );
+					utf16.writeByte( 0 );
+				} else {
+					/* two byte char */
+					utf16.writeByte( iChar & 0x00FF );
+					utf16.writeByte( iChar >> 8 );
+				}
+				
+				i++;
+			}
+			
+			return utf16;
+		}
+	}
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/css/TableTools.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/css/TableTools.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/css/TableTools.css	(revision 6286)
@@ -0,0 +1,264 @@
+/*
+ * File:        TableTools.css
+ * Description: Styles for TableTools 2
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Language:    Javascript
+ * License:     LGPL / 3 point BSD
+ * Project:     DataTables
+ * 
+ * Copyright 2010 Allan Jardine, all rights reserved.
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * CSS name space:
+ *   DTTT                  DataTables TableTools
+ *
+ * Colour dictionary:
+ *   Button border         #d0d0d0
+ *   Button border hover   #999999
+ *   Hover background      #f0f0f0
+ *   Action blue           #4b66d9
+ *
+ * Style sheet provides:
+ *   CONTAINER             TableTools container element and styles applying to all components
+ *   BUTTON_STYLES         Action specific button styles
+ *   SELECTING             Row selection styles
+ *   COLLECTIONS           Drop down list (collection) styles
+ *   PRINTING              Print display styles
+ *   MISC                  Minor misc styles
+ */
+
+
+/*
+ * CONTAINER
+ * TableTools container element and styles applying to all components
+ */
+div.DTTT_container {
+	float: right;
+	margin-bottom: 1em;
+}
+
+button.DTTT_button {
+	position: relative;
+	float: left;
+	height: 30px;
+	margin-right: 3px;
+	padding: 3px 5px;
+	border: 1px solid #d0d0d0;
+	background-color: #fff;
+	cursor: pointer;
+	*cursor: hand;
+}
+
+button.DTTT_button::-moz-focus-inner { 
+	border: none !important;
+	padding: 0;
+}
+
+
+/*
+ * BUTTON_STYLES
+ * Action specific button styles
+ */
+
+button.DTTT_button_csv {
+	padding-right: 30px;
+	background: url(../images/csv.png) no-repeat center right;
+}
+
+button.DTTT_button_csv_hover {
+	padding-right: 30px;
+	border: 1px solid #999;
+	background: #f0f0f0 url(../images/csv_hover.png) no-repeat center right;
+}
+
+
+button.DTTT_button_xls {
+	padding-right: 30px;
+	background: url(../images/xls.png) no-repeat center right;
+}
+
+button.DTTT_button_xls_hover {
+	padding-right: 30px;
+	border: 1px solid #999;
+	background: #f0f0f0 url(../images/xls_hover.png) no-repeat center right;
+}
+
+
+button.DTTT_button_copy {
+	padding-right: 30px;
+	background: url(../images/copy.png) no-repeat center right;
+}
+
+button.DTTT_button_copy_hover {
+	padding-right: 30px;
+	border: 1px solid #999;
+	background: #f0f0f0 url(../images/copy_hover.png) no-repeat center right;
+}
+
+
+button.DTTT_button_pdf {
+	padding-right: 30px;
+	background: url(../images/pdf.png) no-repeat center right;
+}
+
+button.DTTT_button_pdf_hover {
+	padding-right: 30px;
+	border: 1px solid #999;
+	background: #f0f0f0 url(../images/pdf_hover.png) no-repeat center right;
+}
+
+
+button.DTTT_button_print {
+	padding-right: 30px;
+	background: url(../images/print.png) no-repeat center right;
+}
+
+button.DTTT_button_print_hover {
+	padding-right: 30px;
+	border: 1px solid #999;
+	background: #f0f0f0 url(../images/print_hover.png) no-repeat center right;
+}
+
+
+button.DTTT_button_text {
+}
+
+button.DTTT_button_text_hover {
+	border: 1px solid #999;
+	background-color: #f0f0f0;
+}
+
+
+button.DTTT_button_collection {
+	padding-right: 17px;
+	background: url(../images/collection.png) no-repeat center right;
+}
+
+button.DTTT_button_collection_hover {
+	padding-right: 17px;
+	border: 1px solid #999;
+	background: #f0f0f0 url(../images/collection_hover.png) no-repeat center right;
+}
+
+
+/*
+ * SELECTING
+ * Row selection styles
+ */
+table.DTTT_selectable tbody tr {
+	cursor: pointer;
+	*cursor: hand;
+}
+
+tr.DTTT_selected.odd {
+	background-color: #9FAFD1;
+}
+
+tr.DTTT_selected.odd td.sorting_1 {
+	background-color: #9FAFD1;
+}
+
+tr.DTTT_selected.odd td.sorting_2 {
+	background-color: #9FAFD1;
+}
+
+tr.DTTT_selected.odd td.sorting_3 {
+	background-color: #9FAFD1;
+}
+
+
+tr.DTTT_selected.even {
+	background-color: #B0BED9;
+}
+
+tr.DTTT_selected.even td.sorting_1 {
+	background-color: #B0BED9;
+}
+
+tr.DTTT_selected.even td.sorting_2 {
+	background-color: #B0BED9;
+}
+
+tr.DTTT_selected.even td.sorting_3 {
+	background-color: #B0BED9;
+}
+
+
+/*
+ * COLLECTIONS
+ * Drop down list (collection) styles
+ */
+
+div.DTTT_collection {
+	width: 150px;
+	padding: 3px;
+	border: 1px solid #ccc;
+	background-color: #f3f3f3;
+	overflow: hidden;
+	z-index: 2002;
+}
+
+div.DTTT_collection_background {
+	background: transparent url(../images/background.png) repeat top left;
+	z-index: 2001;
+}
+
+div.DTTT_collection button.DTTT_button {
+	float: none;
+	width: 100%;
+	margin-bottom: 2px;
+	background-color: white;
+}
+
+
+/*
+ * PRINTING
+ * Print display styles
+ */
+
+.DTTT_print_info {
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	width: 400px;
+	height: 150px;
+	margin-left: -200px;
+	margin-top: -75px;
+	text-align: center;
+	background-color: #3f3f3f;
+	color: white;
+	padding: 10px 30px;
+	
+	opacity: 0.9;
+	
+	border-radius: 5px;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	
+	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+	-moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+}
+
+.DTTT_print_info h6 {
+	font-weight: normal;
+	font-size: 28px;
+	line-height: 28px;
+	margin: 1em;
+}
+
+.DTTT_print_info p {
+	font-size: 14px;
+	line-height: 20px;
+}
+
+
+/*
+ * MISC
+ * Minor misc styles
+ */
+
+.DTTT_disabled {
+	color: #999;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/css/TableTools_JUI.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/css/TableTools_JUI.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/css/TableTools_JUI.css	(revision 6286)
@@ -0,0 +1,182 @@
+/*
+ * File:        TableTools.css
+ * Description: Styles for TableTools 2 with JUI theming
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Language:    Javascript
+ * License:     LGPL / 3 point BSD
+ * Project:     DataTables
+ * 
+ * Copyright 2010 Allan Jardine, all rights reserved.
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Notes:
+ *   Generally speaking, please refer to the TableTools.css file - this file contains basic
+ *   modifications to that 'master' stylesheet for ThemeRoller.
+ *
+ * CSS name space:
+ *   DTTT                  DataTables TableTools
+ *
+ * Colour dictionary:
+ *   Button border         #d0d0d0
+ *   Button border hover   #999999
+ *   Hover background      #f0f0f0
+ *   Action blue           #4b66d9
+ *
+ * Style sheet provides:
+ *   CONTAINER             TableTools container element and styles applying to all components
+ *   SELECTING             Row selection styles
+ *   COLLECTIONS           Drop down list (collection) styles
+ *   PRINTING              Print display styles
+ *   MISC                  Minor misc styles
+ */
+
+
+/*
+ * CONTAINER
+ * TableTools container element and styles applying to all components
+ */
+div.DTTT_container {
+	float: left;
+}
+
+button.DTTT_button {
+	position: relative;
+	float: left;
+	height: 24px;
+	margin-right: 3px;
+	padding: 3px 10px;
+	border: 1px solid #d0d0d0;
+	background-color: #fff;
+	cursor: pointer;
+	*cursor: hand;
+}
+
+button.DTTT_button::-moz-focus-inner { 
+	border: none !important;
+	padding: 0;
+}
+
+
+
+/*
+ * SELECTING
+ * Row selection styles
+ */
+table.DTTT_selectable tbody tr {
+	cursor: pointer;
+	*cursor: hand;
+}
+
+tr.DTTT_selected.odd {
+	background-color: #9FAFD1;
+}
+
+tr.DTTT_selected.odd td.sorting_1 {
+	background-color: #9FAFD1;
+}
+
+tr.DTTT_selected.odd td.sorting_2 {
+	background-color: #9FAFD1;
+}
+
+tr.DTTT_selected.odd td.sorting_3 {
+	background-color: #9FAFD1;
+}
+
+
+tr.DTTT_selected.even {
+	background-color: #B0BED9;
+}
+
+tr.DTTT_selected.even td.sorting_1 {
+	background-color: #B0BED9;
+}
+
+tr.DTTT_selected.even td.sorting_2 {
+	background-color: #B0BED9;
+}
+
+tr.DTTT_selected.even td.sorting_3 {
+	background-color: #B0BED9;
+}
+
+
+/*
+ * COLLECTIONS
+ * Drop down list (collection) styles
+ */
+
+div.DTTT_collection {
+	width: 150px;
+	background-color: #f3f3f3;
+	overflow: hidden;
+	z-index: 2002;
+	
+	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+	-moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+}
+
+div.DTTT_collection_background {
+	background: url(../images/background.png) repeat top left;
+	z-index: 2001;
+}
+
+div.DTTT_collection button.DTTT_button {
+	float: none;
+	width: 100%;
+	margin-bottom: -0.1em;
+}
+
+
+/*
+ * PRINTING
+ * Print display styles
+ */
+
+.DTTT_print_info {
+	position: absolute;
+	top: 50%;
+	left: 50%;
+	width: 400px;
+	height: 150px;
+	margin-left: -200px;
+	margin-top: -75px;
+	text-align: center;
+	background-color: #3f3f3f;
+	color: white;
+	padding: 10px 30px;
+	
+	opacity: 0.9;
+	
+	border-radius: 5px;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	
+	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+	-moz-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
+}
+
+.DTTT_print_info h6 {
+	font-weight: normal;
+	font-size: 28px;
+	line-height: 28px;
+	margin: 1em;
+}
+
+.DTTT_print_info p {
+	font-size: 14px;
+	line-height: 20px;
+}
+
+
+/*
+ * MISC
+ * Minor misc styles
+ */
+
+.DTTT_disabled {
+	color: #999;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/css/default.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/css/default.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/css/default.css	(revision 6286)
@@ -0,0 +1,418 @@
+/*
+ * TABLE OF CONTENTS:
+ * - Browser reset
+ * - HTML elements
+ * - JsDoc styling
+ */
+
+
+
+
+
+
+/*
+ * BEGIN BROWSER RESET
+ */
+
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,pre,form,fieldset,input,textarea,p,blockquote,th,td {
+	margin:0;
+	padding:0
+}
+html {
+	height:100%;
+	overflow:-moz-scrollbars-vertical;
+	overflow-x:auto
+}
+table {
+	border:0;
+	border-collapse:collapse;
+	border-spacing:0
+}
+fieldset,img {
+	border:0
+}
+address,caption,cite,code,dfn,em,strong,th,var {
+	font-style:normal;
+	font-weight:normal
+}
+em,cite {
+	font-style:italic
+}
+strong {
+	font-weight:bold
+}
+ol,ul {
+	list-style:none
+}
+caption,th {
+	text-align:left
+}
+h1,h2,h3,h4,h5,h6 {
+	font-size:100%;
+	font-weight:normal;
+	margin:0;
+	padding:0
+}
+q:before,q:after {
+	content:''
+}
+abbr,acronym {
+	border:0
+}
+
+/*
+ * END BROWSER RESET
+ */
+
+
+
+
+
+
+/*
+ * HTML ELEMENTS
+ */
+
+* {
+	line-height: 1.4em;
+}
+
+html {
+	font-size: 100%;
+}
+
+body {
+	font-size: 0.75em !important;
+	padding: 15px 0;
+	background: #eee;
+	background-image: -moz-linear-gradient(left, #dddddd, #f9f9f9);
+	background-image: -webkit-gradient(linear,left bottom,right bottom,color-stop(0, #dddddd),color-stop(1, #f9f9f9));
+  }
+
+body,
+input,
+select,
+textarea {
+	color: #000;
+	font-family: Arial, Geneva, sans-serif;
+}
+
+a:link,
+a:hover,
+a:active,
+a:visited {
+	color: #19199e;
+}
+a:hover,
+a:focus {
+	color: #00f;
+	text-decoration: none;
+}
+
+p {
+	margin: 0 0 1.5em 0;
+}
+
+/*
+ * END HTML ELEMENTS
+ */
+
+
+ 
+/*
+ * BEGIN HACK
+ */
+
+div.containerMain:after,
+div.safeBox:after {
+	content:"";
+	display:block;
+	height:0;
+	clear:both;
+}
+
+/*
+ * END HACK
+ */
+
+
+
+/*
+ * BEGIN JSDOC
+ */
+
+div.index *.heading1 {
+	margin-bottom: 0.5em;
+	border-bottom: 1px solid #999999;
+	padding: 0.5em 0 0.1em 0;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.3em;
+	letter-spacing: 1px;
+}
+ 
+div.index {
+	float: left;
+	width: 30%;
+	min-width: 100px;
+	max-width: 250px;
+}
+div.index div.menu {
+	margin: 0 15px 0 -15px;
+	-moz-border-radius: 15px;
+	-webkit-border-radius: 15px;
+	border-radius: 15px;
+  	padding: 15px 15px 15px 30px;
+	background-color: #FFFFFF;
+	background-color: rgba(255, 255, 255, 0.5);
+	-moz-box-shadow: 0px 0px 10px #c4c4c4;
+	-webkit-box-shadow: 0px 0px 10px #c4c4c4;
+	box-shadow: 0px 0px 10px #c4c4c4;
+}
+*+html div.index div.menu {
+	background-color: #FFFFFF;
+}
+* html div.index div.menu {
+	background-color: #FFFFFF;
+}
+
+div.index div.menu div {
+	text-align: left;
+}
+
+div.index div.menu a {
+	text-decoration: none;
+}
+div.index div.menu a:hover {
+	text-decoration: underline;
+}
+
+div.index ul.classList a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.index div.fineprint {
+  	padding: 15px 30px 15px 15px;
+	color: #777;
+	font-size: 0.9em;
+}
+div.index div.fineprint a {
+	color: #777;
+}
+
+
+
+div.content {
+	float: left;
+	width: 70%;
+	min-width: 300px;
+	max-width: 600px;
+}
+div.innerContent {
+	padding: 0 0 0 2.5em;
+}
+
+div.content ul,
+div.content ol {
+	margin-bottom: 3em;
+}
+
+div.content *.classTitle {
+	margin-bottom: 0.5em;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 2.5em;
+	letter-spacing: 2px;
+}
+
+div.content *.classTitle span {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+div.content p.summary {
+	font-size: 1.2em;
+}
+
+div.content ul *.classname a,
+div.content ul *.filename a {
+	font-family: Consolas, "Courier New", Courier, monospace;
+	text-decoration: none;
+	font-weight: bold;
+}
+div.content ul *.classname a:hover,
+div.content ul *.filename a:hover {
+	text-decoration: underline;
+}
+
+div.content div.props {
+	position: relative;
+	left: -10px;
+	margin-bottom: 2.5em;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	border-radius: 5px;
+	padding: 10px 15px 15px 15px;
+	overflow: hidden;
+	background: #fff;
+	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.2)); /* FF3.6 */
+	background: -webkit-gradient(linear,left top,left bottom,color-stop(0, rgba(255, 255, 255, 0.7)),color-stop(1, rgba(255, 255, 255, 0.2)));
+	-moz-box-shadow: 0px 0px 10px #ccc;
+	-webkit-box-shadow: 0px 0px 5px #bbb;
+	box-shadow: 0px 0px 5px #bbb;
+}
+
+div.content div.props div.sectionTitle {
+	padding-bottom: 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+div.content div.hr {
+	margin: 0 10px 0 0;
+	height: 4em;
+}
+
+
+
+table.summaryTable {
+	position: relative;
+	left: -10px;
+	width: 100%;
+	border-collapse: collapse;
+	box-sizing: content-box;
+	-moz-box-sizing: content-box;
+	-webkit-box-sizing: content-box;
+	-ms-box-sizing: content-box;
+	-o-box-sizing: content-box;
+	-icab-box-sizing: content-box;
+	-khtml-box-sizing: content-box; 
+}
+
+table.summaryTable caption {
+	padding: 0 10px 10px 10px;
+	font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif;
+	font-size: 1.4em;
+	letter-spacing: 1px;
+}
+
+table.summaryTable td,
+table.summaryTable th {
+	padding: 0px 10px 10px 10px;
+	vertical-align: top;
+}
+table.summaryTable tr:last-child td {
+	padding-bottom: 0;
+}
+
+table.summaryTable th {
+	font-weight: bold;
+}
+
+table.summaryTable td.attributes {
+	width: 35%;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	color: #666;
+}
+
+table.summaryTable td.nameDescription {
+	width: 65%
+}
+
+table.summaryTable td.nameDescription div.fixedFont {
+	font-weight: bold;
+}
+
+table.summaryTable div.description {
+	color: #333;
+}
+
+
+
+dl.detailList {
+	margin-top: 0.5em;
+}
+
+dl.detailList.nomargin + dl.detailList.nomargin {
+	margin-top: 0;
+}
+
+dl.detailList dt {
+	display: inline;
+	margin-right: 5px;
+	font-weight: bold;
+}
+
+dl.detailList dt:before {
+	display: block;
+	content: "";
+}
+
+dl.detailList dd {
+	display: inline;
+}
+
+dl.detailList.params dt {
+	display: block;
+}
+dl.detailList.params dd {
+	display: block;
+	padding-left: 2em;
+	padding-bottom: 0.4em;
+}
+
+
+
+
+ul.fileList li {
+	margin-bottom: 1.5em;
+}
+
+
+
+.fixedFont {
+	font-family: Consolas, "Courier New", Courier, monospace;
+}
+
+.fixedFont.heading {
+	margin-bottom: 0.5em;
+	font-size: 1.25em;
+	line-height: 1.1em
+}
+
+.fixedFont.heading + .description {
+	font-size: 1.2em;
+}
+
+.fixedFont.heading .light,
+.fixedFont.heading .lighter {
+	font-weight: bold;
+}
+
+pre.code {
+	margin: 10px 0 10px 0;
+	padding: 10px;
+	border: 1px solid #ccc;
+	-moz-border-radius: 2px;
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	overflow: auto;
+	font-family: Consolas, "Courier New", Courier, monospace;
+	background: #eee;
+}
+
+.light {
+	color: #666;
+}
+
+.lighter {
+	color: #999;
+}
+
+.clear {
+	clear: both;
+	width: 100%;
+	min-height: 0;
+}
+
+/*
+ * END JSDOC
+ */
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/files.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/files.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/files.html	(revision 6286)
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		
+		<title>JsDoc Reference - File Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:28 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">File Index</h1>
+				
+				<ul class="fileList">
+					
+						<li>
+							<h2 class="filename"><a href="symbols/src/js_TableTools.js.html">js/TableTools.js</a></h2>
+							
+							
+							
+							<dl class="detailList">
+								
+								
+								
+								
+								
+								
+							</dl>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/index.html	(revision 6286)
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<title>JsDoc Reference - Index</title>
+		<meta name="generator" content="JsDoc Toolkit" />
+		<link href="css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+	
+	<body>
+		<div id="header">
+</div>
+		
+		<div class="index">
+			<div class="menu">
+				<div align="center"><a href="index.html">Class Index</a> | <a href="files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:28 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">Class Index</h1>
+				
+				<ul>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/_global_.html">_global_</a></h2>
+							<p></p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools.html">TableTools</a></h2>
+							<p>TableTools</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools%23dom.html">TableTools#dom</a></h2>
+							<p>Common and useful DOM elements for the class instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></h2>
+							<p>Nodes used for a collection display.</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools%23dom.print.html">TableTools#dom.print</a></h2>
+							<p>Nodes used for the print display</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools%23s.html">TableTools#s</a></h2>
+							<p>Settings object which contains customisable information for TableTools instance</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools%23s.print.html">TableTools#s.print</a></h2>
+							<p>Print specific information</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools%23s.select.html">TableTools#s.select</a></h2>
+							<p>Select rows specific information</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></h2>
+							<p>Default button configurations</p>
+						</li>
+					
+						<li>
+							<h2 class="classname"><a href="symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></h2>
+							<p>TableTools default settings for initialisation</p>
+						</li>
+					
+				</ul>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.collection.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.collection.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.collection.html	(revision 6286)
@@ -0,0 +1,288 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools#dom.collection</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:27 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools#dom.collection</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Nodes used for a collection display. This contains the currently used collection
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools#dom.collection.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools%23dom.collection.html#constructor">TableTools#dom.collection</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class TableTools#dom.collection.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#dom.collection.<b><a href="../symbols/TableTools%23dom.collection.html#.background">background</a></b>
+												</div>
+												<div class="description">Background display to provide focus and capture events</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#dom.collection.<b><a href="../symbols/TableTools%23dom.collection.html#.collection">collection</a></b>
+												</div>
+												<div class="description">The div wrapper containing the buttons in the collection (i.e.</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools#dom.collection</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".background"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">TableTools#dom.collection.</span><b>background</b>							
+								</div>
+								
+								<div class="description">
+									Background display to provide focus and capture events
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".collection"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">TableTools#dom.collection.</span><b>collection</b>							
+								</div>
+								
+								<div class="description">
+									The div wrapper containing the buttons in the collection (i.e. the menu)
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.html	(revision 6286)
@@ -0,0 +1,288 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools#dom</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:27 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools#dom</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Common and useful DOM elements for the class instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools#dom.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools%23dom.html#constructor">TableTools#dom</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class TableTools#dom.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#dom.<b><a href="../symbols/TableTools%23dom.html#.container">container</a></b>
+												</div>
+												<div class="description">DIV element that is create and all TableTools buttons (and their children) put into</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#dom.<b><a href="../symbols/TableTools%23dom.html#.table">table</a></b>
+												</div>
+												<div class="description">The table node to which TableTools will be applied</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools#dom</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".container"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">TableTools#dom.</span><b>container</b>							
+								</div>
+								
+								<div class="description">
+									DIV element that is create and all TableTools buttons (and their children) put into
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".table"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">TableTools#dom.</span><b>table</b>							
+								</div>
+								
+								<div class="description">
+									The table node to which TableTools will be applied
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.print.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.print.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#dom.print.html	(revision 6286)
@@ -0,0 +1,288 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools#dom.print</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:27 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools#dom.print</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Nodes used for the print display
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools#dom.print.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools%23dom.print.html#constructor">TableTools#dom.print</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class TableTools#dom.print.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#dom.print.<b><a href="../symbols/TableTools%23dom.print.html#.hidden">hidden</a></b>
+												</div>
+												<div class="description">Nodes which have been removed from the display by setting them to display none</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#dom.print.<b><a href="../symbols/TableTools%23dom.print.html#.message">message</a></b>
+												</div>
+												<div class="description">The information display saying tellng the user about the print display</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools#dom.print</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".hidden"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{array}</span>
+									
+									<span class="light">TableTools#dom.print.</span><b>hidden</b>							
+								</div>
+								
+								<div class="description">
+									Nodes which have been removed from the display by setting them to display none
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".message"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{node}</span>
+									
+									<span class="light">TableTools#dom.print.</span><b>message</b>							
+								</div>
+								
+								<div class="description">
+									The information display saying tellng the user about the print display
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.html	(revision 6286)
@@ -0,0 +1,517 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools#s</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:27 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools#s</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Settings object which contains customisable information for TableTools instance
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools#s.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools%23s.html#constructor">TableTools#s</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class TableTools#s.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.<b><a href="../symbols/TableTools%23s.html#.buttonCounter">buttonCounter</a></b>
+												</div>
+												<div class="description">A unique ID is assigned to each button in each instance</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.<b><a href="../symbols/TableTools%23s.html#.buttonSet">buttonSet</a></b>
+												</div>
+												<div class="description">Default button set</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.<b><a href="../symbols/TableTools%23s.html#.custom">custom</a></b>
+												</div>
+												<div class="description">Store of the user input customisation object</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.<b><a href="../symbols/TableTools%23s.html#.dt">dt</a></b>
+												</div>
+												<div class="description">DataTables settings objects</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.<b><a href="../symbols/TableTools%23s.html#.master">master</a></b>
+												</div>
+												<div class="description">When there is more than one TableTools instance for a DataTable, there must be a 
+master which controls events (row selection etc)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.<b><a href="../symbols/TableTools%23s.html#.swfPath">swfPath</a></b>
+												</div>
+												<div class="description">SWF movie path</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.<b><a href="../symbols/TableTools%23s.html#.that">that</a></b>
+												</div>
+												<div class="description">Store 'this' so the instance can be retreieved from the settings object</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools#s</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".buttonCounter"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<span class="light">TableTools#s.</span><b>buttonCounter</b>							
+								</div>
+								
+								<div class="description">
+									A unique ID is assigned to each button in each instance
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												0
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".buttonSet"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{array}</span>
+									
+									<span class="light">TableTools#s.</span><b>buttonSet</b>							
+								</div>
+								
+								<div class="description">
+									Default button set
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".custom"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{object}</span>
+									
+									<span class="light">TableTools#s.</span><b>custom</b>							
+								</div>
+								
+								<div class="description">
+									Store of the user input customisation object
+									
+									
+									
+								</div>
+								
+								
+
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".dt"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{object}</span>
+									
+									<span class="light">TableTools#s.</span><b>dt</b>							
+								</div>
+								
+								<div class="description">
+									DataTables settings objects
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".master"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{boolean}</span>
+									
+									<span class="light">TableTools#s.</span><b>master</b>							
+								</div>
+								
+								<div class="description">
+									When there is more than one TableTools instance for a DataTable, there must be a 
+master which controls events (row selection etc)
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												false
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".swfPath"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{string}</span>
+									
+									<span class="light">TableTools#s.</span><b>swfPath</b>							
+								</div>
+								
+								<div class="description">
+									SWF movie path
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												""
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".that"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{object}</span>
+									
+									<span class="light">TableTools#s.</span><b>that</b>							
+								</div>
+								
+								<div class="description">
+									Store 'this' so the instance can be retreieved from the settings object
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												this
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.print.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.print.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.print.html	(revision 6286)
@@ -0,0 +1,405 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools#s.print</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:28 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools#s.print</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Print specific information
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools#s.print.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools%23s.print.html#constructor">TableTools#s.print</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class TableTools#s.print.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.print.<b><a href="../symbols/TableTools%23s.print.html#.saveLength">saveLength</a></b>
+												</div>
+												<div class="description">DataTables draw 'length' point before the printing display was shown</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.print.<b><a href="../symbols/TableTools%23s.print.html#.saveScroll">saveScroll</a></b>
+												</div>
+												<div class="description">Page scrolling point before the printing display was shown so it can be restored</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.print.<b><a href="../symbols/TableTools%23s.print.html#.saveStart">saveStart</a></b>
+												</div>
+												<div class="description">DataTables draw 'start' point before the printing display was shown</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class TableTools#s.print.">
+								<caption>Method Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Method Attributes</th>
+										<th scope="col">Method Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">TableTools#s.print.<b><a href="../symbols/TableTools%23s.print.html#.funcEnd">funcEnd</a></b>()
+												</div>
+												<div class="description">Wrapped function to end the print display (to maintain scope)</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools#s.print</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".saveLength"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<span class="light">TableTools#s.print.</span><b>saveLength</b>							
+								</div>
+								
+								<div class="description">
+									DataTables draw 'length' point before the printing display was shown
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												-1
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".saveScroll"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<span class="light">TableTools#s.print.</span><b>saveScroll</b>							
+								</div>
+								
+								<div class="description">
+									Page scrolling point before the printing display was shown so it can be restored
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												-1
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".saveStart"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{int}</span>
+									
+									<span class="light">TableTools#s.print.</span><b>saveStart</b>							
+								</div>
+								
+								<div class="description">
+									DataTables draw 'start' point before the printing display was shown
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												-1
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+					<div class="details props">
+						<div class="innerProps">
+							<div class="sectionTitle">
+								Method Detail
+							</div>
+							
+							
+								<a name=".funcEnd"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Function}</span>
+									
+									<span class="light">TableTools#s.print.</span><b>funcEnd</b>()
+								</div>
+								
+								<div class="description">
+									Wrapped function to end the print display (to maintain scope)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+
+								
+							
+						</div>
+					</div>
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.select.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.select.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools#s.select.html	(revision 6286)
@@ -0,0 +1,529 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools#s.select</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:28 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools#s.select</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Select rows specific information
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools#s.select.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools%23s.select.html#constructor">TableTools#s.select</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class TableTools#s.select.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.select.<b><a href="../symbols/TableTools%23s.select.html#.all">all</a></b>
+												</div>
+												<div class="description">Indicate if all rows are selected (needed for server-side processing)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.select.<b><a href="../symbols/TableTools%23s.select.html#.postDeselected">postDeselected</a></b>
+												</div>
+												<div class="description">Function to run when a row is deselected</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.select.<b><a href="../symbols/TableTools%23s.select.html#.postSelected">postSelected</a></b>
+												</div>
+												<div class="description">Function to run when a row is selected</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.select.<b><a href="../symbols/TableTools%23s.select.html#.preRowSelect">preRowSelect</a></b>
+												</div>
+												<div class="description">Function to run before the selection can take place.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.select.<b><a href="../symbols/TableTools%23s.select.html#.selected">selected</a></b>
+												</div>
+												<div class="description">Array of nodes which are currently selected</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.select.<b><a href="../symbols/TableTools%23s.select.html#.selectedClass">selectedClass</a></b>
+												</div>
+												<div class="description">Class name to add to selected TR nodes</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools#s.select.<b><a href="../symbols/TableTools%23s.select.html#.type">type</a></b>
+												</div>
+												<div class="description">Select type - can be 'none', 'single' or 'multi'</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools#s.select</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name=".all"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{boolean}</span>
+									
+									<span class="light">TableTools#s.select.</span><b>all</b>							
+								</div>
+								
+								<div class="description">
+									Indicate if all rows are selected (needed for server-side processing)
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												false
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".postDeselected"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Function}</span>
+									
+									<span class="light">TableTools#s.select.</span><b>postDeselected</b>							
+								</div>
+								
+								<div class="description">
+									Function to run when a row is deselected
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".postSelected"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Function}</span>
+									
+									<span class="light">TableTools#s.select.</span><b>postSelected</b>							
+								</div>
+								
+								<div class="description">
+									Function to run when a row is selected
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".preRowSelect"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Function}</span>
+									
+									<span class="light">TableTools#s.select.</span><b>preRowSelect</b>							
+								</div>
+								
+								<div class="description">
+									Function to run before the selection can take place. Will cancel the select if the
+function returns false
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												null
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".selected"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{array}</span>
+									
+									<span class="light">TableTools#s.select.</span><b>selected</b>							
+								</div>
+								
+								<div class="description">
+									Array of nodes which are currently selected
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												[]
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".selectedClass"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">TableTools#s.select.</span><b>selectedClass</b>							
+								</div>
+								
+								<div class="description">
+									Class name to add to selected TR nodes
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												""
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".type"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{string}</span>
+									
+									<span class="light">TableTools#s.select.</span><b>type</b>							
+								</div>
+								
+								<div class="description">
+									Select type - can be 'none', 'single' or 'multi'
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												""
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.BUTTONS.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.BUTTONS.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.BUTTONS.html	(revision 6286)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools.BUTTONS</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:28 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools.BUTTONS</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					Default button configurations
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools.BUTTONS.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools.BUTTONS.html#constructor">TableTools.BUTTONS</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools.BUTTONS</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.DEFAULTS.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.DEFAULTS.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.DEFAULTS.html	(revision 6286)
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools.DEFAULTS</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:28 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Namespace <span>TableTools.DEFAULTS</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					TableTools default settings for initialisation
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools.DEFAULTS.">
+							<caption>Namespace Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools.DEFAULTS.html#constructor">TableTools.DEFAULTS</a></b>
+										</div>
+										<div class="description"></div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Namespace Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools.DEFAULTS</b>
+							</div>
+							
+							<div class="description">
+								
+								
+							</div>
+							
+							
+						
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/TableTools.html	(revision 6286)
@@ -0,0 +1,1207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - TableTools</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:27 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Class <span>TableTools</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					TableTools
+					
+					
+						<br /><em>Defined in: </em> <a href="../symbols/src/js_TableTools.js.html">TableTools.js</a>.
+					
+				</p>
+
+				
+					<div class="props">
+						<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class TableTools.">
+							<caption>Class Summary</caption>
+							<thead>
+								<tr>
+									<th scope="col">Constructor Attributes</th>
+									<th scope="col">Constructor Name and Description</th>
+								</tr>
+							</thead>
+							<tbody>
+								<tr>
+									<td class="attributes">&nbsp;</td>
+									<td class="nameDescription" >
+										<div class="fixedFont">
+											<b><a href="../symbols/TableTools.html#constructor">TableTools</a></b>(oDT, oOpts)
+										</div>
+										<div class="description">TableTools provides flexible buttons and other tools for a DataTables enhanced table</div>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				
+
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class TableTools.">
+								<caption>Field Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Field Attributes</th>
+										<th scope="col">Field Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												<b><a href="../symbols/TableTools.html#CLASS">CLASS</a></b>
+												</div>
+												<div class="description">Name of this class</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &lt;constant&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">
+												TableTools.<b><a href="../symbols/TableTools.html#.VERSION">VERSION</a></b>
+												</div>
+												<div class="description">TableTools version</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+					
+					
+						<div class="props">
+							<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class TableTools.">
+								<caption>Method Summary</caption>
+								
+								<thead>
+									<tr>
+										<th scope="col">Method Attributes</th>
+										<th scope="col">Method Name and Description</th>
+									</tr>
+								</thead>
+								
+								<tbody>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnCalcColRatios">fnCalcColRatios</a></b>(oConfig)
+												</div>
+												<div class="description">Calculate a unity array with the column width by proportion for a set of columns to be
+included for a button.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">TableTools.<b><a href="../symbols/TableTools.html#.fnGetInstance">fnGetInstance</a></b>(node)
+												</div>
+												<div class="description">Get the master instance for a table node (or id if a string is given)</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&lt;static&gt; &nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont">TableTools.<b><a href="../symbols/TableTools.html#.fnGetMasters">fnGetMasters</a></b>()
+												</div>
+												<div class="description">Get an array of all the master instances</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnGetSelected">fnGetSelected</a></b>()
+												</div>
+												<div class="description">Retreieve the settings object from an instance</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnGetTableData">fnGetTableData</a></b>(oConfig)
+												</div>
+												<div class="description">Get the information contained in a table as a string</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnGetTitle">fnGetTitle</a></b>(oConfig)
+												</div>
+												<div class="description">Get the title of the document - useful for file names.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnIsSelected">fnIsSelected</a></b>(n)
+												</div>
+												<div class="description">Check to see if a current row is selected or not</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnResizeButtons">fnResizeButtons</a></b>()
+												</div>
+												<div class="description">Resize the flash elements of the buttons attached to this TableTools instance - this is
+useful for when initialising TableTools when it is hidden (display:none) since sizes can't
+be calculated at that time.</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnResizeRequired">fnResizeRequired</a></b>()
+												</div>
+												<div class="description">Check to see if any of the ZeroClipboard client's attached need to be resized</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnSelectAll">fnSelectAll</a></b>()
+												</div>
+												<div class="description">Select all rows in the table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnSelectNone">fnSelectNone</a></b>()
+												</div>
+												<div class="description">Deselect all rows in the table</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnSetText">fnSetText</a></b>(clip, text)
+												</div>
+												<div class="description">Pass text to a flash button instance, which will be used on the button's click handler</div>
+											</td>
+										</tr>
+									
+										<tr>
+											<td class="attributes">&nbsp;</td>
+											<td class="nameDescription">
+												<div class="fixedFont"><b><a href="../symbols/TableTools.html#fnSettings">fnSettings</a></b>()
+												</div>
+												<div class="description">Retreieve the settings object from an instance</div>
+											</td>
+										</tr>
+									
+								</tbody>
+							</table>
+						</div>
+					
+					
+					
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+							<a name="constructor"></a>
+							
+							<div class="sectionTitle">
+								Class Detail
+							</div>
+							
+							<div class="fixedFont">
+								<b>TableTools</b>(oDT, oOpts)
+							</div>
+							
+							<div class="description">
+								TableTools provides flexible buttons and other tools for a DataTables enhanced table
+								
+							</div>
+							
+							
+						
+							
+								<dl class="detailList params">
+									<dt class="heading">Parameters:</dt>
+									
+										<dt>
+											<span class="light fixedFont">{Object}</span>  <b>oDT</b>
+											
+										</dt>
+										<dd>DataTables instance</dd>
+									
+										<dt>
+											<span class="light fixedFont">{Object}</span>  <b>oOpts</b>
+											
+										</dt>
+										<dd>TableTools options</dd>
+									
+										<dt>
+											<span class="light fixedFont">{String}</span>  <b>oOpts.sSwfPath</b>
+											
+										</dt>
+										<dd>ZeroClipboard SWF path</dd>
+									
+										<dt>
+											<span class="light fixedFont">{String}</span>  <b>oOpts.sRowSelect</b>
+											
+										</dt>
+										<dd>Row selection options - 'none', 'single' or 'multi'</dd>
+									
+										<dt>
+											<span class="light fixedFont">{Function}</span>  <b>oOpts.fnPreRowSelect</b>
+											
+										</dt>
+										<dd>Callback function just prior to row selection</dd>
+									
+										<dt>
+											<span class="light fixedFont">{Function}</span>  <b>oOpts.fnRowSelected</b>
+											
+										</dt>
+										<dd>Callback function just after row selection</dd>
+									
+										<dt>
+											<span class="light fixedFont">{Function}</span>  <b>oOpts.fnRowDeselected</b>
+											
+										</dt>
+										<dd>Callback function when row is deselected</dd>
+									
+										<dt>
+											<span class="light fixedFont">{Array}</span>  <b>oOpts.aButtons</b>
+											
+										</dt>
+										<dd>List of buttons to be used</dd>
+									
+								</dl>
+							
+							
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+					<div class="details props">
+						<div class="innerProps">
+
+							<div class="sectionTitle">
+								Field Detail
+							</div>
+							
+							
+								<a name="CLASS"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>CLASS</b>							
+								</div>
+								
+								<div class="description">
+									Name of this class
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												TableTools
+											</dd>
+										
+									</dl>
+								
+								
+								<div class="hr"></div>
+							
+								<a name=".VERSION"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; &lt;constant&gt; 
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<span class="light">TableTools.</span><b>VERSION</b>							
+								</div>
+								
+								<div class="description">
+									TableTools version
+									
+									
+									
+								</div>
+								
+								
+
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+											<dt class="heading">Default Value:</dt>
+											<dd>
+												2.0.1
+											</dd>
+										
+									</dl>
+								
+								
+								
+							
+						</div>
+					</div>
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+					<div class="details props">
+						<div class="innerProps">
+							<div class="sectionTitle">
+								Method Detail
+							</div>
+							
+							
+								<a name="fnCalcColRatios"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<b>fnCalcColRatios</b>(oConfig)
+								</div>
+								
+								<div class="description">
+									Calculate a unity array with the column width by proportion for a set of columns to be
+included for a button. This is particularly useful for PDF creation, where we can use the
+column widths calculated by the browser to size the columns in the PDF.
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>oConfig</b>
+												
+											</dt>
+											<dd>Button configuration object</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Array}</span> Unity array of column ratios</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name=".fnGetInstance"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Object}</span>
+									
+									<span class="light">TableTools.</span><b>fnGetInstance</b>(node)
+								</div>
+								
+								<div class="description">
+									Get the master instance for a table node (or id if a string is given)
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<b>node</b>
+												
+											</dt>
+											<dd></dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Object}</span> ID of table OR table node, for which we want the TableTools instance</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name=".fnGetMasters"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									&lt;static&gt; 
+									</span>
+									
+									<span class="light">{Array}</span>
+									
+									<span class="light">TableTools.</span><b>fnGetMasters</b>()
+								</div>
+								
+								<div class="description">
+									Get an array of all the master instances
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Array}</span> List of master TableTools instances</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnGetSelected"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									<span class="light">{array}</span>
+									
+									<b>fnGetSelected</b>()
+								</div>
+								
+								<div class="description">
+									Retreieve the settings object from an instance
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{array}</span> List of TR nodes which are currently selected</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnGetTableData"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>fnGetTableData</b>(oConfig)
+								</div>
+								
+								<div class="description">
+									Get the information contained in a table as a string
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>oConfig</b>
+												
+											</dt>
+											<dd>Button configuration object</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{String}</span> Table data as a string</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnGetTitle"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									<span class="light">{String}</span>
+									
+									<b>fnGetTitle</b>(oConfig)
+								</div>
+								
+								<div class="description">
+									Get the title of the document - useful for file names. The title is retrieved from either
+the configuration object's 'title' parameter, or the HTML document title
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>oConfig</b>
+												
+											</dt>
+											<dd>Button configuration object</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{String}</span> Button title</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnIsSelected"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									<span class="light">{Boolean}</span>
+									
+									<b>fnIsSelected</b>(n)
+								</div>
+								
+								<div class="description">
+									Check to see if a current row is selected or not
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Node}</span> <b>n</b>
+												
+											</dt>
+											<dd>TR node to check if it is currently selected or not</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{Boolean}</span> true if select, false otherwise</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnResizeButtons"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnResizeButtons</b>()
+								</div>
+								
+								<div class="description">
+									Resize the flash elements of the buttons attached to this TableTools instance - this is
+useful for when initialising TableTools when it is hidden (display:none) since sizes can't
+be calculated at that time.
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnResizeRequired"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnResizeRequired</b>()
+								</div>
+								
+								<div class="description">
+									Check to see if any of the ZeroClipboard client's attached need to be resized
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnSelectAll"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnSelectAll</b>()
+								</div>
+								
+								<div class="description">
+									Select all rows in the table
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnSelectNone"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnSelectNone</b>()
+								</div>
+								
+								<div class="description">
+									Deselect all rows in the table
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnSetText"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									
+									
+									<b>fnSetText</b>(clip, text)
+								</div>
+								
+								<div class="description">
+									Pass text to a flash button instance, which will be used on the button's click handler
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+									<dl class="detailList params">
+										<dt class="heading">Parameters:</dt>
+										
+											<dt>
+												<span class="light fixedFont">{Object}</span> <b>clip</b>
+												
+											</dt>
+											<dd>Flash button object</dd>
+										
+											<dt>
+												<span class="light fixedFont">{String}</span> <b>text</b>
+												
+											</dt>
+											<dd>Text to set</dd>
+										
+									</dl>
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd>void</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								<div class="hr"></div>
+							
+								<a name="fnSettings"></a>
+								
+								<div class="fixedFont heading">
+									<span class='lighter'>
+									
+									</span>
+									
+									<span class="light">{object}</span>
+									
+									<b>fnSettings</b>()
+								</div>
+								
+								<div class="description">
+									Retreieve the settings object from an instance
+									
+									
+									
+									
+								</div>
+								
+								
+								
+								
+								
+								
+									<dl class="detailList nomargin">
+									
+										
+										
+										
+										
+										
+										
+										
+											<dt class="heading">Returns:</dt>
+											
+												<dd><span class="light fixedFont">{object}</span> TableTools settings object</dd>
+											
+										
+										
+										
+										
+										
+									
+									</dl>
+								
+
+								
+							
+						</div>
+					</div>
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/_global_.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/_global_.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/_global_.html	(revision 6286)
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<meta name="generator" content="JsDoc Toolkit" />
+		
+		<title>JsDoc Reference - _global_</title>
+		<link href="../css/default.css" type="text/css" rel="stylesheet" media="all" />
+	</head>
+
+	<body>
+		<div id="header">
+</div>
+
+		<div class="index">
+			<div class="menu">
+				<!-- begin publish.classesIndex -->
+				<div align="center"><a href="../index.html">Class Index</a> | <a href="../files.html">File Index</a></div>
+
+<h2 class="heading1">Classes</h2>
+
+<ul class="classList">
+	
+		<li><a href="../symbols/_global_.html">_global_</a></li>
+	
+		<li><a href="../symbols/TableTools.html">TableTools</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.html">TableTools#dom</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.collection.html">TableTools#dom.collection</a></li>
+	
+		<li><a href="../symbols/TableTools%23dom.print.html">TableTools#dom.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.html">TableTools#s</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.print.html">TableTools#s.print</a></li>
+	
+		<li><a href="../symbols/TableTools%23s.select.html">TableTools#s.select</a></li>
+	
+		<li><a href="../symbols/TableTools.BUTTONS.html">TableTools.BUTTONS</a></li>
+	
+		<li><a href="../symbols/TableTools.DEFAULTS.html">TableTools.DEFAULTS</a></li>
+	
+</ul>
+
+				<!-- end publish.classesIndex -->
+			</div>
+			
+			<div class="fineprint" style="clear:both">
+				
+				Generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Sat Feb 26 2011 14:41:27 GMT-0000 (GMT)<br />
+				HTML template: <a href="http://www.thebrightlines.com/2010/05/06/new-template-for-jsdoctoolkit-codeview/" target="_blank">Codeview</a>
+			</div>
+		</div>
+		
+		<div class="content">
+			<div class="innerContent">
+				<h1 class="classTitle">
+					
+					Built-In Namespace <span>_global_</span>
+				</h1>
+
+				<p class="description summary">
+					
+					
+					
+				
+					
+					
+					
+				</p>
+
+				
+
+				
+
+	<!--
+	#### METHODS SUMMARY
+	-->
+				
+				
+	<!--
+	#### EVENTS SUMMARY
+	-->
+				
+
+	<!--
+	#### CONSTRUCTOR DETAILS
+	-->
+				
+
+	<!--
+	#### FIELD DETAILS
+	-->
+				
+
+	<!--
+	#### METHOD DETAILS
+	-->		
+				
+				
+	<!--
+	#### EVENT DETAILS
+	-->		
+				
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/src/js_TableTools.js.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/src/js_TableTools.js.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/docs/symbols/src/js_TableTools.js.html	(revision 6286)
@@ -0,0 +1,2418 @@
+<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
+	.KEYW {color: #933;}
+	.COMM {color: #bbb; font-style: italic;}
+	.NUMB {color: #393;}
+	.STRN {color: #393;}
+	.REGX {color: #339;}
+	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
+	</style></head><body><pre><span class='line'>  1</span> <span class="COMM">/*
+<span class='line'>  2</span>  * File:        TableTools.js
+<span class='line'>  3</span>  * Version:     2.0.1
+<span class='line'>  4</span>  * Description: Tools and buttons for DataTables
+<span class='line'>  5</span>  * Author:      Allan Jardine (www.sprymedia.co.uk)
+<span class='line'>  6</span>  * Language:    Javascript
+<span class='line'>  7</span>  * License:     LGPL / 3 point BSD
+<span class='line'>  8</span>  * Project:     DataTables
+<span class='line'>  9</span>  * 
+<span class='line'> 10</span>  * Copyright 2009-2011 Allan Jardine, all rights reserved.
+<span class='line'> 11</span>  */</span><span class="WHIT">
+<span class='line'> 12</span> 
+<span class='line'> 13</span> </span><span class="COMM">/* Global scope for TableTools */</span><span class="WHIT">
+<span class='line'> 14</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">TableTools</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 15</span> 
+<span class='line'> 16</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">$</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">window</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">document</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 17</span> 
+<span class='line'> 18</span> </span><span class="COMM">/** 
+<span class='line'> 19</span>  * TableTools provides flexible buttons and other tools for a DataTables enhanced table
+<span class='line'> 20</span>  * @class TableTools
+<span class='line'> 21</span>  * @constructor
+<span class='line'> 22</span>  * @param {Object} oDT DataTables instance
+<span class='line'> 23</span>  * @param {Object} oOpts TableTools options
+<span class='line'> 24</span>  * @param {String} oOpts.sSwfPath ZeroClipboard SWF path
+<span class='line'> 25</span>  * @param {String} oOpts.sRowSelect Row selection options - 'none', 'single' or 'multi'
+<span class='line'> 26</span>  * @param {Function} oOpts.fnPreRowSelect Callback function just prior to row selection
+<span class='line'> 27</span>  * @param {Function} oOpts.fnRowSelected Callback function just after row selection
+<span class='line'> 28</span>  * @param {Function} oOpts.fnRowDeselected Callback function when row is deselected
+<span class='line'> 29</span>  * @param {Array} oOpts.aButtons List of buttons to be used
+<span class='line'> 30</span>  */</span><span class="WHIT">
+<span class='line'> 31</span> </span><span class="NAME">TableTools</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDT</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 32</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 33</span> </span><span class="WHIT">	</span><span class="COMM">/* Santiy check that we are a new instance */</span><span class="WHIT">
+<span class='line'> 34</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this.CLASS</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"TableTools"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'> 35</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 36</span> </span><span class="WHIT">		</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: TableTools must be initialised with the keyword 'new'"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'> 37</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 38</span> </span><span class="WHIT">	
+<span class='line'> 39</span> 	
+<span class='line'> 40</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'> 41</span> 	 * Public class variables
+<span class='line'> 42</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'> 43</span> </span><span class="WHIT">	
+<span class='line'> 44</span> 	</span><span class="COMM">/**
+<span class='line'> 45</span> 	 * @namespace Settings object which contains customisable information for TableTools instance
+<span class='line'> 46</span> 	 */</span><span class="WHIT">
+<span class='line'> 47</span> </span><span class="WHIT">	</span><span class="NAME">this.s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 48</span> </span><span class="WHIT">    </span><span class="COMM">/**
+<span class='line'> 49</span>      * Store 'this' so the instance can be retreieved from the settings object
+<span class='line'> 50</span> 		 * @property that
+<span class='line'> 51</span> 		 * @type     object
+<span class='line'> 52</span> 		 * @default  this
+<span class='line'> 53</span>      */</span><span class="WHIT">
+<span class='line'> 54</span> </span><span class="WHIT">		</span><span class="NAME">that</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 55</span> </span><span class="WHIT">		
+<span class='line'> 56</span> 		</span><span class="COMM">/** 
+<span class='line'> 57</span> 		 * DataTables settings objects
+<span class='line'> 58</span> 		 * @property dt
+<span class='line'> 59</span> 		 * @type     object
+<span class='line'> 60</span> 		 * @default  null
+<span class='line'> 61</span> 		 */</span><span class="WHIT">
+<span class='line'> 62</span> </span><span class="WHIT">		</span><span class="NAME">dt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 63</span> </span><span class="WHIT">		
+<span class='line'> 64</span> 		</span><span class="COMM">/**
+<span class='line'> 65</span> 		 * @namespace Print specific information
+<span class='line'> 66</span> 		 */</span><span class="WHIT">
+<span class='line'> 67</span> </span><span class="WHIT">		</span><span class="NAME">print</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'> 68</span> </span><span class="WHIT">			</span><span class="COMM">/** 
+<span class='line'> 69</span> 			 * DataTables draw 'start' point before the printing display was shown
+<span class='line'> 70</span>   		 * @property saveStart
+<span class='line'> 71</span> 			 *  @type     int
+<span class='line'> 72</span>   		 * @default  -1
+<span class='line'> 73</span> 		 	 */</span><span class="WHIT">
+<span class='line'> 74</span> </span><span class="WHIT">		  </span><span class="NAME">saveStart</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 75</span> </span><span class="WHIT">			
+<span class='line'> 76</span> 			</span><span class="COMM">/** 
+<span class='line'> 77</span> 			 * DataTables draw 'length' point before the printing display was shown
+<span class='line'> 78</span>   		 * @property saveLength
+<span class='line'> 79</span> 			 *  @type     int
+<span class='line'> 80</span>   		 * @default  -1
+<span class='line'> 81</span> 		 	 */</span><span class="WHIT">
+<span class='line'> 82</span> </span><span class="WHIT">		  </span><span class="NAME">saveLength</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 83</span> </span><span class="WHIT">		
+<span class='line'> 84</span> 			</span><span class="COMM">/** 
+<span class='line'> 85</span> 			 * Page scrolling point before the printing display was shown so it can be restored
+<span class='line'> 86</span>   		 * @property saveScroll
+<span class='line'> 87</span> 			 *  @type     int
+<span class='line'> 88</span>   		 * @default  -1
+<span class='line'> 89</span> 		 	 */</span><span class="WHIT">
+<span class='line'> 90</span> </span><span class="WHIT">		  </span><span class="NAME">saveScroll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'> 91</span> </span><span class="WHIT">		
+<span class='line'> 92</span> 			</span><span class="COMM">/** 
+<span class='line'> 93</span> 			 * Wrapped function to end the print display (to maintain scope)
+<span class='line'> 94</span>   		 * @property funcEnd
+<span class='line'> 95</span> 		 	 *  @type     Function
+<span class='line'> 96</span>   		 * @default  function () {}
+<span class='line'> 97</span> 		 	 */</span><span class="WHIT">
+<span class='line'> 98</span> </span><span class="WHIT">		  </span><span class="NAME">funcEnd</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'> 99</span> </span><span class="WHIT">	  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>100</span> </span><span class="WHIT">	
+<span class='line'>101</span> 		</span><span class="COMM">/**
+<span class='line'>102</span> 		 * A unique ID is assigned to each button in each instance
+<span class='line'>103</span> 		 * @property buttonCounter
+<span class='line'>104</span> 		 *  @type     int
+<span class='line'>105</span> 		 * @default  0
+<span class='line'>106</span> 		 */</span><span class="WHIT">
+<span class='line'>107</span> </span><span class="WHIT">	  </span><span class="NAME">buttonCounter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>108</span> </span><span class="WHIT">		
+<span class='line'>109</span> 		</span><span class="COMM">/**
+<span class='line'>110</span> 		 * @namespace Select rows specific information
+<span class='line'>111</span> 		 */</span><span class="WHIT">
+<span class='line'>112</span> </span><span class="WHIT">		</span><span class="NAME">select</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>113</span> </span><span class="WHIT">			</span><span class="COMM">/**
+<span class='line'>114</span> 			 * Select type - can be 'none', 'single' or 'multi'
+<span class='line'>115</span>   		 * @property type
+<span class='line'>116</span> 			 *  @type     string
+<span class='line'>117</span>   		 * @default  ""
+<span class='line'>118</span> 			 */</span><span class="WHIT">
+<span class='line'>119</span> </span><span class="WHIT">			</span><span class="NAME">type</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>120</span> </span><span class="WHIT">			
+<span class='line'>121</span> 			</span><span class="COMM">/**
+<span class='line'>122</span> 			 * Array of nodes which are currently selected
+<span class='line'>123</span>   		 * @property selected
+<span class='line'>124</span> 			 *  @type     array
+<span class='line'>125</span>   		 * @default  []
+<span class='line'>126</span> 			 */</span><span class="WHIT">
+<span class='line'>127</span> </span><span class="WHIT">			</span><span class="NAME">selected</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>128</span> </span><span class="WHIT">			
+<span class='line'>129</span> 			</span><span class="COMM">/**
+<span class='line'>130</span> 			 * Function to run before the selection can take place. Will cancel the select if the
+<span class='line'>131</span> 			 * function returns false
+<span class='line'>132</span>   		 * @property preRowSelect
+<span class='line'>133</span> 			 *  @type     Function
+<span class='line'>134</span>   		 * @default  null
+<span class='line'>135</span> 			 */</span><span class="WHIT">
+<span class='line'>136</span> </span><span class="WHIT">			</span><span class="NAME">preRowSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>137</span> </span><span class="WHIT">			
+<span class='line'>138</span> 			</span><span class="COMM">/**
+<span class='line'>139</span> 			 * Function to run when a row is selected
+<span class='line'>140</span>   		 * @property postSelected
+<span class='line'>141</span> 			 *  @type     Function
+<span class='line'>142</span>   		 * @default  null
+<span class='line'>143</span> 			 */</span><span class="WHIT">
+<span class='line'>144</span> </span><span class="WHIT">			</span><span class="NAME">postSelected</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>145</span> </span><span class="WHIT">			
+<span class='line'>146</span> 			</span><span class="COMM">/**
+<span class='line'>147</span> 			 * Function to run when a row is deselected
+<span class='line'>148</span>   		 * @property postDeselected
+<span class='line'>149</span> 			 *  @type     Function
+<span class='line'>150</span>   		 * @default  null
+<span class='line'>151</span> 			 */</span><span class="WHIT">
+<span class='line'>152</span> </span><span class="WHIT">			</span><span class="NAME">postDeselected</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>153</span> </span><span class="WHIT">			
+<span class='line'>154</span> 			</span><span class="COMM">/**
+<span class='line'>155</span> 			 * Indicate if all rows are selected (needed for server-side processing)
+<span class='line'>156</span>   		 * @property all
+<span class='line'>157</span> 			 *  @type     boolean
+<span class='line'>158</span>   		 * @default  false
+<span class='line'>159</span> 			 */</span><span class="WHIT">
+<span class='line'>160</span> </span><span class="WHIT">			</span><span class="NAME">all</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>161</span> </span><span class="WHIT">			
+<span class='line'>162</span> 			</span><span class="COMM">/**
+<span class='line'>163</span> 			 * Class name to add to selected TR nodes
+<span class='line'>164</span>   		 * @property selectedClass
+<span class='line'>165</span> 			 *  @type     String
+<span class='line'>166</span> 			 *  @default  ""
+<span class='line'>167</span> 			 */</span><span class="WHIT">
+<span class='line'>168</span> </span><span class="WHIT">			</span><span class="NAME">selectedClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT">
+<span class='line'>169</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>170</span> </span><span class="WHIT">		
+<span class='line'>171</span> 		</span><span class="COMM">/**
+<span class='line'>172</span> 		 * Store of the user input customisation object
+<span class='line'>173</span> 		 * @property custom
+<span class='line'>174</span> 		 *  @type     object
+<span class='line'>175</span> 		 * @default  {}
+<span class='line'>176</span> 		 */</span><span class="WHIT">
+<span class='line'>177</span> </span><span class="WHIT">		</span><span class="NAME">custom</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>178</span> </span><span class="WHIT">		
+<span class='line'>179</span> 		</span><span class="COMM">/**
+<span class='line'>180</span> 		 * SWF movie path
+<span class='line'>181</span> 		 * @property swfPath
+<span class='line'>182</span> 		 *  @type     string
+<span class='line'>183</span> 		 * @default  ""
+<span class='line'>184</span> 		 */</span><span class="WHIT">
+<span class='line'>185</span> </span><span class="WHIT">		</span><span class="NAME">swfPath</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>186</span> </span><span class="WHIT">		
+<span class='line'>187</span> 		</span><span class="COMM">/**
+<span class='line'>188</span> 		 * Default button set
+<span class='line'>189</span> 		 * @property buttonSet
+<span class='line'>190</span> 		 *  @type     array
+<span class='line'>191</span> 		 * @default  []
+<span class='line'>192</span> 		 */</span><span class="WHIT">
+<span class='line'>193</span> </span><span class="WHIT">		</span><span class="NAME">buttonSet</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>194</span> </span><span class="WHIT">		
+<span class='line'>195</span> 		</span><span class="COMM">/**
+<span class='line'>196</span> 		 * When there is more than one TableTools instance for a DataTable, there must be a 
+<span class='line'>197</span> 		 * master which controls events (row selection etc)
+<span class='line'>198</span> 		 * @property master
+<span class='line'>199</span> 		 *  @type     boolean
+<span class='line'>200</span> 		 * @default  false
+<span class='line'>201</span> 		 */</span><span class="WHIT">
+<span class='line'>202</span> </span><span class="WHIT">		</span><span class="NAME">master</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT">
+<span class='line'>203</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>204</span> </span><span class="WHIT">	
+<span class='line'>205</span> 	
+<span class='line'>206</span> 	</span><span class="COMM">/**
+<span class='line'>207</span> 	 * @namespace Common and useful DOM elements for the class instance
+<span class='line'>208</span> 	 */</span><span class="WHIT">
+<span class='line'>209</span> </span><span class="WHIT">	</span><span class="NAME">this.dom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>210</span> </span><span class="WHIT">		</span><span class="COMM">/**
+<span class='line'>211</span> 		 * DIV element that is create and all TableTools buttons (and their children) put into
+<span class='line'>212</span> 		 *  @property container
+<span class='line'>213</span> 		 *  @type     node
+<span class='line'>214</span> 		 *  @default  null
+<span class='line'>215</span> 		 */</span><span class="WHIT">
+<span class='line'>216</span> </span><span class="WHIT">		</span><span class="NAME">container</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>217</span> </span><span class="WHIT">		
+<span class='line'>218</span> 		</span><span class="COMM">/**
+<span class='line'>219</span> 		 * The table node to which TableTools will be applied
+<span class='line'>220</span> 		 *  @property table
+<span class='line'>221</span> 		 *  @type     node
+<span class='line'>222</span> 		 *  @default  null
+<span class='line'>223</span> 		 */</span><span class="WHIT">
+<span class='line'>224</span> </span><span class="WHIT">		</span><span class="NAME">table</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>225</span> </span><span class="WHIT">		
+<span class='line'>226</span> 		</span><span class="COMM">/**
+<span class='line'>227</span> 		 * @namespace Nodes used for the print display
+<span class='line'>228</span> 		 */</span><span class="WHIT">
+<span class='line'>229</span> </span><span class="WHIT">		</span><span class="NAME">print</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>230</span> </span><span class="WHIT">			</span><span class="COMM">/**
+<span class='line'>231</span> 			 * Nodes which have been removed from the display by setting them to display none
+<span class='line'>232</span> 			 *  @property hidden
+<span class='line'>233</span> 			 *  @type     array
+<span class='line'>234</span> 		 	 *  @default  []
+<span class='line'>235</span> 			 */</span><span class="WHIT">
+<span class='line'>236</span> </span><span class="WHIT">		  </span><span class="NAME">hidden</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>237</span> </span><span class="WHIT">			
+<span class='line'>238</span> 			</span><span class="COMM">/**
+<span class='line'>239</span> 			 * The information display saying tellng the user about the print display
+<span class='line'>240</span> 			 *  @property message
+<span class='line'>241</span> 			 *  @type     node
+<span class='line'>242</span> 		 	 *  @default  null
+<span class='line'>243</span> 			 */</span><span class="WHIT">
+<span class='line'>244</span> </span><span class="WHIT">		  </span><span class="NAME">message</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>245</span> </span><span class="WHIT">	  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>246</span> </span><span class="WHIT">		
+<span class='line'>247</span> 		</span><span class="COMM">/**
+<span class='line'>248</span> 		 * @namespace Nodes used for a collection display. This contains the currently used collection
+<span class='line'>249</span> 		 */</span><span class="WHIT">
+<span class='line'>250</span> </span><span class="WHIT">		</span><span class="NAME">collection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>251</span> </span><span class="WHIT">			</span><span class="COMM">/**
+<span class='line'>252</span> 			 * The div wrapper containing the buttons in the collection (i.e. the menu)
+<span class='line'>253</span> 			 *  @property collection
+<span class='line'>254</span> 			 *  @type     node
+<span class='line'>255</span> 		 	 *  @default  null
+<span class='line'>256</span> 			 */</span><span class="WHIT">
+<span class='line'>257</span> </span><span class="WHIT">			</span><span class="NAME">collection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>258</span> </span><span class="WHIT">			
+<span class='line'>259</span> 			</span><span class="COMM">/**
+<span class='line'>260</span> 			 * Background display to provide focus and capture events
+<span class='line'>261</span> 			 *  @property background
+<span class='line'>262</span> 			 *  @type     node
+<span class='line'>263</span> 		 	 *  @default  null
+<span class='line'>264</span> 			 */</span><span class="WHIT">
+<span class='line'>265</span> </span><span class="WHIT">			</span><span class="NAME">background</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>266</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>267</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>268</span> </span><span class="WHIT">	
+<span class='line'>269</span> 	
+<span class='line'>270</span> 	
+<span class='line'>271</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>272</span> 	 * Public class methods
+<span class='line'>273</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>274</span> </span><span class="WHIT">	
+<span class='line'>275</span> 	</span><span class="COMM">/**
+<span class='line'>276</span> 	 * Retreieve the settings object from an instance
+<span class='line'>277</span> 	 *  @method fnSettings
+<span class='line'>278</span> 	 *  @returns {object} TableTools settings object
+<span class='line'>279</span> 	 */</span><span class="WHIT">
+<span class='line'>280</span> </span><span class="WHIT">	</span><span class="NAME">this.fnSettings</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>281</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.s</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>282</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>283</span> </span><span class="WHIT">	
+<span class='line'>284</span> 	
+<span class='line'>285</span> 	</span><span class="COMM">/* Constructor logic */</span><span class="WHIT">
+<span class='line'>286</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>287</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>288</span> </span><span class="WHIT">		</span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>289</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>290</span> </span><span class="WHIT">	
+<span class='line'>291</span> 	</span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oDT.fnSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>292</span> </span><span class="WHIT">	</span><span class="NAME">this._fnConstruct</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>293</span> </span><span class="WHIT">	
+<span class='line'>294</span> 	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>295</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>296</span> 
+<span class='line'>297</span> 
+<span class='line'>298</span> 
+<span class='line'>299</span> </span><span class="NAME">TableTools.prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>300</span> </span><span class="WHIT">	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>301</span> 	 * Public methods
+<span class='line'>302</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>303</span> </span><span class="WHIT">	
+<span class='line'>304</span> 	</span><span class="COMM">/**
+<span class='line'>305</span> 	 * Retreieve the settings object from an instance
+<span class='line'>306</span> 	 *  @method fnGetSelected
+<span class='line'>307</span> 	 *  @returns {array} List of TR nodes which are currently selected
+<span class='line'>308</span> 	 */</span><span class="WHIT">
+<span class='line'>309</span> </span><span class="WHIT">	</span><span class="NAME">fnGetSelected</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>310</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>311</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">masterS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnGetMasterSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>312</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">masterS.select.selected</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>313</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>314</span> </span><span class="WHIT">	
+<span class='line'>315</span> 	</span><span class="COMM">/**
+<span class='line'>316</span> 	 * Check to see if a current row is selected or not
+<span class='line'>317</span> 	 *  @method fnGetSelected
+<span class='line'>318</span> 	 *  @param {Node} n TR node to check if it is currently selected or not
+<span class='line'>319</span> 	 *  @returns {Boolean} true if select, false otherwise
+<span class='line'>320</span> 	 */</span><span class="WHIT">
+<span class='line'>321</span> </span><span class="WHIT">	</span><span class="NAME">fnIsSelected</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">n</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>322</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>323</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">selected</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.fnGetSelected</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>324</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">selected.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>325</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>326</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">n</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">selected</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>327</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>328</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>329</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>330</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>331</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>332</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>333</span> </span><span class="WHIT">	
+<span class='line'>334</span> 	</span><span class="COMM">/**
+<span class='line'>335</span> 	 * Select all rows in the table
+<span class='line'>336</span> 	 *  @method  fnSelectAll
+<span class='line'>337</span> 	 *  @returns void
+<span class='line'>338</span> 	 */</span><span class="WHIT">
+<span class='line'>339</span> </span><span class="WHIT">	</span><span class="NAME">fnSelectAll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>340</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>341</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">masterS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnGetMasterSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>342</span> </span><span class="WHIT">		</span><span class="NAME">masterS.that._fnRowSelectAll</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>343</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>344</span> </span><span class="WHIT">	
+<span class='line'>345</span> 	
+<span class='line'>346</span> 	</span><span class="COMM">/**
+<span class='line'>347</span> 	 * Deselect all rows in the table
+<span class='line'>348</span> 	 *  @method  fnSelectNone
+<span class='line'>349</span> 	 *  @returns void
+<span class='line'>350</span> 	 */</span><span class="WHIT">
+<span class='line'>351</span> </span><span class="WHIT">	</span><span class="NAME">fnSelectNone</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>352</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>353</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">masterS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnGetMasterSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>354</span> </span><span class="WHIT">		</span><span class="NAME">masterS.that._fnRowDeselectAll</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>355</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>356</span> </span><span class="WHIT">	
+<span class='line'>357</span> 	
+<span class='line'>358</span> 	</span><span class="COMM">/**
+<span class='line'>359</span> 	 * Get the title of the document - useful for file names. The title is retrieved from either
+<span class='line'>360</span> 	 * the configuration object's 'title' parameter, or the HTML document title
+<span class='line'>361</span> 	 *  @method  fnGetTitle
+<span class='line'>362</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>363</span> 	 *  @returns {String} Button title
+<span class='line'>364</span> 	 */</span><span class="WHIT">
+<span class='line'>365</span> </span><span class="WHIT">	</span><span class="NAME">fnGetTitle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>366</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>367</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sTitle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>368</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.sTitle</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">oConfig.sTitle</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>369</span> </span><span class="WHIT">			</span><span class="NAME">sTitle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sTitle</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>370</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>371</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">anTitle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'title'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>372</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">anTitle.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>373</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>374</span> </span><span class="WHIT">				</span><span class="NAME">sTitle</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">anTitle</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">innerHTML</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>375</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>376</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>377</span> </span><span class="WHIT">		
+<span class='line'>378</span> 		</span><span class="COMM">/* Strip characters which the OS will object to - checking for UTF8 support in the scripting
+<span class='line'>379</span> 		 * engine
+<span class='line'>380</span> 		 */</span><span class="WHIT">
+<span class='line'>381</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"\u00A1"</span><span class="PUNC">.</span><span class="NAME">toString</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>382</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sTitle.replace</span><span class="PUNC">(</span><span class="REGX">/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>383</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>384</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sTitle.replace</span><span class="PUNC">(</span><span class="REGX">/[^a-zA-Z0-9_\.,\-_ !\(\)]/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>385</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>386</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>387</span> </span><span class="WHIT">	
+<span class='line'>388</span> 	
+<span class='line'>389</span> 	</span><span class="COMM">/**
+<span class='line'>390</span> 	 * Calculate a unity array with the column width by proportion for a set of columns to be
+<span class='line'>391</span> 	 * included for a button. This is particularly useful for PDF creation, where we can use the
+<span class='line'>392</span> 	 * column widths calculated by the browser to size the columns in the PDF.
+<span class='line'>393</span> 	 *  @method  fnCalcColRations
+<span class='line'>394</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>395</span> 	 *  @returns {Array} Unity array of column ratios
+<span class='line'>396</span> 	 */</span><span class="WHIT">
+<span class='line'>397</span> </span><span class="WHIT">	</span><span class="NAME">fnCalcColRatios</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>398</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>399</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>400</span> </span><span class="WHIT">			</span><span class="NAME">aoCols</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoColumns</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>401</span> </span><span class="WHIT">			</span><span class="NAME">aColumnsInc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnColumnTargets</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.mColumns</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>402</span> </span><span class="WHIT">			</span><span class="NAME">aColWidths</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>403</span> </span><span class="WHIT">			</span><span class="NAME">iWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iTotal</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>404</span> </span><span class="WHIT">		
+<span class='line'>405</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aColumnsInc.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>406</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>407</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aColumnsInc</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>408</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>409</span> </span><span class="WHIT">				</span><span class="NAME">iWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aoCols</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTh.offsetWidth</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>410</span> </span><span class="WHIT">				</span><span class="NAME">iTotal</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iWidth</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>411</span> </span><span class="WHIT">				</span><span class="NAME">aColWidths.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iWidth</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>412</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>413</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>414</span> </span><span class="WHIT">		
+<span class='line'>415</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aColWidths.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>416</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>417</span> </span><span class="WHIT">			</span><span class="NAME">aColWidths</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aColWidths</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">/</span><span class="WHIT"> </span><span class="NAME">iTotal</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>418</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>419</span> </span><span class="WHIT">		
+<span class='line'>420</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">aColWidths.join</span><span class="PUNC">(</span><span class="STRN">'\t'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>421</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>422</span> </span><span class="WHIT">	
+<span class='line'>423</span> 	
+<span class='line'>424</span> 	</span><span class="COMM">/**
+<span class='line'>425</span> 	 * Get the information contained in a table as a string
+<span class='line'>426</span> 	 *  @method  fnGetTableData
+<span class='line'>427</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>428</span> 	 *  @returns {String} Table data as a string
+<span class='line'>429</span> 	 */</span><span class="WHIT">
+<span class='line'>430</span> </span><span class="WHIT">	</span><span class="NAME">fnGetTableData</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>431</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>432</span> </span><span class="WHIT">		</span><span class="COMM">/* In future this could be used to get data from a plain HTML source as well as DataTables */</span><span class="WHIT">
+<span class='line'>433</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>434</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>435</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._fnGetDataTablesData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>436</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>437</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>438</span> </span><span class="WHIT">	
+<span class='line'>439</span> 	
+<span class='line'>440</span> 	</span><span class="COMM">/**
+<span class='line'>441</span> 	 * Pass text to a flash button instance, which will be used on the button's click handler
+<span class='line'>442</span> 	 *  @method  fnSetText
+<span class='line'>443</span> 	 *  @param   {Object} clip Flash button object
+<span class='line'>444</span> 	 *  @param   {String} text Text to set
+<span class='line'>445</span> 	 *  @returns void
+<span class='line'>446</span> 	 */</span><span class="WHIT">
+<span class='line'>447</span> </span><span class="WHIT">	</span><span class="NAME">fnSetText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">clip</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>448</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>449</span> </span><span class="WHIT">		</span><span class="NAME">this._fnFlashSetText</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">clip</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>450</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>451</span> </span><span class="WHIT">	
+<span class='line'>452</span> 	
+<span class='line'>453</span> 	</span><span class="COMM">/**
+<span class='line'>454</span> 	 * Resize the flash elements of the buttons attached to this TableTools instance - this is
+<span class='line'>455</span> 	 * useful for when initialising TableTools when it is hidden (display:none) since sizes can't
+<span class='line'>456</span> 	 * be calculated at that time.
+<span class='line'>457</span> 	 *  @method  fnResizeButtons
+<span class='line'>458</span> 	 *  @returns void
+<span class='line'>459</span> 	 */</span><span class="WHIT">
+<span class='line'>460</span> </span><span class="WHIT">	</span><span class="NAME">fnResizeButtons</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>461</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>462</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cli</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">ZeroClipboard.clients</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>463</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>464</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">cli</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>465</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>466</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">client</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ZeroClipboard.clients</span><span class="PUNC">[</span><span class="NAME">cli</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>467</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">client.domElement</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>468</span> </span><span class="WHIT">				     </span><span class="NAME">client.domElement.parentNode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">this.dom.container</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>469</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>470</span> </span><span class="WHIT">					</span><span class="NAME">client.positionElement</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>471</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>472</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>473</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>474</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>475</span> </span><span class="WHIT">	
+<span class='line'>476</span> 	
+<span class='line'>477</span> 	</span><span class="COMM">/**
+<span class='line'>478</span> 	 * Check to see if any of the ZeroClipboard client's attached need to be resized
+<span class='line'>479</span> 	 *  @method  fnResizeRequired
+<span class='line'>480</span> 	 *  @returns void
+<span class='line'>481</span> 	 */</span><span class="WHIT">
+<span class='line'>482</span> </span><span class="WHIT">	</span><span class="NAME">fnResizeRequired</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>483</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>484</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cli</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">ZeroClipboard.clients</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>485</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>486</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">cli</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>487</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>488</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">client</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ZeroClipboard.clients</span><span class="PUNC">[</span><span class="NAME">cli</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>489</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">client.domElement</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>490</span> </span><span class="WHIT">				     </span><span class="NAME">client.domElement.parentNode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">this.dom.container</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>491</span> </span><span class="WHIT">				     </span><span class="NAME">client.sized</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>492</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>493</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>494</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>495</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>496</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>497</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>498</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>499</span> </span><span class="WHIT">	
+<span class='line'>500</span> 	
+<span class='line'>501</span> 	
+<span class='line'>502</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>503</span> 	 * Private methods (they are of course public in JS, but recommended as private)
+<span class='line'>504</span> 	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>505</span> </span><span class="WHIT">	
+<span class='line'>506</span> 	</span><span class="COMM">/**
+<span class='line'>507</span> 	 * Constructor logic
+<span class='line'>508</span> 	 *  @method  _fnConstruct
+<span class='line'>509</span> 	 *  @param   {Object} oOpts Same as TableTools constructor
+<span class='line'>510</span> 	 *  @returns void
+<span class='line'>511</span> 	 *  @private 
+<span class='line'>512</span> 	 */</span><span class="WHIT">
+<span class='line'>513</span> </span><span class="WHIT">	</span><span class="NAME">_fnConstruct</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>514</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>515</span> </span><span class="WHIT">		</span><span class="NAME">this._fnCustomiseSettings</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>516</span> </span><span class="WHIT">		
+<span class='line'>517</span> 		</span><span class="COMM">/* Container element */</span><span class="WHIT">
+<span class='line'>518</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.container</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>519</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.container.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"relative"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>520</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.container.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"DTTT_container"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>521</span> </span><span class="WHIT">			</span><span class="STRN">"DTTT_container ui-buttonset ui-buttonset-multi"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>522</span> </span><span class="WHIT">		
+<span class='line'>523</span> 		</span><span class="COMM">/* Row selection config */</span><span class="WHIT">
+<span class='line'>524</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.type</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>525</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>526</span> </span><span class="WHIT">			</span><span class="NAME">this._fnRowSelectConfig</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>527</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>528</span> </span><span class="WHIT">		
+<span class='line'>529</span> 		</span><span class="COMM">/* Buttons */</span><span class="WHIT">
+<span class='line'>530</span> </span><span class="WHIT">		</span><span class="NAME">this._fnButtonDefinations</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.buttonSet</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.dom.container</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>531</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>532</span> </span><span class="WHIT">	
+<span class='line'>533</span> 	
+<span class='line'>534</span> 	</span><span class="COMM">/**
+<span class='line'>535</span> 	 * Take the user defined settings and the default settings and combine them.
+<span class='line'>536</span> 	 *  @method  _fnCustomiseSettings
+<span class='line'>537</span> 	 *  @param   {Object} oOpts Same as TableTools constructor
+<span class='line'>538</span> 	 *  @returns void
+<span class='line'>539</span> 	 *  @private 
+<span class='line'>540</span> 	 */</span><span class="WHIT">
+<span class='line'>541</span> </span><span class="WHIT">	</span><span class="NAME">_fnCustomiseSettings</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>542</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>543</span> </span><span class="WHIT">		</span><span class="COMM">/* Is this the master control instance or not? */</span><span class="WHIT">
+<span class='line'>544</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">this.s.dt._TableToolsInit</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>545</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>546</span> </span><span class="WHIT">			</span><span class="NAME">this.s.master</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>547</span> </span><span class="WHIT">			</span><span class="NAME">this.s.dt._TableToolsInit</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>548</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>549</span> </span><span class="WHIT">		
+<span class='line'>550</span> 		</span><span class="COMM">/* We can use the table node from comparisons to group controls */</span><span class="WHIT">
+<span class='line'>551</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.table</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTable</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>552</span> </span><span class="WHIT">		
+<span class='line'>553</span> 		</span><span class="COMM">/* Clone the defaults and then the user options */</span><span class="WHIT">
+<span class='line'>554</span> </span><span class="WHIT">		</span><span class="NAME">this.s.custom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.extend</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">TableTools.DEFAULTS</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>555</span> </span><span class="WHIT">		
+<span class='line'>556</span> 		</span><span class="COMM">/* Flash file location */</span><span class="WHIT">
+<span class='line'>557</span> </span><span class="WHIT">		</span><span class="NAME">this.s.swfPath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.custom.sSwfPath</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>558</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">ZeroClipboard</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>559</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>560</span> </span><span class="WHIT">			</span><span class="NAME">ZeroClipboard.moviePath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.swfPath</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>561</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>562</span> </span><span class="WHIT">		
+<span class='line'>563</span> 		</span><span class="COMM">/* Table row selecting */</span><span class="WHIT">
+<span class='line'>564</span> </span><span class="WHIT">		</span><span class="NAME">this.s.select.type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.custom.sRowSelect</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>565</span> </span><span class="WHIT">		</span><span class="NAME">this.s.select.preRowSelect</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.custom.fnPreRowSelect</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>566</span> </span><span class="WHIT">		</span><span class="NAME">this.s.select.postSelected</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.custom.fnRowSelected</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>567</span> </span><span class="WHIT">		</span><span class="NAME">this.s.select.postDeselected</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.custom.fnRowDeselected</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>568</span> </span><span class="WHIT">		</span><span class="NAME">this.s.select.selectedClass</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.custom.sSelectedClass</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>569</span> </span><span class="WHIT">		
+<span class='line'>570</span> 		</span><span class="COMM">/* Button set */</span><span class="WHIT">
+<span class='line'>571</span> </span><span class="WHIT">		</span><span class="NAME">this.s.buttonSet</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.custom.aButtons</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>572</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>573</span> </span><span class="WHIT">	
+<span class='line'>574</span> 	
+<span class='line'>575</span> 	</span><span class="COMM">/**
+<span class='line'>576</span> 	 * Take the user input arrays and expand them to be fully defined, and then add them to a given
+<span class='line'>577</span> 	 * DOM element
+<span class='line'>578</span> 	 *  @method  _fnButtonDefinations
+<span class='line'>579</span> 	 *  @param {array} buttonSet Set of user defined buttons
+<span class='line'>580</span> 	 *  @param {node} wrapper Node to add the created buttons to
+<span class='line'>581</span> 	 *  @returns void
+<span class='line'>582</span> 	 *  @private 
+<span class='line'>583</span> 	 */</span><span class="WHIT">
+<span class='line'>584</span> </span><span class="WHIT">	</span><span class="NAME">_fnButtonDefinations</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">buttonSet</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">wrapper</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>585</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>586</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">buttonDef</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>587</span> </span><span class="WHIT">		
+<span class='line'>588</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">buttonSet.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>589</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>590</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"string"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>591</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>592</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">TableTools.BUTTONS</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>593</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>594</span> </span><span class="WHIT">					</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"TableTools: Warning - unknown button type: "</span><span class="PUNC">+</span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>595</span> </span><span class="WHIT">					</span><span class="KEYW">continue</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>596</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>597</span> </span><span class="WHIT">				</span><span class="NAME">buttonDef</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.extend</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">TableTools.BUTTONS</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>598</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>599</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>600</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>601</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">TableTools.BUTTONS</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">sExtends</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>602</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>603</span> </span><span class="WHIT">					</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"TableTools: Warning - unknown button type: "</span><span class="PUNC">+</span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">sExtends</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>604</span> </span><span class="WHIT">					</span><span class="KEYW">continue</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>605</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>606</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.extend</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">TableTools.BUTTONS</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">sExtends</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>607</span> </span><span class="WHIT">				</span><span class="NAME">buttonDef</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.extend</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">buttonSet</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>608</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>609</span> </span><span class="WHIT">			
+<span class='line'>610</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>611</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>612</span> </span><span class="WHIT">				</span><span class="NAME">buttonDef.sButtonClass</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" ui-button ui-state-default"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>613</span> </span><span class="WHIT">				</span><span class="NAME">buttonDef.sButtonClassHover</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">" ui-button ui-state-default ui-state-hover"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>614</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>615</span> </span><span class="WHIT">			
+<span class='line'>616</span> 			</span><span class="NAME">wrapper.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this._fnCreateButton</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">buttonDef</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>617</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>618</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>619</span> </span><span class="WHIT">	
+<span class='line'>620</span> 	
+<span class='line'>621</span> 	</span><span class="COMM">/**
+<span class='line'>622</span> 	 * Create and configure a TableTools button
+<span class='line'>623</span> 	 *  @method  _fnCreateButton
+<span class='line'>624</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>625</span> 	 *  @returns {Node} Button element
+<span class='line'>626</span> 	 *  @private 
+<span class='line'>627</span> 	 */</span><span class="WHIT">
+<span class='line'>628</span> </span><span class="WHIT">	</span><span class="NAME">_fnCreateButton</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>629</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>630</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnButtonBase</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>631</span> </span><span class="WHIT">		
+<span class='line'>632</span>     </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sAction</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"print"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>633</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>634</span> </span><span class="WHIT">      </span><span class="NAME">this._fnPrintConfig</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>635</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>636</span> </span><span class="WHIT">    </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sAction.match</span><span class="PUNC">(</span><span class="REGX">/flash/</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>637</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>638</span> </span><span class="WHIT">      </span><span class="NAME">this._fnFlashConfig</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>639</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>640</span> </span><span class="WHIT">    </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sAction</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>641</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>642</span> </span><span class="WHIT">      </span><span class="NAME">this._fnTextConfig</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>643</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>644</span> </span><span class="WHIT">    </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sAction</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"collection"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>645</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>646</span> </span><span class="WHIT">      </span><span class="NAME">this._fnTextConfig</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>647</span> </span><span class="WHIT">			</span><span class="NAME">this._fnCollectionConfig</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>648</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>649</span> </span><span class="WHIT">		
+<span class='line'>650</span> 	  </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>651</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>652</span> </span><span class="WHIT">	
+<span class='line'>653</span> 	
+<span class='line'>654</span> 	</span><span class="COMM">/**
+<span class='line'>655</span> 	 * Create the DOM needed for the button and apply some base properties. All buttons start here
+<span class='line'>656</span> 	 *  @method  _fnButtonBase
+<span class='line'>657</span> 	 *  @param   {o} oConfig Button configuration object
+<span class='line'>658</span> 	 *  @returns {Node} DIV element for the button
+<span class='line'>659</span> 	 *  @private 
+<span class='line'>660</span> 	 */</span><span class="WHIT">
+<span class='line'>661</span> </span><span class="WHIT">	</span><span class="NAME">_fnButtonBase</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>662</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>663</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>664</span> </span><span class="WHIT">		  </span><span class="NAME">nButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'button'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>665</span> </span><span class="WHIT">		  </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'span'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>666</span> </span><span class="WHIT">			</span><span class="NAME">masterS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnGetMasterSettings</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>667</span> </span><span class="WHIT">		
+<span class='line'>668</span> 		</span><span class="NAME">nButton.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"DTTT_button "</span><span class="PUNC">+</span><span class="NAME">o.sButtonClass</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>669</span> </span><span class="WHIT">		</span><span class="NAME">nButton.setAttribute</span><span class="PUNC">(</span><span class="STRN">'id'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"ToolTables_"</span><span class="PUNC">+</span><span class="NAME">this.s.dt.sInstance</span><span class="PUNC">+</span><span class="STRN">"_"</span><span class="PUNC">+</span><span class="NAME">masterS.buttonCounter</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>670</span> </span><span class="WHIT">		</span><span class="NAME">nButton.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nSpan</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>671</span> </span><span class="WHIT">		</span><span class="NAME">nSpan.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o.sButtonText</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>672</span> </span><span class="WHIT">		
+<span class='line'>673</span> 		</span><span class="NAME">masterS.buttonCounter</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>674</span> </span><span class="WHIT">		
+<span class='line'>675</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>676</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>677</span> </span><span class="WHIT">	
+<span class='line'>678</span> 	
+<span class='line'>679</span> 	</span><span class="COMM">/**
+<span class='line'>680</span> 	 * Get the settings object for the master instance. When more than one TableTools instance is
+<span class='line'>681</span> 	 * assigned to a DataTable, only one of them can be the 'master' (for the select rows). As such,
+<span class='line'>682</span> 	 * we will typically want to interact with that master for global properties.
+<span class='line'>683</span> 	 *  @method  _fnGetMasterSettings
+<span class='line'>684</span> 	 *  @returns {Object} TableTools settings object
+<span class='line'>685</span> 	 *  @private 
+<span class='line'>686</span> 	 */</span><span class="WHIT">
+<span class='line'>687</span> </span><span class="WHIT">	</span><span class="NAME">_fnGetMasterSettings</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>688</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>689</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.master</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>690</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>691</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.s</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>692</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>693</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>694</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>695</span> </span><span class="WHIT">			</span><span class="COMM">/* Look for the master which has the same DT as this one */</span><span class="WHIT">
+<span class='line'>696</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">instances</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">TableTools._aInstances</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>697</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">instances.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>698</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>699</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.table</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">instances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s.dt.nTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>700</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>701</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">instances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>702</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>703</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>704</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>705</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>706</span> </span><span class="WHIT">	
+<span class='line'>707</span> 	
+<span class='line'>708</span> 	
+<span class='line'>709</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>710</span> 	 * Button collection functions
+<span class='line'>711</span> 	 */</span><span class="WHIT">
+<span class='line'>712</span> </span><span class="WHIT">	
+<span class='line'>713</span> 	</span><span class="COMM">/**
+<span class='line'>714</span> 	 * Create a collection button, when activated will present a drop downlist of other buttons
+<span class='line'>715</span> 	 *  @param   {Node} nButton Button to use for the collection activation
+<span class='line'>716</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>717</span> 	 *  @returns void
+<span class='line'>718</span> 	 *  @private
+<span class='line'>719</span> 	 */</span><span class="WHIT">
+<span class='line'>720</span> </span><span class="WHIT">	</span><span class="NAME">_fnCollectionConfig</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>721</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>722</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>723</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>724</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">this.s.dt.bJUI</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"DTTT_collection"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
+<span class='line'>725</span> </span><span class="WHIT">			</span><span class="STRN">"DTTT_collection ui-buttonset ui-buttonset-multi"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>726</span> </span><span class="WHIT">		</span><span class="NAME">oConfig._collection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>727</span> </span><span class="WHIT">		
+<span class='line'>728</span> 		</span><span class="NAME">this._fnButtonDefinations</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.aButtons</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>729</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>730</span> </span><span class="WHIT">	
+<span class='line'>731</span> 	
+<span class='line'>732</span> 	</span><span class="COMM">/**
+<span class='line'>733</span> 	 * Show a button collection
+<span class='line'>734</span> 	 *  @param   {Node} nButton Button to use for the collection
+<span class='line'>735</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>736</span> 	 *  @returns void
+<span class='line'>737</span> 	 *  @private
+<span class='line'>738</span> 	 */</span><span class="WHIT">
+<span class='line'>739</span> </span><span class="WHIT">	</span><span class="NAME">_fnCollectionShow</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>740</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>741</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>742</span> </span><span class="WHIT">			</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>743</span> </span><span class="WHIT">			</span><span class="NAME">oPos</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">offset</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>744</span> </span><span class="WHIT">			</span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig._collection</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>745</span> </span><span class="WHIT">			</span><span class="NAME">iDivX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oPos.left</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>746</span> </span><span class="WHIT">			</span><span class="NAME">iDivY</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oPos.top</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>747</span> </span><span class="WHIT">			</span><span class="NAME">iWinHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">height</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>748</span> </span><span class="WHIT">		 	</span><span class="NAME">iWinWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">width</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>749</span> </span><span class="WHIT">		
+<span class='line'>750</span> 		</span><span class="NAME">nHidden.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>751</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>752</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>753</span> </span><span class="WHIT">		</span><span class="NAME">nHidden.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>754</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>755</span> </span><span class="WHIT">		
+<span class='line'>756</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>757</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"absolute"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>758</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>759</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"0px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>760</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">iWinHeight</span><span class="PUNC">></span><span class="NAME">iDocHeight</span><span class="PUNC">)</span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">iWinHeight</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>761</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">iWinWidth</span><span class="PUNC">></span><span class="NAME">iDocWidth</span><span class="PUNC">)</span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">iWinWidth</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>762</span> </span><span class="WHIT">		</span><span class="NAME">nBackground.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"DTTT_collection_background"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>763</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">'opacity'</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>764</span> </span><span class="WHIT">		
+<span class='line'>765</span> 		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>766</span> </span><span class="WHIT">		</span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>767</span> </span><span class="WHIT">		
+<span class='line'>768</span> 		</span><span class="COMM">/* Visual corrections to try and keep the collection visible */</span><span class="WHIT">
+<span class='line'>769</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>770</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iDivHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>771</span> </span><span class="WHIT">		
+<span class='line'>772</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iDivX</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iDivWidth</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">iDocWidth</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>773</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>774</span> </span><span class="WHIT">			</span><span class="NAME">nHidden.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDocWidth</span><span class="PUNC">-</span><span class="NAME">iDivWidth</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>775</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>776</span> </span><span class="WHIT">		
+<span class='line'>777</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iDivY</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">iDivHeight</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">iDocHeight</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>778</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>779</span> </span><span class="WHIT">			</span><span class="NAME">nHidden.style.top</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">iDivY</span><span class="PUNC">-</span><span class="NAME">iDivHeight</span><span class="PUNC">-</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>780</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>781</span> </span><span class="WHIT">	
+<span class='line'>782</span> 		</span><span class="NAME">this.dom.collection.collection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nHidden</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>783</span> </span><span class="WHIT">		</span><span class="NAME">this.dom.collection.background</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nBackground</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>784</span> </span><span class="WHIT">		
+<span class='line'>785</span> 		</span><span class="COMM">/* This results in a very small delay for the end user but it allows the animation to be
+<span class='line'>786</span> 		 * much smoother. If you don't want the animation, then the setTimeout can be removed
+<span class='line'>787</span> 		 */</span><span class="WHIT">
+<span class='line'>788</span> </span><span class="WHIT">		</span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>789</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nHidden</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>790</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0.25</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>791</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>792</span> </span><span class="WHIT">		
+<span class='line'>793</span> 		</span><span class="COMM">/* Event handler to remove the collection display */</span><span class="WHIT">
+<span class='line'>794</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nBackground</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>795</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionHide.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>796</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>797</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>798</span> </span><span class="WHIT">	
+<span class='line'>799</span> 	
+<span class='line'>800</span> 	</span><span class="COMM">/**
+<span class='line'>801</span> 	 * Hide a button collection
+<span class='line'>802</span> 	 *  @param   {Node} nButton Button to use for the collection
+<span class='line'>803</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>804</span> 	 *  @returns void
+<span class='line'>805</span> 	 *  @private
+<span class='line'>806</span> 	 */</span><span class="WHIT">
+<span class='line'>807</span> </span><span class="WHIT">	</span><span class="NAME">_fnCollectionHide</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>808</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>809</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">oConfig.sExtends</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'collection'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>810</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>811</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>812</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>813</span> </span><span class="WHIT">		
+<span class='line'>814</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.collection.collection</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>815</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>816</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.collection.collection</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>817</span> </span><span class="WHIT">				</span><span class="NAME">this.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>818</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>819</span> </span><span class="WHIT">			
+<span class='line'>820</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">this.dom.collection.background</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">animate</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">opacity</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">500</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>821</span> </span><span class="WHIT">				</span><span class="NAME">this.parentNode.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>822</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>823</span> </span><span class="WHIT">			
+<span class='line'>824</span> 			</span><span class="NAME">this.dom.collection.collection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>825</span> </span><span class="WHIT">			</span><span class="NAME">this.dom.collection.background</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>826</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>827</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>828</span> </span><span class="WHIT">	
+<span class='line'>829</span> 	
+<span class='line'>830</span> 	
+<span class='line'>831</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>832</span> 	 * Row selection functions
+<span class='line'>833</span> 	 */</span><span class="WHIT">
+<span class='line'>834</span> </span><span class="WHIT">	
+<span class='line'>835</span> 	</span><span class="COMM">/**
+<span class='line'>836</span> 	 * Add event handlers to a table to allow for row selection
+<span class='line'>837</span> 	 *  @method  _fnRowSelectConfig
+<span class='line'>838</span> 	 *  @returns void
+<span class='line'>839</span> 	 *  @private 
+<span class='line'>840</span> 	 */</span><span class="WHIT">
+<span class='line'>841</span> </span><span class="WHIT">	</span><span class="NAME">_fnRowSelectConfig</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>842</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>843</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.master</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>844</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>845</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>846</span> </span><span class="WHIT">				</span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>847</span> 				</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>848</span> 				</span><span class="NAME">aoOpenRows</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoOpenRows</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>849</span> </span><span class="WHIT">			
+<span class='line'>850</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">that.s.dt.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'DTTT_selectable'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>851</span> </span><span class="WHIT">			
+<span class='line'>852</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'tr'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">that.s.dt.nTBody</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">live</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'click'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>853</span> </span><span class="WHIT">				</span><span class="COMM">/* Sub-table must be ignored (odd that the selector won't do this with >) */</span><span class="WHIT">
+<span class='line'>854</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.parentNode</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">that.s.dt.nTBody</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>855</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>856</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>857</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>858</span> </span><span class="WHIT">				
+<span class='line'>859</span> 				</span><span class="COMM">/* Not interested in selecting 'opened' rows */</span><span class="WHIT">
+<span class='line'>860</span> </span><span class="WHIT">				</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aoOpenRows.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>861</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>862</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">aoOpenRows</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTr</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>863</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>864</span> </span><span class="WHIT">						</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>865</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>866</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>867</span> </span><span class="WHIT">				
+<span class='line'>868</span> 				</span><span class="COMM">/* User defined selection function */</span><span class="WHIT">
+<span class='line'>869</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.select.preRowSelect</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">that.s.select.preRowSelect.call</span><span class="PUNC">(</span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>870</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>871</span> </span><span class="WHIT">					</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>872</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>873</span> </span><span class="WHIT">				
+<span class='line'>874</span> 				</span><span class="COMM">/* And go */</span><span class="WHIT">
+<span class='line'>875</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.select.type</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"single"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>876</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>877</span> </span><span class="WHIT">					</span><span class="NAME">that._fnRowSelectSingle.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>878</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>879</span> </span><span class="WHIT">				</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>880</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>881</span> </span><span class="WHIT">					</span><span class="NAME">that._fnRowSelectMulti.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>882</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>883</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>884</span> </span><span class="WHIT">			
+<span class='line'>885</span> 			</span><span class="COMM">/* Add a draw callback handler for when 'select' all is active and we are using server-side
+<span class='line'>886</span> 			 * processing, so TableTools will automatically select the new rows for us
+<span class='line'>887</span> 			 */</span><span class="WHIT">
+<span class='line'>888</span> </span><span class="WHIT">			</span><span class="NAME">that.s.dt.aoDrawCallback.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>889</span> </span><span class="WHIT">				</span><span class="NAME">fn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>890</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.s.select.all</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">that.s.dt.oFeatures.bServerSide</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>891</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>892</span> </span><span class="WHIT">						</span><span class="NAME">that.fnSelectAll</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>893</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>894</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>895</span> </span><span class="WHIT">				</span><span class="NAME">sName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"TableTools_select"</span><span class="WHIT">
+<span class='line'>896</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>897</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>898</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>899</span> </span><span class="WHIT">	
+<span class='line'>900</span> 	
+<span class='line'>901</span> 	</span><span class="COMM">/**
+<span class='line'>902</span> 	 * Select or deselect a row based on its current state when only one row is allowed to be
+<span class='line'>903</span> 	 * selected at a time (i.e. if there is a row already selected, deselect it). If the selected
+<span class='line'>904</span> 	 * row is the one being passed in, just deselect and take no further action.
+<span class='line'>905</span> 	 *  @method  _fnRowSelectSingle
+<span class='line'>906</span> 	 *  @param   {Node} nNode TR element which is being 'activated' in some way
+<span class='line'>907</span> 	 *  @returns void
+<span class='line'>908</span> 	 *  @private 
+<span class='line'>909</span> 	 */</span><span class="WHIT">
+<span class='line'>910</span> </span><span class="WHIT">	</span><span class="NAME">_fnRowSelectSingle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>911</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>912</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.master</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>913</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>914</span> </span><span class="WHIT">			</span><span class="COMM">/* Do nothing on the DataTables 'empty' result set row */</span><span class="WHIT">
+<span class='line'>915</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'td'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hasClass</span><span class="PUNC">(</span><span class="NAME">this.s.dt.oClasses.sRowEmpty</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>916</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>917</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>918</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>919</span> </span><span class="WHIT">			
+<span class='line'>920</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hasClass</span><span class="PUNC">(</span><span class="NAME">this.s.select.selectedClass</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>921</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>922</span> </span><span class="WHIT">				</span><span class="NAME">this._fnRowDeselect</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>923</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>924</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>925</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>926</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.selected.length</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>927</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>928</span> </span><span class="WHIT">					</span><span class="NAME">this._fnRowDeselectAll</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>929</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>930</span> </span><span class="WHIT">				
+<span class='line'>931</span> 				</span><span class="NAME">this.s.select.selected.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>932</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.selectedClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>933</span> </span><span class="WHIT">				
+<span class='line'>934</span> 				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.postSelected</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>935</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>936</span> </span><span class="WHIT">					</span><span class="NAME">this.s.select.postSelected.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>937</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>938</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>939</span> </span><span class="WHIT">			
+<span class='line'>940</span> 			</span><span class="NAME">TableTools._fnEventDispatch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>941</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>942</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>943</span> </span><span class="WHIT">	
+<span class='line'>944</span> 	
+<span class='line'>945</span> 	</span><span class="COMM">/**
+<span class='line'>946</span> 	 * Select or deselect a row based on its current state when multiple rows are allowed to be
+<span class='line'>947</span> 	 * selected.
+<span class='line'>948</span> 	 *  @method  _fnRowSelectMulti
+<span class='line'>949</span> 	 *  @param   {Node} nNode TR element which is being 'activated' in some way
+<span class='line'>950</span> 	 *  @returns void
+<span class='line'>951</span> 	 *  @private 
+<span class='line'>952</span> 	 */</span><span class="WHIT">
+<span class='line'>953</span> </span><span class="WHIT">	</span><span class="NAME">_fnRowSelectMulti</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>954</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>955</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.master</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>956</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>957</span> </span><span class="WHIT">			</span><span class="COMM">/* Do nothing on the DataTables 'empty' result set row */</span><span class="WHIT">
+<span class='line'>958</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="STRN">'td'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hasClass</span><span class="PUNC">(</span><span class="NAME">this.s.dt.oClasses.sRowEmpty</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>959</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>960</span> </span><span class="WHIT">				</span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>961</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>962</span> </span><span class="WHIT">			
+<span class='line'>963</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hasClass</span><span class="PUNC">(</span><span class="NAME">this.s.select.selectedClass</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>964</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>965</span> </span><span class="WHIT">				</span><span class="NAME">this._fnRowDeselect</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>966</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>967</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>968</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>969</span> </span><span class="WHIT">				</span><span class="NAME">this.s.select.selected.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>970</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.selectedClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>971</span> </span><span class="WHIT">				
+<span class='line'>972</span> 				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.postSelected</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>973</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>974</span> </span><span class="WHIT">					</span><span class="NAME">this.s.select.postSelected.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>975</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>976</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>977</span> </span><span class="WHIT">			
+<span class='line'>978</span> 			</span><span class="NAME">TableTools._fnEventDispatch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>979</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>980</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>981</span> </span><span class="WHIT">	
+<span class='line'>982</span> 	
+<span class='line'>983</span> 	</span><span class="COMM">/**
+<span class='line'>984</span> 	 * Select all TR elements in the table. Note that this function will still operate in 'single'
+<span class='line'>985</span> 	 * select mode, which might not be what you desire (in which case, don't call this function!)
+<span class='line'>986</span> 	 *  @method  _fnRowSelectAll
+<span class='line'>987</span> 	 *  @returns void
+<span class='line'>988</span> 	 *  @private 
+<span class='line'>989</span> 	 */</span><span class="WHIT">
+<span class='line'>990</span> </span><span class="WHIT">	</span><span class="NAME">_fnRowSelectAll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>991</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>992</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.master</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>993</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>994</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">n</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>995</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">this.s.dt.aiDisplayMaster.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>996</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>997</span> </span><span class="WHIT">				</span><span class="NAME">n</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aoData</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">this.s.dt.aiDisplayMaster</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTr</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>998</span> </span><span class="WHIT">				
+<span class='line'>999</span> 				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">n</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hasClass</span><span class="PUNC">(</span><span class="NAME">this.s.select.selectedClass</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1000</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1001</span> </span><span class="WHIT">					</span><span class="NAME">this.s.select.selected.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">n</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1002</span> </span><span class="WHIT">					</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">n</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.selectedClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1003</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1004</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1005</span> </span><span class="WHIT">			
+<span class='line'>1006</span> 			</span><span class="NAME">this.s.select.all</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1007</span> </span><span class="WHIT">			</span><span class="NAME">TableTools._fnEventDispatch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1008</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1009</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1010</span> </span><span class="WHIT">	
+<span class='line'>1011</span> 	
+<span class='line'>1012</span> 	</span><span class="COMM">/**
+<span class='line'>1013</span> 	 * Deselect all TR elements in the table. If nothing is currently selected, then no action is
+<span class='line'>1014</span> 	 * taken.
+<span class='line'>1015</span> 	 *  @method  _fnRowDeselectAll
+<span class='line'>1016</span> 	 *  @returns void
+<span class='line'>1017</span> 	 *  @private 
+<span class='line'>1018</span> 	 */</span><span class="WHIT">
+<span class='line'>1019</span> </span><span class="WHIT">	</span><span class="NAME">_fnRowDeselectAll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1020</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1021</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.master</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1022</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1023</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NAME">this.s.select.selected.length</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">>=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">--</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1024</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1025</span> </span><span class="WHIT">				</span><span class="NAME">this._fnRowDeselect</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1026</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1027</span> </span><span class="WHIT">			
+<span class='line'>1028</span> 			</span><span class="NAME">this.s.select.all</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1029</span> </span><span class="WHIT">			</span><span class="NAME">TableTools._fnEventDispatch</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1030</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1031</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1032</span> </span><span class="WHIT">	
+<span class='line'>1033</span> 	
+<span class='line'>1034</span> 	</span><span class="COMM">/**
+<span class='line'>1035</span> 	 * Deselect a single row, based on its index in the selected array, or a TR node (when the
+<span class='line'>1036</span> 	 * index is then computed)
+<span class='line'>1037</span> 	 *  @method  _fnRowDeselect
+<span class='line'>1038</span> 	 *  @param   {int|Node} i Node or index of node in selected array, which is to be deselected
+<span class='line'>1039</span> 	 *  @returns void
+<span class='line'>1040</span> 	 *  @private 
+<span class='line'>1041</span> 	 */</span><span class="WHIT">
+<span class='line'>1042</span> </span><span class="WHIT">	</span><span class="NAME">_fnRowDeselect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1043</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1044</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">i.nodeName</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1045</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1046</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$.inArray</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.select.selected</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1047</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1048</span> </span><span class="WHIT">		
+<span class='line'>1049</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.select.selected</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1050</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nNode</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="NAME">this.s.select.selectedClass</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1051</span> </span><span class="WHIT">		</span><span class="NAME">this.s.select.selected.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1052</span> </span><span class="WHIT">		
+<span class='line'>1053</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.postDeselected</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1054</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1055</span> </span><span class="WHIT">			</span><span class="NAME">this.s.select.postDeselected.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1056</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1057</span> </span><span class="WHIT">		
+<span class='line'>1058</span> 		</span><span class="NAME">this.s.select.all</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1059</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1060</span> </span><span class="WHIT">	
+<span class='line'>1061</span> 	
+<span class='line'>1062</span> 	
+<span class='line'>1063</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>1064</span> 	 * Text button functions
+<span class='line'>1065</span> 	 */</span><span class="WHIT">
+<span class='line'>1066</span> </span><span class="WHIT">	
+<span class='line'>1067</span> 	</span><span class="COMM">/**
+<span class='line'>1068</span> 	 * Configure a text based button for interaction events
+<span class='line'>1069</span> 	 *  @method  _fnTextConfig
+<span class='line'>1070</span> 	 *  @param   {Node} nButton Button element which is being considered
+<span class='line'>1071</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>1072</span> 	 *  @returns void
+<span class='line'>1073</span> 	 *  @private 
+<span class='line'>1074</span> 	 */</span><span class="WHIT">
+<span class='line'>1075</span> </span><span class="WHIT">	</span><span class="NAME">_fnTextConfig</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1076</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1077</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1078</span> </span><span class="WHIT">		
+<span class='line'>1079</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnInit</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1080</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1081</span> </span><span class="WHIT">			</span><span class="NAME">oConfig.fnInit.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1082</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1083</span> </span><span class="WHIT">		
+<span class='line'>1084</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sToolTip</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1085</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1086</span> </span><span class="WHIT">			</span><span class="NAME">nButton.title</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sToolTip</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1087</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1088</span> </span><span class="WHIT">		
+<span class='line'>1089</span> 	  </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hover</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1090</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sButtonClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
+<span class='line'>1091</span> </span><span class="WHIT">				</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="NAME">oConfig.sButtonClassHover</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1092</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnMouseover</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1093</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1094</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnMouseover.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1095</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1096</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1097</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sButtonClassHover</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
+<span class='line'>1098</span> </span><span class="WHIT">				</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sButtonClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1099</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnMouseout</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1100</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1101</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnMouseout.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1102</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1103</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1104</span> </span><span class="WHIT">		
+<span class='line'>1105</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnSelect</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1106</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1107</span> </span><span class="WHIT">			</span><span class="NAME">TableTools._fnEventListen</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1108</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnSelect.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">n</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1109</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1110</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1111</span> </span><span class="WHIT">		
+<span class='line'>1112</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1113</span> </span><span class="WHIT">			</span><span class="NAME">e.preventDefault</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1114</span> </span><span class="WHIT">			
+<span class='line'>1115</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnClick</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1116</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1117</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnClick.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1118</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1119</span> </span><span class="WHIT">			
+<span class='line'>1120</span> 			</span><span class="COMM">/* Provide a complete function to match the behaviour of the flash elements */</span><span class="WHIT">
+<span class='line'>1121</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnComplete</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1122</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1123</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnComplete.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1124</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1125</span> </span><span class="WHIT">			
+<span class='line'>1126</span> 			</span><span class="NAME">that._fnCollectionHide</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1127</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1128</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1129</span> </span><span class="WHIT">	
+<span class='line'>1130</span> 	
+<span class='line'>1131</span> 	
+<span class='line'>1132</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>1133</span> 	 * Flash button functions
+<span class='line'>1134</span> 	 */</span><span class="WHIT">
+<span class='line'>1135</span> </span><span class="WHIT">	
+<span class='line'>1136</span> 	</span><span class="COMM">/**
+<span class='line'>1137</span> 	 * Configure a flash based button for interaction events
+<span class='line'>1138</span> 	 *  @method  _fnFlashConfig
+<span class='line'>1139</span> 	 *  @param   {Node} nButton Button element which is being considered
+<span class='line'>1140</span> 	 *  @param   {o} oConfig Button configuration object
+<span class='line'>1141</span> 	 *  @returns void
+<span class='line'>1142</span> 	 *  @private 
+<span class='line'>1143</span> 	 */</span><span class="WHIT">
+<span class='line'>1144</span> </span><span class="WHIT">	</span><span class="NAME">_fnFlashConfig</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1145</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1146</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1147</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">ZeroClipboard.Client</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1148</span> </span><span class="WHIT">		
+<span class='line'>1149</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnInit</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1150</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1151</span> </span><span class="WHIT">			</span><span class="NAME">oConfig.fnInit.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1152</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1153</span> </span><span class="WHIT">		
+<span class='line'>1154</span> 		</span><span class="NAME">flash.setHandCursor</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1155</span> </span><span class="WHIT">		
+<span class='line'>1156</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sAction</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"flash_save"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1157</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1158</span> </span><span class="WHIT">			</span><span class="NAME">flash.setAction</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'save'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1159</span> </span><span class="WHIT">			</span><span class="NAME">flash.setCharSet</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">oConfig.sCharSet</span><span class="PUNC">==</span><span class="STRN">"utf16le"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'UTF16LE'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'UTF8'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1160</span> </span><span class="WHIT">			</span><span class="NAME">flash.setBomInc</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.bBomInc</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1161</span> </span><span class="WHIT">			</span><span class="NAME">flash.setFileName</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sFileName.replace</span><span class="PUNC">(</span><span class="STRN">'*'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.fnGetTitle</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1162</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1163</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sAction</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"flash_pdf"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1164</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1165</span> </span><span class="WHIT">			</span><span class="NAME">flash.setAction</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'pdf'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1166</span> </span><span class="WHIT">			</span><span class="NAME">flash.setFileName</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sFileName.replace</span><span class="PUNC">(</span><span class="STRN">'*'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.fnGetTitle</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1167</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1168</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>1169</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1170</span> </span><span class="WHIT">			</span><span class="NAME">flash.setAction</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'copy'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1171</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1172</span> </span><span class="WHIT">		
+<span class='line'>1173</span> 		</span><span class="NAME">flash.addEventListener</span><span class="PUNC">(</span><span class="STRN">'mouseOver'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">client</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1174</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sButtonClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
+<span class='line'>1175</span> </span><span class="WHIT">				</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="NAME">oConfig.sButtonClassHover</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1176</span> </span><span class="WHIT">			
+<span class='line'>1177</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnMouseover</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1178</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1179</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnMouseover.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1180</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1181</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1182</span> </span><span class="WHIT">		
+<span class='line'>1183</span> 		</span><span class="NAME">flash.addEventListener</span><span class="PUNC">(</span><span class="STRN">'mouseOut'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">client</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1184</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sButtonClassHover</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
+<span class='line'>1185</span> </span><span class="WHIT">				</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="NAME">oConfig.sButtonClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1186</span> </span><span class="WHIT">			
+<span class='line'>1187</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnMouseout</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1188</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1189</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnMouseout.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1190</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1191</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1192</span> </span><span class="WHIT">		
+<span class='line'>1193</span> 		</span><span class="NAME">flash.addEventListener</span><span class="PUNC">(</span><span class="STRN">'mouseDown'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">client</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1194</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnClick</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1195</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1196</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnClick.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1197</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1198</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1199</span> </span><span class="WHIT">		
+<span class='line'>1200</span> 		</span><span class="NAME">flash.addEventListener</span><span class="PUNC">(</span><span class="STRN">'complete'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">client</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1201</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnComplete</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1202</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1203</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnComplete.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1204</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1205</span> </span><span class="WHIT">			</span><span class="NAME">that._fnCollectionHide</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1206</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1207</span> </span><span class="WHIT">		
+<span class='line'>1208</span> 		</span><span class="NAME">this._fnFlashGlue</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig.sToolTip</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1209</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1210</span> </span><span class="WHIT">	
+<span class='line'>1211</span> 	
+<span class='line'>1212</span> 	</span><span class="COMM">/**
+<span class='line'>1213</span> 	 * Wait until the id is in the DOM before we "glue" the swf. Note that this function will call
+<span class='line'>1214</span> 	 * itself (using setTimeout) until it completes successfully
+<span class='line'>1215</span> 	 *  @method  _fnFlashGlue
+<span class='line'>1216</span> 	 *  @param   {Object} clip Zero clipboard object
+<span class='line'>1217</span> 	 *  @param   {Node} node node to glue swf to
+<span class='line'>1218</span> 	 *  @param   {String} text title of the flash movie
+<span class='line'>1219</span> 	 *  @returns void
+<span class='line'>1220</span> 	 *  @private 
+<span class='line'>1221</span> 	 */</span><span class="WHIT">
+<span class='line'>1222</span> </span><span class="WHIT">	</span><span class="NAME">_fnFlashGlue</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1223</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1224</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1225</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'id'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1226</span> </span><span class="WHIT">	  
+<span class='line'>1227</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1228</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1229</span> </span><span class="WHIT">			</span><span class="NAME">flash.glue</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1230</span> </span><span class="WHIT">			
+<span class='line'>1231</span> 			</span><span class="COMM">/* Catch those who are using a TableTools 1 version of ZeroClipboard */</span><span class="WHIT">
+<span class='line'>1232</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash.domElement.parentNode</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">flash.div.parentNode</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> 
+<span class='line'>1233</span> 				   </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">that.__bZCWarning</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1234</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1235</span> </span><span class="WHIT">				</span><span class="NAME">that.s.dt.oApi._fnLog</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"It looks like you are using the version of "</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>1236</span> </span><span class="WHIT">					</span><span class="STRN">"ZeroClipboard which came with TableTools 1. Please update to use the version that "</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>1237</span> </span><span class="WHIT">					</span><span class="STRN">"came with TableTools 2."</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1238</span> </span><span class="WHIT">				</span><span class="NAME">that.__bZCWarning</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1239</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1240</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1241</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>1242</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1243</span> </span><span class="WHIT">			</span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1244</span> </span><span class="WHIT">				</span><span class="NAME">that._fnFlashGlue</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1245</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">100</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1246</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1247</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1248</span> </span><span class="WHIT">	
+<span class='line'>1249</span> 	
+<span class='line'>1250</span> 	</span><span class="COMM">/**
+<span class='line'>1251</span> 	 * Set the text for the flash clip to deal with
+<span class='line'>1252</span> 	 * 
+<span class='line'>1253</span> 	 * This function is required for large information sets. There is a limit on the 
+<span class='line'>1254</span> 	 * amount of data that can be transfered between Javascript and Flash in a single call, so
+<span class='line'>1255</span> 	 * we use this method to build up the text in Flash by sending over chunks. It is estimated
+<span class='line'>1256</span> 	 * that the data limit is around 64k, although it is undocuments, and appears to be different
+<span class='line'>1257</span> 	 * between different flash versions. We chunk at 8KiB.
+<span class='line'>1258</span> 	 *  @method  _fnFlashSetText
+<span class='line'>1259</span> 	 *  @param   {Object} clip the ZeroClipboard object
+<span class='line'>1260</span> 	 *  @param   {String} sData the data to be set
+<span class='line'>1261</span> 	 *  @returns void
+<span class='line'>1262</span> 	 *  @private 
+<span class='line'>1263</span> 	 */</span><span class="WHIT">
+<span class='line'>1264</span> </span><span class="WHIT">	</span><span class="NAME">_fnFlashSetText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">clip</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1265</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1266</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">asData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnChunkData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">8192</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1267</span> </span><span class="WHIT">		
+<span class='line'>1268</span> 		</span><span class="NAME">clip.clearText</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1269</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">asData.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1270</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1271</span> </span><span class="WHIT">			</span><span class="NAME">clip.appendText</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">asData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1272</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1273</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1274</span> </span><span class="WHIT">	
+<span class='line'>1275</span> 	
+<span class='line'>1276</span> 	
+<span class='line'>1277</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>1278</span> 	 * Data retrieval functions
+<span class='line'>1279</span> 	 */</span><span class="WHIT">
+<span class='line'>1280</span> </span><span class="WHIT">	
+<span class='line'>1281</span> 	</span><span class="COMM">/**
+<span class='line'>1282</span> 	 * Convert the mixed columns variable into a boolean array the same size as the columns, which
+<span class='line'>1283</span> 	 * indicates which columns we want to include
+<span class='line'>1284</span> 	 *  @method  _fnColumnTargets
+<span class='line'>1285</span> 	 *  @param   {String|Array} mColumns The columns to be included in data retreieval. If a string
+<span class='line'>1286</span> 	 *             then it can take the value of "visible" or "hidden" (to include all visible or
+<span class='line'>1287</span> 	 *             hidden columns respectively). Or an array of column indexes
+<span class='line'>1288</span> 	 *  @returns {Array} A boolean array the length of the columns of the table, which each value
+<span class='line'>1289</span> 	 *             indicating if the column is to be included or not
+<span class='line'>1290</span> 	 *  @private 
+<span class='line'>1291</span> 	 */</span><span class="WHIT">
+<span class='line'>1292</span> </span><span class="WHIT">	</span><span class="NAME">_fnColumnTargets</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">mColumns</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1293</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1294</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aColumns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1295</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1296</span> </span><span class="WHIT">		
+<span class='line'>1297</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">mColumns</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"object"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1298</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1299</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1300</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1301</span> </span><span class="WHIT">				</span><span class="NAME">aColumns.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1302</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1303</span> </span><span class="WHIT">			
+<span class='line'>1304</span> 			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">mColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1305</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1306</span> </span><span class="WHIT">				</span><span class="NAME">aColumns</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">mColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1307</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1308</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1309</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">mColumns</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"visible"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1310</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1311</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1312</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1313</span> </span><span class="WHIT">				</span><span class="NAME">aColumns.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1314</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1315</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1316</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">mColumns</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"hidden"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1317</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1318</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1319</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1320</span> </span><span class="WHIT">				</span><span class="NAME">aColumns.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">bVisible</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1321</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1322</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1323</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT"> </span><span class="COMM">/* all */</span><span class="WHIT">
+<span class='line'>1324</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1325</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1326</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1327</span> </span><span class="WHIT">				</span><span class="NAME">aColumns.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1328</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1329</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1330</span> </span><span class="WHIT">		
+<span class='line'>1331</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">aColumns</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1332</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1333</span> </span><span class="WHIT">	
+<span class='line'>1334</span> 	
+<span class='line'>1335</span> 	</span><span class="COMM">/**
+<span class='line'>1336</span> 	 * New line character(s) depend on the platforms
+<span class='line'>1337</span> 	 *  @method  method
+<span class='line'>1338</span> 	 *  @param   {Object} oConfig Button configuration object - only interested in oConfig.sNewLine
+<span class='line'>1339</span> 	 *  @returns {String} Newline character
+<span class='line'>1340</span> 	 */</span><span class="WHIT">
+<span class='line'>1341</span> </span><span class="WHIT">	</span><span class="NAME">_fnNewline</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1342</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1343</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sNewLine</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"auto"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1344</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1345</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">navigator.userAgent.match</span><span class="PUNC">(</span><span class="REGX">/Windows/</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"\r\n"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"\n"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1346</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1347</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>1348</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1349</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">oConfig.sNewLine</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1350</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1351</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1352</span> </span><span class="WHIT">	
+<span class='line'>1353</span> 	
+<span class='line'>1354</span> 	</span><span class="COMM">/**
+<span class='line'>1355</span> 	 * Get data from DataTables' internals and format it for output
+<span class='line'>1356</span> 	 *  @method  _fnGetDataTablesData
+<span class='line'>1357</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>1358</span> 	 *  @param   {String} oConfig.sFieldBoundary Field boundary for the data cells in the string
+<span class='line'>1359</span> 	 *  @param   {String} oConfig.sFieldSeperator Field seperator for the data cells
+<span class='line'>1360</span> 	 *  @param   {String} oConfig.sNewline New line options
+<span class='line'>1361</span> 	 *  @param   {Mixed} oConfig.mColumns Which columns should be included in the output
+<span class='line'>1362</span> 	 *  @param   {Boolean} oConfig.bHeader Include the header
+<span class='line'>1363</span> 	 *  @param   {Boolean} oConfig.bFooter Include the footer
+<span class='line'>1364</span> 	 *  @param   {Boolean} oConfig.bSelectedOnly Include only the selected rows in the output
+<span class='line'>1365</span> 	 *  @returns {String} Concatinated string of data
+<span class='line'>1366</span> 	 *  @private 
+<span class='line'>1367</span> 	 */</span><span class="WHIT">
+<span class='line'>1368</span> </span><span class="WHIT">	</span><span class="NAME">_fnGetDataTablesData</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1369</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1370</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jLen</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1371</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1372</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1373</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">RegExp</span><span class="PUNC">(</span><span class="NAME">oConfig.sFieldBoundary</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"g"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="COMM">/* Do it here for speed */</span><span class="WHIT">
+<span class='line'>1374</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aColumnsInc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnColumnTargets</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.mColumns</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1375</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sNewline</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnNewline</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1376</span> </span><span class="WHIT">		
+<span class='line'>1377</span> 		</span><span class="COMM">/*
+<span class='line'>1378</span> 		 * Header
+<span class='line'>1379</span> 		 */</span><span class="WHIT">
+<span class='line'>1380</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.bHeader</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1381</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1382</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1383</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1384</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aColumnsInc</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1385</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1386</span> </span><span class="WHIT">					</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">sTitle.replace</span><span class="PUNC">(</span><span class="REGX">/\n/g</span><span class="PUNC">,</span><span class="STRN">" "</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/&lt;.*?>/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1387</span> </span><span class="WHIT">					</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnHtmlDecode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1388</span> </span><span class="WHIT">					
+<span class='line'>1389</span> 					</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnBoundData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sLoopData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig.sFieldBoundary</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>1390</span> </span><span class="WHIT">					 	</span><span class="NAME">oConfig.sFieldSeperator</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1391</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1392</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1393</span> </span><span class="WHIT">			</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sData.slice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig.sFieldSeperator.length</span><span class="PUNC">*</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1394</span> </span><span class="WHIT">			</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sNewline</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1395</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1396</span> </span><span class="WHIT">		
+<span class='line'>1397</span> 		</span><span class="COMM">/*
+<span class='line'>1398</span> 		 * Body
+<span class='line'>1399</span> 		 */</span><span class="WHIT">
+<span class='line'>1400</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">jLen</span><span class="PUNC">=</span><span class="NAME">dt.aiDisplay.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">&lt;</span><span class="NAME">jLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1401</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1402</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oConfig.bSelectedOnly</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">oConfig.bSelectedOnly</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> 
+<span class='line'>1403</span> 				   </span><span class="PUNC">!</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">dt.aoData</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">dt.aiDisplay</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTr</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hasClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.s.select.selectedClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1404</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1405</span> </span><span class="WHIT">				</span><span class="KEYW">continue</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1406</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1407</span> </span><span class="WHIT">			
+<span class='line'>1408</span> 			</span><span class="COMM">/* Columns */</span><span class="WHIT">
+<span class='line'>1409</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1410</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1411</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aColumnsInc</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1412</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1413</span> </span><span class="WHIT">					</span><span class="COMM">/* Convert to strings (with small optimisation) */</span><span class="WHIT">
+<span class='line'>1414</span> </span><span class="WHIT">					</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">mTypeData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dt.aoData</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">dt.aiDisplay</span><span class="PUNC">[</span><span class="NAME">j</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_aData</span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1415</span> </span><span class="WHIT">					</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">mTypeData</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"string"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1416</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1417</span> </span><span class="WHIT">						</span><span class="COMM">/* Strip newlines, replace img tags with alt attr. and finally strip html... */</span><span class="WHIT">
+<span class='line'>1418</span> </span><span class="WHIT">						</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">mTypeData.replace</span><span class="PUNC">(</span><span class="REGX">/\n/g</span><span class="PUNC">,</span><span class="STRN">" "</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1419</span> </span><span class="WHIT">						</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
+<span class='line'>1420</span> </span><span class="WHIT">						 	</span><span class="NAME">sLoopData.replace</span><span class="PUNC">(</span><span class="REGX">/&lt;img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1421</span> </span><span class="WHIT">						 		</span><span class="STRN">'$1$2$3'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1422</span> </span><span class="WHIT">						</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sLoopData.replace</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/&lt;.*?>/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1423</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1424</span> </span><span class="WHIT">					</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>1425</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1426</span> </span><span class="WHIT">						</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">mTypeData</span><span class="PUNC">+</span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1427</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1428</span> </span><span class="WHIT">					
+<span class='line'>1429</span> 					</span><span class="COMM">/* Trim and clean the data */</span><span class="WHIT">
+<span class='line'>1430</span> </span><span class="WHIT">					</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sLoopData.replace</span><span class="PUNC">(</span><span class="REGX">/^\s+/</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/\s+$/</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1431</span> </span><span class="WHIT">					</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnHtmlDecode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1432</span> </span><span class="WHIT">					
+<span class='line'>1433</span> 					</span><span class="COMM">/* Bound it and add it to the total data */</span><span class="WHIT">
+<span class='line'>1434</span> </span><span class="WHIT">					</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnBoundData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sLoopData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig.sFieldBoundary</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>1435</span> </span><span class="WHIT">					 	</span><span class="NAME">oConfig.sFieldSeperator</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1436</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1437</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1438</span> </span><span class="WHIT">			</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sData.slice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig.sFieldSeperator.length</span><span class="PUNC">*</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1439</span> </span><span class="WHIT">			</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sNewline</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1440</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1441</span> </span><span class="WHIT">		
+<span class='line'>1442</span> 		</span><span class="COMM">/* Remove the last new line */</span><span class="WHIT">
+<span class='line'>1443</span> </span><span class="WHIT">		</span><span class="NAME">sData.slice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1444</span> </span><span class="WHIT">		
+<span class='line'>1445</span> 		</span><span class="COMM">/*
+<span class='line'>1446</span> 		 * Footer
+<span class='line'>1447</span> 		 */</span><span class="WHIT">
+<span class='line'>1448</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.bFooter</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1449</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1450</span> </span><span class="WHIT">			</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">dt.aoColumns.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1451</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1452</span> </span><span class="WHIT">				</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">aColumnsInc</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTf</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1453</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1454</span> </span><span class="WHIT">					</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">dt.aoColumns</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nTf.innerHTML.replace</span><span class="PUNC">(</span><span class="REGX">/\n/g</span><span class="PUNC">,</span><span class="STRN">" "</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="REGX">/&lt;.*?>/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1455</span> </span><span class="WHIT">					</span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnHtmlDecode</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sLoopData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1456</span> </span><span class="WHIT">					
+<span class='line'>1457</span> 					</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnBoundData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sLoopData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig.sFieldBoundary</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>1458</span> </span><span class="WHIT">					 	</span><span class="NAME">oConfig.sFieldSeperator</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1459</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1460</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1461</span> </span><span class="WHIT">			</span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sData.slice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig.sFieldSeperator.length</span><span class="PUNC">*</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1462</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1463</span> </span><span class="WHIT">		
+<span class='line'>1464</span> 		</span><span class="COMM">/* No pointers here - this is a string copy :-) */</span><span class="WHIT">
+<span class='line'>1465</span> </span><span class="WHIT">		</span><span class="NAME">_sLastData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1466</span> </span><span class="WHIT">		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1467</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1468</span> </span><span class="WHIT">	
+<span class='line'>1469</span> 	
+<span class='line'>1470</span> 	</span><span class="COMM">/**
+<span class='line'>1471</span> 	 * Wrap data up with a boundary string
+<span class='line'>1472</span> 	 *  @method  _fnBoundData
+<span class='line'>1473</span> 	 *  @param   {String} sData data to bound
+<span class='line'>1474</span> 	 *  @param   {String} sBoundary bounding char(s)
+<span class='line'>1475</span> 	 *  @param   {RegExp} regex search for the bounding chars - constructed outside for efficincy
+<span class='line'>1476</span> 	 *             in the loop
+<span class='line'>1477</span> 	 *  @returns {String} bound data
+<span class='line'>1478</span> 	 *  @private 
+<span class='line'>1479</span> 	 */</span><span class="WHIT">
+<span class='line'>1480</span> </span><span class="WHIT">	</span><span class="NAME">_fnBoundData</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sBoundary</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">regex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1481</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1482</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sBoundary</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1483</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1484</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1485</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1486</span> </span><span class="WHIT">		</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>1487</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1488</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sBoundary</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sData.replace</span><span class="PUNC">(</span><span class="NAME">regex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"\\"</span><span class="PUNC">+</span><span class="NAME">sBoundary</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">sBoundary</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1489</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1490</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1491</span> </span><span class="WHIT">	
+<span class='line'>1492</span> 	
+<span class='line'>1493</span> 	</span><span class="COMM">/**
+<span class='line'>1494</span> 	 * Break a string up into an array of smaller strings
+<span class='line'>1495</span> 	 *  @method  _fnChunkData
+<span class='line'>1496</span> 	 *  @param   {String} sData data to be broken up
+<span class='line'>1497</span> 	 *  @param   {Int} iSize chunk size
+<span class='line'>1498</span> 	 *  @returns {Array} String array of broken up text
+<span class='line'>1499</span> 	 *  @private 
+<span class='line'>1500</span> 	 */</span><span class="WHIT">
+<span class='line'>1501</span> </span><span class="WHIT">	</span><span class="NAME">_fnChunkData</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iSize</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1502</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1503</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">asReturn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1504</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iStrlen</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sData.length</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1505</span> </span><span class="WHIT">		
+<span class='line'>1506</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iStrlen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">+</span><span class="PUNC">=</span><span class="NAME">iSize</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1507</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1508</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">+</span><span class="NAME">iSize</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">iStrlen</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1509</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1510</span> </span><span class="WHIT">				</span><span class="NAME">asReturn.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData.substring</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">+</span><span class="NAME">iSize</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1511</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1512</span> </span><span class="WHIT">			</span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>1513</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1514</span> </span><span class="WHIT">				</span><span class="NAME">asReturn.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData.substring</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iStrlen</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1515</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1516</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1517</span> </span><span class="WHIT">		
+<span class='line'>1518</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">asReturn</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1519</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1520</span> </span><span class="WHIT">	
+<span class='line'>1521</span> 	
+<span class='line'>1522</span> 	</span><span class="COMM">/**
+<span class='line'>1523</span> 	 * Decode HTML entities
+<span class='line'>1524</span> 	 *  @method  _fnHtmlDecode
+<span class='line'>1525</span> 	 *  @param   {String} sData encoded string
+<span class='line'>1526</span> 	 *  @returns {String} decoded string
+<span class='line'>1527</span> 	 *  @private 
+<span class='line'>1528</span> 	 */</span><span class="WHIT">
+<span class='line'>1529</span> </span><span class="WHIT">	</span><span class="NAME">_fnHtmlDecode</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1530</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1531</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData.indexOf</span><span class="PUNC">(</span><span class="STRN">'&'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1532</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1533</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1534</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1535</span> </span><span class="WHIT">		
+<span class='line'>1536</span> 		</span><span class="KEYW">var</span><span class="WHIT"> 
+<span class='line'>1537</span> 			</span><span class="NAME">aData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._fnChunkData</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2048</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1538</span> </span><span class="WHIT">			</span><span class="NAME">n</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1539</span> </span><span class="WHIT">			</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iIndex</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1540</span> </span><span class="WHIT">			</span><span class="NAME">sReturn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sInner</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1541</span> </span><span class="WHIT">		
+<span class='line'>1542</span> 		</span><span class="COMM">/* nodeValue has a limit in browsers - so we chunk the data into smaller segments to build
+<span class='line'>1543</span> 		 * up the string. Note that the 'trick' here is to remember than we might have split over
+<span class='line'>1544</span> 		 * an HTML entity, so we backtrack a little to make sure this doesn't happen
+<span class='line'>1545</span> 		 */</span><span class="WHIT">
+<span class='line'>1546</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">aData.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1547</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1548</span> </span><span class="WHIT">			</span><span class="COMM">/* Magic number 8 is because no entity is longer then strlen 8 in ISO 8859-1 */</span><span class="WHIT">
+<span class='line'>1549</span> </span><span class="WHIT">			</span><span class="NAME">iIndex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">lastIndexOf</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'&'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1550</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iIndex</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">aData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NUMB">8</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">iIndex</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">aData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">8</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1551</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1552</span> </span><span class="WHIT">				</span><span class="NAME">sInner</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">substr</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1553</span> </span><span class="WHIT">				</span><span class="NAME">aData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">substr</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iIndex</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1554</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1555</span> </span><span class="WHIT">			
+<span class='line'>1556</span> 			</span><span class="NAME">n.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aData</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1557</span> </span><span class="WHIT">			</span><span class="NAME">sReturn</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">n.childNodes</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeValue</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1558</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1559</span> </span><span class="WHIT">		
+<span class='line'>1560</span> 		</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">sReturn</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1561</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1562</span> </span><span class="WHIT">	
+<span class='line'>1563</span> 	
+<span class='line'>1564</span> 	
+<span class='line'>1565</span> 	</span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>1566</span> 	 * Printing functions
+<span class='line'>1567</span> 	 */</span><span class="WHIT">
+<span class='line'>1568</span> </span><span class="WHIT">	
+<span class='line'>1569</span> 	</span><span class="COMM">/**
+<span class='line'>1570</span> 	 * Configure a button for printing
+<span class='line'>1571</span> 	 *  @method  _fnPrintConfig
+<span class='line'>1572</span> 	 *  @param   {Node} nButton Button element which is being considered
+<span class='line'>1573</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>1574</span> 	 *  @returns void
+<span class='line'>1575</span> 	 *  @private 
+<span class='line'>1576</span> 	 */</span><span class="WHIT">
+<span class='line'>1577</span> </span><span class="WHIT">	</span><span class="NAME">_fnPrintConfig</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1578</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1579</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1580</span> </span><span class="WHIT">		
+<span class='line'>1581</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnInit</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1582</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1583</span> </span><span class="WHIT">			</span><span class="NAME">oConfig.fnInit.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1584</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1585</span> 
+<span class='line'>1586</span> </span><span class="WHIT">	  </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">hover</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1587</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sButtonClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
+<span class='line'>1588</span> </span><span class="WHIT">				</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="NAME">oConfig.sButtonClassHover</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1589</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1590</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sButtonClassHover</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">.</span><span class="WHIT">
+<span class='line'>1591</span> </span><span class="WHIT">				</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="NAME">oConfig.sButtonClass</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1592</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1593</span> </span><span class="WHIT">		
+<span class='line'>1594</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnSelect</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1595</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1596</span> </span><span class="WHIT">			</span><span class="NAME">TableTools._fnEventListen</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'select'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">n</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1597</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnSelect.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">n</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1598</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1599</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1600</span> </span><span class="WHIT">		
+<span class='line'>1601</span> 		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">click</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1602</span> </span><span class="WHIT">			</span><span class="NAME">e.preventDefault</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1603</span> </span><span class="WHIT">			
+<span class='line'>1604</span> 			</span><span class="NAME">that._fnPrintStart.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1605</span> </span><span class="WHIT">			
+<span class='line'>1606</span> 			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnClick</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1607</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1608</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnClick.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1609</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1610</span> </span><span class="WHIT">			
+<span class='line'>1611</span> 			</span><span class="COMM">/* Provide a complete function to match the behaviour of the flash elements */</span><span class="WHIT">
+<span class='line'>1612</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.fnComplete</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1613</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1614</span> </span><span class="WHIT">				</span><span class="NAME">oConfig.fnComplete.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1615</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1616</span> </span><span class="WHIT">			
+<span class='line'>1617</span> 			</span><span class="NAME">that._fnCollectionHide</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1618</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1619</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1620</span> </span><span class="WHIT">  
+<span class='line'>1621</span>   </span><span class="COMM">/**
+<span class='line'>1622</span>    * Show print display
+<span class='line'>1623</span>    *  @method  _fnPrintStart
+<span class='line'>1624</span>    *  @param   {Event} e Event object
+<span class='line'>1625</span> 	 *  @param   {Object} oConfig Button configuration object
+<span class='line'>1626</span>    *  @returns void
+<span class='line'>1627</span> 	 *  @private 
+<span class='line'>1628</span>    */</span><span class="WHIT">
+<span class='line'>1629</span> </span><span class="WHIT">  </span><span class="NAME">_fnPrintStart</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1630</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1631</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1632</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1633</span> </span><span class="WHIT">	  
+<span class='line'>1634</span>     </span><span class="COMM">/* Parse through the DOM hiding everything that isn't needed for the table */</span><span class="WHIT">
+<span class='line'>1635</span> </span><span class="WHIT">    </span><span class="NAME">this._fnPrintHideNodes</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTable</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1636</span> </span><span class="WHIT">		
+<span class='line'>1637</span>     </span><span class="COMM">/* Show the whole table */</span><span class="WHIT">
+<span class='line'>1638</span> </span><span class="WHIT">    </span><span class="NAME">this.s.print.saveStart</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT._iDisplayStart</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1639</span> </span><span class="WHIT">    </span><span class="NAME">this.s.print.saveLength</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT._iDisplayLength</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1640</span> 
+<span class='line'>1641</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.bShowAll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1642</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1643</span> </span><span class="WHIT">    	</span><span class="NAME">oSetDT._iDisplayStart</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1644</span> </span><span class="WHIT">    	</span><span class="NAME">oSetDT._iDisplayLength</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1645</span> </span><span class="WHIT">    	</span><span class="NAME">oSetDT.oApi._fnCalculateEnd</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1646</span> </span><span class="WHIT">    	</span><span class="NAME">oSetDT.oApi._fnDraw</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1647</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1648</span> </span><span class="WHIT">		
+<span class='line'>1649</span> 		</span><span class="COMM">/* Adjust the display for scrolling which might be done by DataTables */</span><span class="WHIT">
+<span class='line'>1650</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1651</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1652</span> </span><span class="WHIT">			</span><span class="NAME">this._fnPrintScrollStart</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1653</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1654</span> </span><span class="WHIT">		
+<span class='line'>1655</span> 		</span><span class="COMM">/* Remove the other DataTables feature nodes - but leave the table! and info div */</span><span class="WHIT">
+<span class='line'>1656</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">anFeature</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.aanFeatures</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1657</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cFeature</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">anFeature</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1658</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1659</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">cFeature</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'i'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">cFeature</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'t'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">cFeature.length</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1660</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1661</span> </span><span class="WHIT">			  </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">anFeature</span><span class="PUNC">[</span><span class="NAME">cFeature</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1662</span> </span><span class="WHIT">			  </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1663</span> </span><span class="WHIT">				  </span><span class="NAME">this.dom.print.hidden.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1664</span> </span><span class="WHIT">				  	</span><span class="NAME">node</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">anFeature</span><span class="PUNC">[</span><span class="NAME">cFeature</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1665</span> </span><span class="WHIT">				  	</span><span class="NAME">display</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"block"</span><span class="WHIT">
+<span class='line'>1666</span> </span><span class="WHIT">				  </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1667</span> </span><span class="WHIT">				  </span><span class="NAME">anFeature</span><span class="PUNC">[</span><span class="NAME">cFeature</span><span class="PUNC">]</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1668</span> </span><span class="WHIT">			  </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1669</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1670</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1671</span> </span><span class="WHIT">		
+<span class='line'>1672</span> 		</span><span class="COMM">/* Print class can be used for styling */</span><span class="WHIT">
+<span class='line'>1673</span> </span><span class="WHIT">		</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'DTTT_Print'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1674</span> </span><span class="WHIT">    
+<span class='line'>1675</span>     </span><span class="COMM">/* Add a node telling the user what is going on */</span><span class="WHIT">
+<span class='line'>1676</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sInfo</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1677</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1678</span> </span><span class="WHIT">      </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nInfo</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"div"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1679</span> </span><span class="WHIT">      </span><span class="NAME">nInfo.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"DTTT_print_info"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1680</span> </span><span class="WHIT">      </span><span class="NAME">nInfo.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sInfo</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1681</span> </span><span class="WHIT">      </span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nInfo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1682</span> </span><span class="WHIT">      
+<span class='line'>1683</span>       </span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1684</span> </span><span class="WHIT">      	</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nInfo</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">fadeOut</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"normal"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1685</span> </span><span class="WHIT">      		</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nInfo</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1686</span> </span><span class="WHIT">      	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1687</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2000</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1688</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1689</span> </span><span class="WHIT">    
+<span class='line'>1690</span>     </span><span class="COMM">/* Add a message at the top of the page */</span><span class="WHIT">
+<span class='line'>1691</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oConfig.sMessage</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1692</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1693</span> </span><span class="WHIT">    	</span><span class="NAME">this.dom.print.message</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"div"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1694</span> </span><span class="WHIT">    	</span><span class="NAME">this.dom.print.message.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"DTTT_PrintMessage"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1695</span> </span><span class="WHIT">    	</span><span class="NAME">this.dom.print.message.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oConfig.sMessage</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1696</span> </span><span class="WHIT">    	</span><span class="NAME">document.body.insertBefore</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.dom.print.message</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">document.body.childNodes</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1697</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1698</span> </span><span class="WHIT">    
+<span class='line'>1699</span>     </span><span class="COMM">/* Cache the scrolling and the jump to the top of the t=page */</span><span class="WHIT">
+<span class='line'>1700</span> </span><span class="WHIT">    </span><span class="NAME">this.s.print.saveScroll</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">window</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">scrollTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1701</span> </span><span class="WHIT">    </span><span class="NAME">window.scrollTo</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1702</span> </span><span class="WHIT">    
+<span class='line'>1703</span>     </span><span class="NAME">this.s.print.funcEnd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1704</span> </span><span class="WHIT">     </span><span class="NAME">that._fnPrintEnd.call</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> 
+<span class='line'>1705</span>     </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1706</span> </span><span class="WHIT">    </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"keydown"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.print.funcEnd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1707</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1708</span> </span><span class="WHIT">  
+<span class='line'>1709</span> 	
+<span class='line'>1710</span> 	</span><span class="COMM">/**
+<span class='line'>1711</span> 	 * Printing is finished, resume normal display
+<span class='line'>1712</span> 	 *  @method  _fnPrintEnd
+<span class='line'>1713</span> 	 *  @param   {Event} e Event object
+<span class='line'>1714</span> 	 *  @returns void
+<span class='line'>1715</span> 	 *  @private 
+<span class='line'>1716</span> 	 */</span><span class="WHIT">
+<span class='line'>1717</span> </span><span class="WHIT">  </span><span class="NAME">_fnPrintEnd</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1718</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1719</span> </span><span class="WHIT">		</span><span class="COMM">/* Only interested in the escape key */</span><span class="WHIT">
+<span class='line'>1720</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">e.keyCode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">27</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1721</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1722</span> </span><span class="WHIT">			</span><span class="NAME">e.preventDefault</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1723</span> </span><span class="WHIT">			
+<span class='line'>1724</span> 		  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1725</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1726</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oSetPrint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.print</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1727</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oDomPrint</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.print</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1728</span> </span><span class="WHIT">	    
+<span class='line'>1729</span> 			</span><span class="COMM">/* Show all hidden nodes */</span><span class="WHIT">
+<span class='line'>1730</span> </span><span class="WHIT">			</span><span class="NAME">this._fnPrintShowNodes</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1731</span> </span><span class="WHIT">			
+<span class='line'>1732</span> 			</span><span class="COMM">/* Restore DataTables' scrolling */</span><span class="WHIT">
+<span class='line'>1733</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1734</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1735</span> </span><span class="WHIT">				</span><span class="NAME">this._fnPrintScrollEnd</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1736</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1737</span> </span><span class="WHIT">			
+<span class='line'>1738</span> 			</span><span class="COMM">/* Restore the scroll */</span><span class="WHIT">
+<span class='line'>1739</span> </span><span class="WHIT">			</span><span class="NAME">window.scrollTo</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oSetPrint.saveScroll</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1740</span> </span><span class="WHIT">			
+<span class='line'>1741</span> 			</span><span class="COMM">/* Drop the print message */</span><span class="WHIT">
+<span class='line'>1742</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDomPrint.message</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1743</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1744</span> </span><span class="WHIT">				</span><span class="NAME">document.body.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDomPrint.message</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1745</span> </span><span class="WHIT">				</span><span class="NAME">oDomPrint.message</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1746</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1747</span> </span><span class="WHIT">			
+<span class='line'>1748</span> 			</span><span class="COMM">/* Styling class */</span><span class="WHIT">
+<span class='line'>1749</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document.body</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'DTTT_Print'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1750</span> </span><span class="WHIT">			
+<span class='line'>1751</span> 			</span><span class="COMM">/* Restore the table length */</span><span class="WHIT">
+<span class='line'>1752</span> </span><span class="WHIT">			</span><span class="NAME">oSetDT._iDisplayStart</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetPrint.saveStart</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1753</span> </span><span class="WHIT">			</span><span class="NAME">oSetDT._iDisplayLength</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetPrint.saveLength</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1754</span> </span><span class="WHIT">			</span><span class="NAME">oSetDT.oApi._fnCalculateEnd</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1755</span> </span><span class="WHIT">			</span><span class="NAME">oSetDT.oApi._fnDraw</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1756</span> </span><span class="WHIT">			
+<span class='line'>1757</span> 			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">unbind</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"keydown"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.s.print.funcEnd</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1758</span> </span><span class="WHIT">			</span><span class="NAME">this.s.print.funcEnd</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1759</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1760</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1761</span> </span><span class="WHIT">	
+<span class='line'>1762</span> 	
+<span class='line'>1763</span> 	</span><span class="COMM">/**
+<span class='line'>1764</span> 	 * Take account of scrolling in DataTables by showing the full table
+<span class='line'>1765</span> 	 *  @returns void
+<span class='line'>1766</span> 	 *  @private 
+<span class='line'>1767</span> 	 */</span><span class="WHIT">
+<span class='line'>1768</span> </span><span class="WHIT">	</span><span class="NAME">_fnPrintScrollStart</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1769</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1770</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> 
+<span class='line'>1771</span> 			</span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1772</span> </span><span class="WHIT">			</span><span class="NAME">nScrollHeadInner</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.nScrollHead.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'div'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1773</span> </span><span class="WHIT">			</span><span class="NAME">nScrollHeadTable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nScrollHeadInner.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'table'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1774</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTable.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1775</span> 
+<span class='line'>1776</span> </span><span class="WHIT">		</span><span class="COMM">/* Copy the header in the thead in the body table, this way we show one single table when
+<span class='line'>1777</span> 		 * in print view. Note that this section of code is more or less verbatim from DT 1.7.0
+<span class='line'>1778</span> 		 */</span><span class="WHIT">
+<span class='line'>1779</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nTheadSize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTable.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'thead'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1780</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTheadSize.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1781</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1782</span> </span><span class="WHIT">			</span><span class="NAME">oSetDT.nTable.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTheadSize</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1783</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1784</span> </span><span class="WHIT">		
+<span class='line'>1785</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTFoot</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1786</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1787</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nTfootSize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTable.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'tfoot'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1788</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTfootSize.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1789</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1790</span> </span><span class="WHIT">				</span><span class="NAME">oSetDT.nTable.removeChild</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTfootSize</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1791</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1792</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1793</span> </span><span class="WHIT">		
+<span class='line'>1794</span> 		</span><span class="NAME">nTheadSize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTHead.cloneNode</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1795</span> </span><span class="WHIT">		</span><span class="NAME">oSetDT.nTable.insertBefore</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTheadSize</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTable.childNodes</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1796</span> </span><span class="WHIT">		
+<span class='line'>1797</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTFoot</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1798</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1799</span> </span><span class="WHIT">			</span><span class="NAME">nTfootSize</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTFoot.cloneNode</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1800</span> </span><span class="WHIT">			</span><span class="NAME">oSetDT.nTable.insertBefore</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nTfootSize</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTable.childNodes</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1801</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1802</span> </span><span class="WHIT">		
+<span class='line'>1803</span> 		</span><span class="COMM">/* Now adjust the table's viewport so we can actually see it */</span><span class="WHIT">
+<span class='line'>1804</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1805</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1806</span> </span><span class="WHIT">			</span><span class="NAME">oSetDT.nTable.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">oSetDT.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1807</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">oSetDT.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerWidth</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1808</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.overflow</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"visible"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1809</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1810</span> </span><span class="WHIT">		
+<span class='line'>1811</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1812</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1813</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">oSetDT.nTable</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">outerHeight</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">+</span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1814</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.overflow</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"visible"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1815</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1816</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1817</span> </span><span class="WHIT">	
+<span class='line'>1818</span> 	
+<span class='line'>1819</span> 	</span><span class="COMM">/**
+<span class='line'>1820</span> 	 * Take account of scrolling in DataTables by showing the full table. Note that the redraw of
+<span class='line'>1821</span> 	 * the DataTable that we do will actually deal with the majority of the hardword here
+<span class='line'>1822</span> 	 *  @returns void
+<span class='line'>1823</span> 	 *  @private 
+<span class='line'>1824</span> 	 */</span><span class="WHIT">
+<span class='line'>1825</span> </span><span class="WHIT">	</span><span class="NAME">_fnPrintScrollEnd</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1826</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1827</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> 
+<span class='line'>1828</span> 			</span><span class="NAME">oSetDT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1829</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.nTable.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1830</span> </span><span class="WHIT">		
+<span class='line'>1831</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1832</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1833</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.oApi._fnStringToCss</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sX</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1834</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.overflow</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"auto"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1835</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1836</span> </span><span class="WHIT">		
+<span class='line'>1837</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1838</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1839</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">oSetDT.oApi._fnStringToCss</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oSetDT.oScroll.sY</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1840</span> </span><span class="WHIT">			</span><span class="NAME">nScrollBody.style.overflow</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"auto"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1841</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1842</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1843</span> </span><span class="WHIT">	
+<span class='line'>1844</span> 	
+<span class='line'>1845</span> 	</span><span class="COMM">/**
+<span class='line'>1846</span> 	 * Resume the display of all TableTools hidden nodes
+<span class='line'>1847</span> 	 *  @method  _fnPrintShowNodes
+<span class='line'>1848</span> 	 *  @returns void
+<span class='line'>1849</span> 	 *  @private 
+<span class='line'>1850</span> 	 */</span><span class="WHIT">
+<span class='line'>1851</span> </span><span class="WHIT">  </span><span class="NAME">_fnPrintShowNodes</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1852</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1853</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">anHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.print.hidden</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1854</span> </span><span class="WHIT">	  
+<span class='line'>1855</span> 		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">anHidden.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1856</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1857</span> </span><span class="WHIT">			</span><span class="NAME">anHidden</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">node.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">anHidden</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">display</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1858</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1859</span> </span><span class="WHIT">		</span><span class="NAME">anHidden.splice</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">anHidden.length</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1860</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1861</span> </span><span class="WHIT">	
+<span class='line'>1862</span> 	
+<span class='line'>1863</span> 	</span><span class="COMM">/**
+<span class='line'>1864</span> 	 * Hide nodes which are not needed in order to display the table. Note that this function is
+<span class='line'>1865</span> 	 * recursive
+<span class='line'>1866</span> 	 *  @method  _fnPrintHideNodes
+<span class='line'>1867</span> 	 *  @param   {Node} nNode Element which should be showing in a 'print' display
+<span class='line'>1868</span> 	 *  @returns void
+<span class='line'>1869</span> 	 *  @private 
+<span class='line'>1870</span> 	 */</span><span class="WHIT">
+<span class='line'>1871</span> </span><span class="WHIT">  </span><span class="NAME">_fnPrintHideNodes</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1872</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1873</span> </span><span class="WHIT">	  </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">anHidden</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.dom.print.hidden</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1874</span> </span><span class="WHIT">	  
+<span class='line'>1875</span> 		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nParent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nNode.parentNode</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1876</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">nChildren</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">nParent.childNodes</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1877</span> </span><span class="WHIT">		</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">nChildren.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1878</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1879</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nChildren</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">nNode</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">nChildren</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeType</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1880</span> </span><span class="WHIT">			</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1881</span> </span><span class="WHIT">				</span><span class="COMM">/* If our node is shown (don't want to show nodes which were previously hidden) */</span><span class="WHIT">
+<span class='line'>1882</span> </span><span class="WHIT">				</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sDisplay</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nChildren</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">css</span><span class="PUNC">(</span><span class="STRN">"display"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1883</span> </span><span class="WHIT">			 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">sDisplay</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1884</span> </span><span class="WHIT">				</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1885</span> </span><span class="WHIT">					</span><span class="COMM">/* Cache the node and it's previous state so we can restore it */</span><span class="WHIT">
+<span class='line'>1886</span> </span><span class="WHIT">					</span><span class="NAME">anHidden.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1887</span> </span><span class="WHIT">						</span><span class="NAME">node</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">nChildren</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1888</span> </span><span class="WHIT">						</span><span class="NAME">display</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">sDisplay</span><span class="WHIT">
+<span class='line'>1889</span> </span><span class="WHIT">					</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1890</span> </span><span class="WHIT">					</span><span class="NAME">nChildren</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"none"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1891</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1892</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1893</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1894</span> </span><span class="WHIT">		
+<span class='line'>1895</span> 		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nParent.nodeName</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"BODY"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1896</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1897</span> </span><span class="WHIT">			</span><span class="NAME">this._fnPrintHideNodes</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nParent</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1898</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1899</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1900</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1901</span> 
+<span class='line'>1902</span> 
+<span class='line'>1903</span> 
+<span class='line'>1904</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>1905</span>  * Static variables
+<span class='line'>1906</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>1907</span> 
+<span class='line'>1908</span> </span><span class="COMM">/**
+<span class='line'>1909</span>  * Store of all instances that have been created of TableTools, so one can look up other (when
+<span class='line'>1910</span>  * there is need of a master)
+<span class='line'>1911</span>  *  @property _aInstances
+<span class='line'>1912</span>  *  @type     Array
+<span class='line'>1913</span>  *  @default  []
+<span class='line'>1914</span>  *  @private
+<span class='line'>1915</span>  */</span><span class="WHIT">
+<span class='line'>1916</span> </span><span class="NAME">TableTools._aInstances</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1917</span> 
+<span class='line'>1918</span> 
+<span class='line'>1919</span> </span><span class="COMM">/**
+<span class='line'>1920</span>  * Store of all listeners and their callback functions
+<span class='line'>1921</span>  *  @property _aListeners
+<span class='line'>1922</span>  *  @type     Array
+<span class='line'>1923</span>  *  @default  []
+<span class='line'>1924</span>  */</span><span class="WHIT">
+<span class='line'>1925</span> </span><span class="NAME">TableTools._aListeners</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1926</span> 
+<span class='line'>1927</span> 
+<span class='line'>1928</span> 
+<span class='line'>1929</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>1930</span>  * Static methods
+<span class='line'>1931</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>1932</span> 
+<span class='line'>1933</span> </span><span class="COMM">/**
+<span class='line'>1934</span>  * Get an array of all the master instances
+<span class='line'>1935</span>  *  @method  fnGetMasters
+<span class='line'>1936</span>  *  @returns {Array} List of master TableTools instances
+<span class='line'>1937</span>  *  @static
+<span class='line'>1938</span>  */</span><span class="WHIT">
+<span class='line'>1939</span> </span><span class="NAME">TableTools.fnGetMasters</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1940</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1941</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1942</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">TableTools._aInstances.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1943</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1944</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">TableTools._aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s.master</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1945</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1946</span> </span><span class="WHIT">			</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">TableTools._aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1947</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1948</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1949</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1950</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1951</span> 
+<span class='line'>1952</span> </span><span class="COMM">/**
+<span class='line'>1953</span>  * Get the master instance for a table node (or id if a string is given)
+<span class='line'>1954</span>  *  @method  fnGetInstance
+<span class='line'>1955</span>  *  @returns {Object} ID of table OR table node, for which we want the TableTools instance
+<span class='line'>1956</span>  *  @static
+<span class='line'>1957</span>  */</span><span class="WHIT">
+<span class='line'>1958</span> </span><span class="NAME">TableTools.fnGetInstance</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1959</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1960</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1961</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1962</span> </span><span class="WHIT">		</span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1963</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1964</span> </span><span class="WHIT">	
+<span class='line'>1965</span> 	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">TableTools._aInstances.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1966</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1967</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">TableTools._aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">s.master</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">TableTools._aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">dom.table</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1968</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1969</span> </span><span class="WHIT">			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">TableTools._aInstances</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1970</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1971</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>1972</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1973</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1974</span> 
+<span class='line'>1975</span> 
+<span class='line'>1976</span> </span><span class="COMM">/**
+<span class='line'>1977</span>  * Add a listener for a specific event
+<span class='line'>1978</span>  *  @method  _fnEventListen
+<span class='line'>1979</span>  *  @param   {Object} that Scope of the listening function (i.e. 'this' in the caller)
+<span class='line'>1980</span>  *  @param   {String} type Event type
+<span class='line'>1981</span>  *  @param   {Function} fn Function
+<span class='line'>1982</span>  *  @returns void
+<span class='line'>1983</span>  *  @private
+<span class='line'>1984</span>  *  @static
+<span class='line'>1985</span>  */</span><span class="WHIT">
+<span class='line'>1986</span> </span><span class="NAME">TableTools._fnEventListen</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">type</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">fn</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>1987</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1988</span> </span><span class="WHIT">	</span><span class="NAME">TableTools._aListeners.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>1989</span> </span><span class="WHIT">		</span><span class="NAME">that</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1990</span> </span><span class="WHIT">		</span><span class="NAME">type</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">type</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>1991</span> </span><span class="WHIT">		</span><span class="NAME">fn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">fn</span><span class="WHIT">
+<span class='line'>1992</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1993</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>1994</span> </span><span class="WHIT">	
+<span class='line'>1995</span> 
+<span class='line'>1996</span> </span><span class="COMM">/**
+<span class='line'>1997</span>  * An event has occured - look up every listener and fire it off. We check that the event we are
+<span class='line'>1998</span>  * going to fire is attached to the same table (using the table node as reference) before firing
+<span class='line'>1999</span>  *  @method  _fnEventDispatch
+<span class='line'>2000</span>  *  @param   {Object} that Scope of the listening function (i.e. 'this' in the caller)
+<span class='line'>2001</span>  *  @param   {String} type Event type
+<span class='line'>2002</span>  *  @param   {Node} node Element that the event occured on (may be null)
+<span class='line'>2003</span>  *  @returns void
+<span class='line'>2004</span>  *  @private
+<span class='line'>2005</span>  *  @static
+<span class='line'>2006</span>  */</span><span class="WHIT">
+<span class='line'>2007</span> </span><span class="NAME">TableTools._fnEventDispatch</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">type</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>2008</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2009</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">listeners</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">TableTools._aListeners</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2010</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">=</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">iLen</span><span class="PUNC">=</span><span class="NAME">listeners.length</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">&lt;</span><span class="NAME">iLen</span><span class="WHIT"> </span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>2011</span> </span><span class="WHIT">	</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2012</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">that.dom.table</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">listeners</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">that.dom.table</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">listeners</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>2013</span> </span><span class="WHIT">		</span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2014</span> </span><span class="WHIT">			</span><span class="NAME">listeners</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">fn</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2015</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2016</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2017</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2018</span> 
+<span class='line'>2019</span> 
+<span class='line'>2020</span> 
+<span class='line'>2021</span> 
+<span class='line'>2022</span> 
+<span class='line'>2023</span> 
+<span class='line'>2024</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>2025</span>  * Constants
+<span class='line'>2026</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>2027</span> 
+<span class='line'>2028</span> 
+<span class='line'>2029</span> </span><span class="COMM">/**
+<span class='line'>2030</span>  * @namespace Default button configurations
+<span class='line'>2031</span>  */</span><span class="WHIT">
+<span class='line'>2032</span> </span><span class="NAME">TableTools.BUTTONS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2033</span> </span><span class="WHIT">	</span><span class="NAME">csv</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2034</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"flash_save"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2035</span> </span><span class="WHIT">		</span><span class="NAME">sCharSet</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"utf8"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2036</span> </span><span class="WHIT">		</span><span class="NAME">bBomInc</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2037</span> </span><span class="WHIT">		</span><span class="NAME">sFileName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"*.csv"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2038</span> </span><span class="WHIT">		</span><span class="NAME">sFieldBoundary</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"'"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2039</span> </span><span class="WHIT">		</span><span class="NAME">sFieldSeperator</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">","</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2040</span> </span><span class="WHIT">		</span><span class="NAME">sNewLine</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"auto"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2041</span> </span><span class="WHIT">		</span><span class="NAME">sTitle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2042</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2043</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_csv"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2044</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_csv_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2045</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"CSV"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2046</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="COMM">/* "all", "visible", "hidden" or array of column integers */</span><span class="WHIT">
+<span class='line'>2047</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2048</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2049</span> </span><span class="WHIT">		</span><span class="NAME">bSelectedOnly</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2050</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2051</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2052</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2053</span> </span><span class="WHIT">			</span><span class="NAME">this.fnSetText</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.fnGetTableData</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2054</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2055</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2056</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2057</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2058</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2059</span> </span><span class="WHIT">	</span><span class="NAME">xls</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2060</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"flash_save"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2061</span> </span><span class="WHIT">		</span><span class="NAME">sCharSet</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"utf16le"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2062</span> </span><span class="WHIT">		</span><span class="NAME">bBomInc</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2063</span> </span><span class="WHIT">		</span><span class="NAME">sFileName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"*.csv"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2064</span> </span><span class="WHIT">		</span><span class="NAME">sFieldBoundary</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2065</span> </span><span class="WHIT">		</span><span class="NAME">sFieldSeperator</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"\t"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2066</span> </span><span class="WHIT">		</span><span class="NAME">sNewLine</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"auto"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2067</span> </span><span class="WHIT">		</span><span class="NAME">sTitle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2068</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2069</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_xls"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2070</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_xls_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2071</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Excel"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2072</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2073</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2074</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2075</span> </span><span class="WHIT">		</span><span class="NAME">bSelectedOnly</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2076</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2077</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2078</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2079</span> </span><span class="WHIT">			</span><span class="NAME">this.fnSetText</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.fnGetTableData</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2080</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2081</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2082</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2083</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2084</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2085</span> </span><span class="WHIT">	</span><span class="NAME">copy</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2086</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"flash_copy"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2087</span> </span><span class="WHIT">		</span><span class="NAME">sFieldBoundary</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2088</span> </span><span class="WHIT">		</span><span class="NAME">sFieldSeperator</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"\t"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2089</span> </span><span class="WHIT">		</span><span class="NAME">sNewLine</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"auto"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2090</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2091</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_copy"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2092</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_copy_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2093</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Copy"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2094</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2095</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2096</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2097</span> </span><span class="WHIT">		</span><span class="NAME">bSelectedOnly</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2098</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2099</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2100</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2101</span> </span><span class="WHIT">			</span><span class="NAME">this.fnSetText</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.fnGetTableData</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2102</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2103</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2104</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">text</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2105</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT">
+<span class='line'>2106</span> </span><span class="WHIT">				</span><span class="NAME">lines</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">text.split</span><span class="PUNC">(</span><span class="STRN">'\n'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2107</span> </span><span class="WHIT">				</span><span class="NAME">len</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.s.dt.nTFoot</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">lines</span><span class="PUNC">-</span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">lines</span><span class="PUNC">-</span><span class="NUMB">2</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2108</span> </span><span class="WHIT">				</span><span class="NAME">plural</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">len</span><span class="PUNC">==</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">""</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"s"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2109</span> </span><span class="WHIT">			</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'Copied '</span><span class="PUNC">+</span><span class="NAME">len</span><span class="PUNC">+</span><span class="STRN">' row'</span><span class="PUNC">+</span><span class="NAME">plural</span><span class="PUNC">+</span><span class="STRN">' to the clipboard'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2110</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2111</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2112</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2113</span> </span><span class="WHIT">	</span><span class="NAME">pdf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2114</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"flash_pdf"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2115</span> </span><span class="WHIT">		</span><span class="NAME">sFieldBoundary</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2116</span> </span><span class="WHIT">		</span><span class="NAME">sFieldSeperator</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"\t"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2117</span> </span><span class="WHIT">		</span><span class="NAME">sNewLine</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"\n"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2118</span> </span><span class="WHIT">		</span><span class="NAME">sFileName</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"*.pdf"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2119</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2120</span> </span><span class="WHIT">		</span><span class="NAME">sTitle</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2121</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_pdf"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2122</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_pdf_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2123</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"PDF"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2124</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2125</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2126</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2127</span> </span><span class="WHIT">		</span><span class="NAME">bSelectedOnly</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2128</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2129</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2130</span> </span><span class="WHIT">		</span><span class="NAME">sPdfOrientation</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"portrait"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2131</span> </span><span class="WHIT">		</span><span class="NAME">sPdfSize</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"A4"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2132</span> </span><span class="WHIT">		</span><span class="NAME">sPdfMessage</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2133</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2134</span> </span><span class="WHIT">			</span><span class="NAME">this.fnSetText</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">flash</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>2135</span> 				</span><span class="STRN">"title:"</span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.fnGetTitle</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"\n"</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>2136</span> </span><span class="WHIT">				</span><span class="STRN">"message:"</span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">oConfig.sPdfMessage</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"\n"</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>2137</span> </span><span class="WHIT">				</span><span class="STRN">"colWidth:"</span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.fnCalcColRatios</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"\n"</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>2138</span> </span><span class="WHIT">				</span><span class="STRN">"orientation:"</span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">oConfig.sPdfOrientation</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"\n"</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>2139</span> </span><span class="WHIT">				</span><span class="STRN">"size:"</span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">oConfig.sPdfSize</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="STRN">"\n"</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>2140</span> </span><span class="WHIT">				</span><span class="STRN">"--/TableToolsOpts--\n"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>2141</span> </span><span class="WHIT">				</span><span class="NAME">this.fnGetTableData</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>2142</span> </span><span class="WHIT">			</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2143</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2144</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2145</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2146</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2147</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2148</span> </span><span class="WHIT">	</span><span class="NAME">print</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2149</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"print"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2150</span> </span><span class="WHIT">		</span><span class="NAME">sInfo</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"&lt;h6>Print view&lt;/h6>&lt;p>Please use your browser's print function to "</span><span class="PUNC">+</span><span class="WHIT">
+<span class='line'>2151</span> </span><span class="WHIT">		  </span><span class="STRN">"print this table. Press escape when finished."</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2152</span> </span><span class="WHIT">		</span><span class="NAME">sMessage</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2153</span> </span><span class="WHIT">		</span><span class="NAME">bShowAll</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2154</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"View print view"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2155</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_print"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2156</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_print_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2157</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Print"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2158</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2159</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2160</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2161</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2162</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2163</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2164</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2165</span> </span><span class="WHIT">	</span><span class="NAME">text</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2166</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2167</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2168</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2169</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2170</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Text button"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2171</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2172</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2173</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2174</span> </span><span class="WHIT">		</span><span class="NAME">bSelectedOnly</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2175</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2176</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2177</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2178</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2179</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2180</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2181</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2182</span> </span><span class="WHIT">	</span><span class="NAME">select</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2183</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2184</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2185</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2186</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2187</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Select button"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2188</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2189</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2190</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2191</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2192</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2193</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2194</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2195</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.fnGetSelected</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2196</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2197</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2198</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2199</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2200</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2201</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2202</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2203</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2204</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2205</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2206</span> </span><span class="WHIT">	</span><span class="NAME">select_single</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2207</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2208</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2209</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2210</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2211</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Select button"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2212</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2213</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2214</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2215</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2216</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2217</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2218</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2219</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iSelected</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.fnGetSelected</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2220</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">iSelected</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2221</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2222</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2223</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2224</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2225</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2226</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2227</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2228</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2229</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2230</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2231</span> </span><span class="WHIT">	</span><span class="NAME">select_all</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2232</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2233</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2234</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2235</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2236</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Select all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2237</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2238</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2239</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2240</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2241</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2242</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2243</span> </span><span class="WHIT">			</span><span class="NAME">this.fnSelectAll</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2244</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2245</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2246</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.fnGetSelected</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">this.s.dt.fnRecordsDisplay</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2247</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2248</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2249</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2250</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2251</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2252</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2253</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2254</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2255</span> </span><span class="WHIT">	</span><span class="NAME">select_none</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2256</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2257</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2258</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2259</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2260</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Deselect all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2261</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2262</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2263</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2264</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2265</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2266</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2267</span> </span><span class="WHIT">			</span><span class="NAME">this.fnSelectNone</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2268</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2269</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2270</span> </span><span class="WHIT">			</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this.fnGetSelected</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">length</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2271</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">removeClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2272</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2273</span> </span><span class="WHIT">				</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2274</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2275</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2276</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2277</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2278</span> </span><span class="WHIT">			</span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">addClass</span><span class="PUNC">(</span><span class="STRN">'DTTT_disabled'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2279</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2280</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2281</span> </span><span class="WHIT">	</span><span class="NAME">ajax</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2282</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2283</span> </span><span class="WHIT">		</span><span class="NAME">sFieldBoundary</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2284</span> </span><span class="WHIT">		</span><span class="NAME">sFieldSeperator</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"\t"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2285</span> </span><span class="WHIT">		</span><span class="NAME">sNewLine</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"\n"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2286</span> </span><span class="WHIT">		</span><span class="NAME">sAjaxUrl</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"/xhr.php"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2287</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2288</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2289</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_text_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2290</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Ajax button"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2291</span> </span><span class="WHIT">		</span><span class="NAME">mColumns</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"all"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2292</span> </span><span class="WHIT">		</span><span class="NAME">bHeader</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2293</span> </span><span class="WHIT">		</span><span class="NAME">bFooter</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2294</span> </span><span class="WHIT">		</span><span class="NAME">bSelectedOnly</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2295</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2296</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2297</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2298</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.fnGetTableData</span><span class="PUNC">(</span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2299</span> </span><span class="WHIT">			</span><span class="NAME">$.ajax</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2300</span> </span><span class="WHIT">				</span><span class="NAME">url</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oConfig.sAjaxUrl</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2301</span> </span><span class="WHIT">				</span><span class="NAME">data</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
+<span class='line'>2302</span> </span><span class="WHIT">					</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"tableData"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">value</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">sData</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2303</span> </span><span class="WHIT">				</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2304</span> </span><span class="WHIT">				</span><span class="NAME">success</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">oConfig.fnAjaxComplete</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2305</span> </span><span class="WHIT">				</span><span class="NAME">dataType</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"json"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2306</span> </span><span class="WHIT">				</span><span class="NAME">type</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"POST"</span><span class="PUNC">,</span><span class="WHIT"> 
+<span class='line'>2307</span> 				</span><span class="NAME">cache</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2308</span> </span><span class="WHIT">				</span><span class="NAME">error</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2309</span> </span><span class="WHIT">					</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Error detected when sending table data to server"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2310</span> </span><span class="WHIT">				</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2311</span> </span><span class="WHIT">			</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2312</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2313</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2314</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2315</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2316</span> </span><span class="WHIT">		</span><span class="NAME">fnAjaxComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">json</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2317</span> </span><span class="WHIT">			</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">'Ajax complete'</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2318</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2319</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2320</span> </span><span class="WHIT">	</span><span class="NAME">collection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2321</span> </span><span class="WHIT">		</span><span class="NAME">sAction</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"collection"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2322</span> </span><span class="WHIT">		</span><span class="NAME">sToolTip</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2323</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClass</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_collection"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2324</span> </span><span class="WHIT">		</span><span class="NAME">sButtonClassHover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"DTTT_button_collection_hover"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2325</span> </span><span class="WHIT">		</span><span class="NAME">sButtonText</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"Collection"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2326</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseover</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2327</span> </span><span class="WHIT">		</span><span class="NAME">fnMouseout</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2328</span> </span><span class="WHIT">		</span><span class="NAME">fnClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2329</span> </span><span class="WHIT">			</span><span class="NAME">this._fnCollectionShow</span><span class="PUNC">(</span><span class="NAME">nButton</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2330</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2331</span> </span><span class="WHIT">		</span><span class="NAME">fnSelect</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2332</span> </span><span class="WHIT">		</span><span class="NAME">fnComplete</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2333</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="WHIT">
+<span class='line'>2334</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2335</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2336</span> </span><span class="COMM">/*
+<span class='line'>2337</span>  *  on* callback parameters:
+<span class='line'>2338</span>  *  	1. node - button element
+<span class='line'>2339</span>  *  	2. object - configuration object for this button
+<span class='line'>2340</span>  *  	3. object - ZeroClipboard reference (flash button only)
+<span class='line'>2341</span>  *  	4. string - Returned string from Flash (flash button only - and only on 'complete')
+<span class='line'>2342</span>  */</span><span class="WHIT">
+<span class='line'>2343</span> 
+<span class='line'>2344</span> 
+<span class='line'>2345</span> </span><span class="COMM">/**
+<span class='line'>2346</span>  * @namespace TableTools default settings for initialisation
+<span class='line'>2347</span>  */</span><span class="WHIT">
+<span class='line'>2348</span> </span><span class="NAME">TableTools.DEFAULTS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2349</span> </span><span class="WHIT">	</span><span class="NAME">sSwfPath</span><span class="PUNC">:</span><span class="WHIT">         </span><span class="STRN">"media/swf/copy_cvs_xls_pdf.swf"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2350</span> </span><span class="WHIT">	</span><span class="NAME">sRowSelect</span><span class="PUNC">:</span><span class="WHIT">       </span><span class="STRN">"none"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2351</span> </span><span class="WHIT">	</span><span class="NAME">sSelectedClass</span><span class="PUNC">:</span><span class="WHIT">   </span><span class="STRN">"DTTT_selected"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2352</span> </span><span class="WHIT">	</span><span class="NAME">fnPreRowSelect</span><span class="PUNC">:</span><span class="WHIT">   </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2353</span> </span><span class="WHIT">	</span><span class="NAME">fnRowSelected</span><span class="PUNC">:</span><span class="WHIT">    </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2354</span> </span><span class="WHIT">	</span><span class="NAME">fnRowDeselected</span><span class="PUNC">:</span><span class="WHIT">  </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2355</span> </span><span class="WHIT">	</span><span class="NAME">aButtons</span><span class="PUNC">:</span><span class="WHIT">         </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="STRN">"copy"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"csv"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"xls"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"pdf"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"print"</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT">
+<span class='line'>2356</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2357</span> 
+<span class='line'>2358</span> 
+<span class='line'>2359</span> </span><span class="COMM">/**
+<span class='line'>2360</span>  * Name of this class
+<span class='line'>2361</span>  *  @constant CLASS
+<span class='line'>2362</span>  *  @type     String
+<span class='line'>2363</span>  *  @default  TableTools
+<span class='line'>2364</span>  */</span><span class="WHIT">
+<span class='line'>2365</span> </span><span class="NAME">TableTools.prototype.CLASS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"TableTools"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2366</span> 
+<span class='line'>2367</span> 
+<span class='line'>2368</span> </span><span class="COMM">/**
+<span class='line'>2369</span>  * TableTools version
+<span class='line'>2370</span>  *  @constant  VERSION
+<span class='line'>2371</span>  *  @type      String
+<span class='line'>2372</span>  *  @default   2.0.1
+<span class='line'>2373</span>  */</span><span class="WHIT">
+<span class='line'>2374</span> </span><span class="NAME">TableTools.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"2.0.1"</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2375</span> </span><span class="NAME">TableTools.prototype.VERSION</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">TableTools.VERSION</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2376</span> 
+<span class='line'>2377</span> 
+<span class='line'>2378</span> 
+<span class='line'>2379</span> 
+<span class='line'>2380</span> </span><span class="COMM">/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+<span class='line'>2381</span>  * Initialisation
+<span class='line'>2382</span>  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */</span><span class="WHIT">
+<span class='line'>2383</span> 
+<span class='line'>2384</span> </span><span class="COMM">/*
+<span class='line'>2385</span>  * Register a new feature with DataTables
+<span class='line'>2386</span>  */</span><span class="WHIT">
+<span class='line'>2387</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTable</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>2388</span> </span><span class="WHIT">     </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"function"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
+<span class='line'>2389</span> </span><span class="WHIT">     </span><span class="NAME">$.fn.dataTableExt.fnVersionCheck</span><span class="PUNC">(</span><span class="STRN">'1.7.0'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
+<span class='line'>2390</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2391</span> </span><span class="WHIT">	</span><span class="NAME">$.fn.dataTableExt.aoFeatures.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2392</span> </span><span class="WHIT">		</span><span class="NAME">fnInit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2393</span> </span><span class="WHIT">			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInit.oTableTools</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> 
+<span class='line'>2394</span> 				</span><span class="NAME">oDTSettings.oInit.oTableTools</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2395</span> </span><span class="WHIT">			
+<span class='line'>2396</span> 			</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">oTT</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">TableTools</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oDTSettings.oInstance</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">oOpts</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2397</span> </span><span class="WHIT">			</span><span class="NAME">TableTools._aInstances.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">oTT</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2398</span> </span><span class="WHIT">			
+<span class='line'>2399</span> 			</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">oTT.dom.container</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2400</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2401</span> </span><span class="WHIT">		</span><span class="NAME">cFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"T"</span><span class="PUNC">,</span><span class="WHIT">
+<span class='line'>2402</span> </span><span class="WHIT">		</span><span class="NAME">sFeature</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"TableTools"</span><span class="WHIT">
+<span class='line'>2403</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2404</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2405</span> </span><span class="KEYW">else</span><span class="WHIT">
+<span class='line'>2406</span> </span><span class="PUNC">{</span><span class="WHIT">
+<span class='line'>2407</span> </span><span class="WHIT">	</span><span class="NAME">alert</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="STRN">"Warning: TableTools 2 requires DataTables 1.7 or greater - www.datatables.net/download"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2408</span> </span><span class="PUNC">}</span><span class="WHIT">
+<span class='line'>2409</span> 
+<span class='line'>2410</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="NAME">jQuery</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">window</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">document</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
+<span class='line'>2411</span> </span></pre></body></html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/TableTools.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/TableTools.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/TableTools.js	(revision 6286)
@@ -0,0 +1,2410 @@
+/*
+ * File:        TableTools.js
+ * Version:     2.0.1
+ * Description: Tools and buttons for DataTables
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Language:    Javascript
+ * License:     LGPL / 3 point BSD
+ * Project:     DataTables
+ * 
+ * Copyright 2009-2011 Allan Jardine, all rights reserved.
+ */
+
+/* Global scope for TableTools */
+var TableTools;
+
+(function($, window, document) {
+
+/** 
+ * TableTools provides flexible buttons and other tools for a DataTables enhanced table
+ * @class TableTools
+ * @constructor
+ * @param {Object} oDT DataTables instance
+ * @param {Object} oOpts TableTools options
+ * @param {String} oOpts.sSwfPath ZeroClipboard SWF path
+ * @param {String} oOpts.sRowSelect Row selection options - 'none', 'single' or 'multi'
+ * @param {Function} oOpts.fnPreRowSelect Callback function just prior to row selection
+ * @param {Function} oOpts.fnRowSelected Callback function just after row selection
+ * @param {Function} oOpts.fnRowDeselected Callback function when row is deselected
+ * @param {Array} oOpts.aButtons List of buttons to be used
+ */
+TableTools = function( oDT, oOpts )
+{
+	/* Santiy check that we are a new instance */
+	if ( !this.CLASS || this.CLASS != "TableTools" )
+	{
+		alert( "Warning: TableTools must be initialised with the keyword 'new'" );
+	}
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public class variables
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * @namespace Settings object which contains customisable information for TableTools instance
+	 */
+	this.s = {
+    /**
+     * Store 'this' so the instance can be retreieved from the settings object
+		 * @property that
+		 * @type     object
+		 * @default  this
+     */
+		"that": this,
+		
+		/** 
+		 * DataTables settings objects
+		 * @property dt
+		 * @type     object
+		 * @default  null
+		 */
+		"dt": null,
+		
+		/**
+		 * @namespace Print specific information
+		 */
+		"print": {
+			/** 
+			 * DataTables draw 'start' point before the printing display was shown
+  		 * @property saveStart
+			 *  @type     int
+  		 * @default  -1
+		 	 */
+		  "saveStart": -1,
+			
+			/** 
+			 * DataTables draw 'length' point before the printing display was shown
+  		 * @property saveLength
+			 *  @type     int
+  		 * @default  -1
+		 	 */
+		  "saveLength": -1,
+		
+			/** 
+			 * Page scrolling point before the printing display was shown so it can be restored
+  		 * @property saveScroll
+			 *  @type     int
+  		 * @default  -1
+		 	 */
+		  "saveScroll": -1,
+		
+			/** 
+			 * Wrapped function to end the print display (to maintain scope)
+  		 * @property funcEnd
+		 	 *  @type     Function
+  		 * @default  function () {}
+		 	 */
+		  "funcEnd": function () {}
+	  },
+	
+		/**
+		 * A unique ID is assigned to each button in each instance
+		 * @property buttonCounter
+		 *  @type     int
+		 * @default  0
+		 */
+	  "buttonCounter": 0,
+		
+		/**
+		 * @namespace Select rows specific information
+		 */
+		"select": {
+			/**
+			 * Select type - can be 'none', 'single' or 'multi'
+  		 * @property type
+			 *  @type     string
+  		 * @default  ""
+			 */
+			"type": "",
+			
+			/**
+			 * Array of nodes which are currently selected
+  		 * @property selected
+			 *  @type     array
+  		 * @default  []
+			 */
+			"selected": [],
+			
+			/**
+			 * Function to run before the selection can take place. Will cancel the select if the
+			 * function returns false
+  		 * @property preRowSelect
+			 *  @type     Function
+  		 * @default  null
+			 */
+			"preRowSelect": null,
+			
+			/**
+			 * Function to run when a row is selected
+  		 * @property postSelected
+			 *  @type     Function
+  		 * @default  null
+			 */
+			"postSelected": null,
+			
+			/**
+			 * Function to run when a row is deselected
+  		 * @property postDeselected
+			 *  @type     Function
+  		 * @default  null
+			 */
+			"postDeselected": null,
+			
+			/**
+			 * Indicate if all rows are selected (needed for server-side processing)
+  		 * @property all
+			 *  @type     boolean
+  		 * @default  false
+			 */
+			"all": false,
+			
+			/**
+			 * Class name to add to selected TR nodes
+  		 * @property selectedClass
+			 *  @type     String
+			 *  @default  ""
+			 */
+			"selectedClass": ""
+		},
+		
+		/**
+		 * Store of the user input customisation object
+		 * @property custom
+		 *  @type     object
+		 * @default  {}
+		 */
+		"custom": {},
+		
+		/**
+		 * SWF movie path
+		 * @property swfPath
+		 *  @type     string
+		 * @default  ""
+		 */
+		"swfPath": "",
+		
+		/**
+		 * Default button set
+		 * @property buttonSet
+		 *  @type     array
+		 * @default  []
+		 */
+		"buttonSet": [],
+		
+		/**
+		 * When there is more than one TableTools instance for a DataTable, there must be a 
+		 * master which controls events (row selection etc)
+		 * @property master
+		 *  @type     boolean
+		 * @default  false
+		 */
+		"master": false
+	};
+	
+	
+	/**
+	 * @namespace Common and useful DOM elements for the class instance
+	 */
+	this.dom = {
+		/**
+		 * DIV element that is create and all TableTools buttons (and their children) put into
+		 *  @property container
+		 *  @type     node
+		 *  @default  null
+		 */
+		"container": null,
+		
+		/**
+		 * The table node to which TableTools will be applied
+		 *  @property table
+		 *  @type     node
+		 *  @default  null
+		 */
+		"table": null,
+		
+		/**
+		 * @namespace Nodes used for the print display
+		 */
+		"print": {
+			/**
+			 * Nodes which have been removed from the display by setting them to display none
+			 *  @property hidden
+			 *  @type     array
+		 	 *  @default  []
+			 */
+		  "hidden": [],
+			
+			/**
+			 * The information display saying tellng the user about the print display
+			 *  @property message
+			 *  @type     node
+		 	 *  @default  null
+			 */
+		  "message": null
+	  },
+		
+		/**
+		 * @namespace Nodes used for a collection display. This contains the currently used collection
+		 */
+		"collection": {
+			/**
+			 * The div wrapper containing the buttons in the collection (i.e. the menu)
+			 *  @property collection
+			 *  @type     node
+		 	 *  @default  null
+			 */
+			"collection": null,
+			
+			/**
+			 * Background display to provide focus and capture events
+			 *  @property background
+			 *  @type     node
+		 	 *  @default  null
+			 */
+			"background": null
+		}
+	};
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public class methods
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Retreieve the settings object from an instance
+	 *  @method fnSettings
+	 *  @returns {object} TableTools settings object
+	 */
+	this.fnSettings = function () {
+		return this.s;
+	};
+	
+	
+	/* Constructor logic */
+	if ( typeof oOpts == 'undefined' )
+	{
+		oOpts = {};
+	}
+	
+	this.s.dt = oDT.fnSettings();
+	this._fnConstruct( oOpts );
+	
+	return this;
+};
+
+
+
+TableTools.prototype = {
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Public methods
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Retreieve the settings object from an instance
+	 *  @method fnGetSelected
+	 *  @returns {array} List of TR nodes which are currently selected
+	 */
+	"fnGetSelected": function ()
+	{
+		var masterS = this._fnGetMasterSettings();
+		return masterS.select.selected;
+	},
+	
+	/**
+	 * Check to see if a current row is selected or not
+	 *  @method fnGetSelected
+	 *  @param {Node} n TR node to check if it is currently selected or not
+	 *  @returns {Boolean} true if select, false otherwise
+	 */
+	"fnIsSelected": function ( n )
+	{
+		var selected = this.fnGetSelected();
+		for ( var i=0, iLen=selected.length ; i<iLen ; i++ )
+		{
+			if ( n == selected[i] )
+			{
+				return true;
+			}
+		}
+		return false;
+	},
+	
+	/**
+	 * Select all rows in the table
+	 *  @method  fnSelectAll
+	 *  @returns void
+	 */
+	"fnSelectAll": function ()
+	{
+		var masterS = this._fnGetMasterSettings();
+		masterS.that._fnRowSelectAll();
+	},
+	
+	
+	/**
+	 * Deselect all rows in the table
+	 *  @method  fnSelectNone
+	 *  @returns void
+	 */
+	"fnSelectNone": function ()
+	{
+		var masterS = this._fnGetMasterSettings();
+		masterS.that._fnRowDeselectAll();
+	},
+	
+	
+	/**
+	 * Get the title of the document - useful for file names. The title is retrieved from either
+	 * the configuration object's 'title' parameter, or the HTML document title
+	 *  @method  fnGetTitle
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns {String} Button title
+	 */
+	"fnGetTitle": function( oConfig )
+	{
+		var sTitle = "";
+		if ( typeof oConfig.sTitle != 'undefined' && oConfig.sTitle !== "" ) {
+			sTitle = oConfig.sTitle;
+		} else {
+			var anTitle = document.getElementsByTagName('title');
+			if ( anTitle.length > 0 )
+			{
+				sTitle = anTitle[0].innerHTML;
+			}
+		}
+		
+		/* Strip characters which the OS will object to - checking for UTF8 support in the scripting
+		 * engine
+		 */
+		if ( "\u00A1".toString().length < 4 ) {
+			return sTitle.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g, "");
+		} else {
+			return sTitle.replace(/[^a-zA-Z0-9_\.,\-_ !\(\)]/g, "");
+		}
+	},
+	
+	
+	/**
+	 * Calculate a unity array with the column width by proportion for a set of columns to be
+	 * included for a button. This is particularly useful for PDF creation, where we can use the
+	 * column widths calculated by the browser to size the columns in the PDF.
+	 *  @method  fnCalcColRations
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns {Array} Unity array of column ratios
+	 */
+	"fnCalcColRatios": function ( oConfig )
+	{
+		var
+			aoCols = this.s.dt.aoColumns,
+			aColumnsInc = this._fnColumnTargets( oConfig.mColumns ),
+			aColWidths = [],
+			iWidth = 0, iTotal = 0, i, iLen;
+		
+		for ( i=0, iLen=aColumnsInc.length ; i<iLen ; i++ )
+		{
+			if ( aColumnsInc[i] )
+			{
+				iWidth = aoCols[i].nTh.offsetWidth;
+				iTotal += iWidth;
+				aColWidths.push( iWidth );
+			}
+		}
+		
+		for ( i=0, iLen=aColWidths.length ; i<iLen ; i++ )
+		{
+			aColWidths[i] = aColWidths[i] / iTotal;
+		}
+		
+		return aColWidths.join('\t');
+	},
+	
+	
+	/**
+	 * Get the information contained in a table as a string
+	 *  @method  fnGetTableData
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns {String} Table data as a string
+	 */
+	"fnGetTableData": function ( oConfig )
+	{
+		/* In future this could be used to get data from a plain HTML source as well as DataTables */
+		if ( this.s.dt )
+		{
+			return this._fnGetDataTablesData( oConfig );
+		}
+	},
+	
+	
+	/**
+	 * Pass text to a flash button instance, which will be used on the button's click handler
+	 *  @method  fnSetText
+	 *  @param   {Object} clip Flash button object
+	 *  @param   {String} text Text to set
+	 *  @returns void
+	 */
+	"fnSetText": function ( clip, text )
+	{
+		this._fnFlashSetText( clip, text );
+	},
+	
+	
+	/**
+	 * Resize the flash elements of the buttons attached to this TableTools instance - this is
+	 * useful for when initialising TableTools when it is hidden (display:none) since sizes can't
+	 * be calculated at that time.
+	 *  @method  fnResizeButtons
+	 *  @returns void
+	 */
+	"fnResizeButtons": function ()
+	{
+		for ( var cli in ZeroClipboard.clients )
+		{
+			if ( cli )
+			{
+				var client = ZeroClipboard.clients[cli];
+				if ( typeof client.domElement != 'undefined' &&
+				     client.domElement.parentNode == this.dom.container )
+				{
+					client.positionElement();
+				}
+			}
+		}
+	},
+	
+	
+	/**
+	 * Check to see if any of the ZeroClipboard client's attached need to be resized
+	 *  @method  fnResizeRequired
+	 *  @returns void
+	 */
+	"fnResizeRequired": function ()
+	{
+		for ( var cli in ZeroClipboard.clients )
+		{
+			if ( cli )
+			{
+				var client = ZeroClipboard.clients[cli];
+				if ( typeof client.domElement != 'undefined' &&
+				     client.domElement.parentNode == this.dom.container &&
+				     client.sized === false )
+				{
+					return true;
+				}
+			}
+		}
+		return false;
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Private methods (they are of course public in JS, but recommended as private)
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/**
+	 * Constructor logic
+	 *  @method  _fnConstruct
+	 *  @param   {Object} oOpts Same as TableTools constructor
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnConstruct": function ( oOpts )
+	{
+		this._fnCustomiseSettings( oOpts );
+		
+		/* Container element */
+		this.dom.container = document.createElement('div');
+		this.dom.container.style.position = "relative";
+		this.dom.container.className = !this.s.dt.bJUI ? "DTTT_container" :
+			"DTTT_container ui-buttonset ui-buttonset-multi";
+		
+		/* Row selection config */
+		if ( this.s.select.type != 'none' )
+		{
+			this._fnRowSelectConfig();
+		}
+		
+		/* Buttons */
+		this._fnButtonDefinations( this.s.buttonSet, this.dom.container );
+	},
+	
+	
+	/**
+	 * Take the user defined settings and the default settings and combine them.
+	 *  @method  _fnCustomiseSettings
+	 *  @param   {Object} oOpts Same as TableTools constructor
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnCustomiseSettings": function ( oOpts )
+	{
+		/* Is this the master control instance or not? */
+		if ( typeof this.s.dt._TableToolsInit == 'undefined' )
+		{
+			this.s.master = true;
+			this.s.dt._TableToolsInit = true;
+		}
+		
+		/* We can use the table node from comparisons to group controls */
+		this.dom.table = this.s.dt.nTable;
+		
+		/* Clone the defaults and then the user options */
+		this.s.custom = $.extend( {}, TableTools.DEFAULTS, oOpts );
+		
+		/* Flash file location */
+		this.s.swfPath = this.s.custom.sSwfPath;
+		if ( typeof ZeroClipboard != 'undefined' )
+		{
+			ZeroClipboard.moviePath = this.s.swfPath;
+		}
+		
+		/* Table row selecting */
+		this.s.select.type = this.s.custom.sRowSelect;
+		this.s.select.preRowSelect = this.s.custom.fnPreRowSelect;
+		this.s.select.postSelected = this.s.custom.fnRowSelected;
+		this.s.select.postDeselected = this.s.custom.fnRowDeselected;
+		this.s.select.selectedClass = this.s.custom.sSelectedClass;
+		
+		/* Button set */
+		this.s.buttonSet = this.s.custom.aButtons;
+	},
+	
+	
+	/**
+	 * Take the user input arrays and expand them to be fully defined, and then add them to a given
+	 * DOM element
+	 *  @method  _fnButtonDefinations
+	 *  @param {array} buttonSet Set of user defined buttons
+	 *  @param {node} wrapper Node to add the created buttons to
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnButtonDefinations": function ( buttonSet, wrapper )
+	{
+		var buttonDef;
+		
+		for ( var i=0, iLen=buttonSet.length ; i<iLen ; i++ )
+		{
+			if ( typeof buttonSet[i] == "string" )
+			{
+				if ( typeof TableTools.BUTTONS[ buttonSet[i] ] == 'undefined' )
+				{
+					alert( "TableTools: Warning - unknown button type: "+buttonSet[i] );
+					continue;
+				}
+				buttonDef = $.extend( {}, TableTools.BUTTONS[ buttonSet[i] ], true );
+			}
+			else
+			{
+				if ( typeof TableTools.BUTTONS[ buttonSet[i].sExtends ] == 'undefined' )
+				{
+					alert( "TableTools: Warning - unknown button type: "+buttonSet[i].sExtends );
+					continue;
+				}
+				var o = $.extend( {}, TableTools.BUTTONS[ buttonSet[i].sExtends ], true );
+				buttonDef = $.extend( o, buttonSet[i], true );
+			}
+			
+			if ( this.s.dt.bJUI )
+			{
+				buttonDef.sButtonClass += " ui-button ui-state-default";
+				buttonDef.sButtonClassHover += " ui-button ui-state-default ui-state-hover";
+			}
+			
+			wrapper.appendChild( this._fnCreateButton( buttonDef ) );
+		}
+	},
+	
+	
+	/**
+	 * Create and configure a TableTools button
+	 *  @method  _fnCreateButton
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns {Node} Button element
+	 *  @private 
+	 */
+	"_fnCreateButton": function ( oConfig )
+	{
+	  var nButton = this._fnButtonBase( oConfig );
+		
+    if ( oConfig.sAction == "print" )
+    {
+      this._fnPrintConfig( nButton, oConfig );
+    }
+    else if ( oConfig.sAction.match(/flash/) )
+    {
+      this._fnFlashConfig( nButton, oConfig );
+    }
+    else if ( oConfig.sAction == "text" )
+    {
+      this._fnTextConfig( nButton, oConfig );
+    }
+    else if ( oConfig.sAction == "collection" )
+    {
+      this._fnTextConfig( nButton, oConfig );
+			this._fnCollectionConfig( nButton, oConfig );
+    }
+		
+	  return nButton;
+  },
+	
+	
+	/**
+	 * Create the DOM needed for the button and apply some base properties. All buttons start here
+	 *  @method  _fnButtonBase
+	 *  @param   {o} oConfig Button configuration object
+	 *  @returns {Node} DIV element for the button
+	 *  @private 
+	 */
+	"_fnButtonBase": function ( o )
+	{
+		var
+		  nButton = document.createElement('button'),
+		  nSpan = document.createElement('span'),
+			masterS = this._fnGetMasterSettings();
+		
+		nButton.className = "DTTT_button "+o.sButtonClass;
+		nButton.setAttribute('id', "ToolTables_"+this.s.dt.sInstance+"_"+masterS.buttonCounter );
+		nButton.appendChild( nSpan );
+		nSpan.innerHTML = o.sButtonText;
+		
+		masterS.buttonCounter++;
+		
+		return nButton;
+	},
+	
+	
+	/**
+	 * Get the settings object for the master instance. When more than one TableTools instance is
+	 * assigned to a DataTable, only one of them can be the 'master' (for the select rows). As such,
+	 * we will typically want to interact with that master for global properties.
+	 *  @method  _fnGetMasterSettings
+	 *  @returns {Object} TableTools settings object
+	 *  @private 
+	 */
+	"_fnGetMasterSettings": function ()
+	{
+		if ( this.s.master )
+		{
+			return this.s;
+		}
+		else
+		{
+			/* Look for the master which has the same DT as this one */
+			var instances = TableTools._aInstances;
+			for ( var i=0, iLen=instances.length ; i<iLen ; i++ )
+			{
+				if ( this.dom.table == instances[i].s.dt.nTable )
+				{
+					return instances[i].s;
+				}
+			}
+		}
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Button collection functions
+	 */
+	
+	/**
+	 * Create a collection button, when activated will present a drop downlist of other buttons
+	 *  @param   {Node} nButton Button to use for the collection activation
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns void
+	 *  @private
+	 */
+	"_fnCollectionConfig": function ( nButton, oConfig )
+	{
+		var nHidden = document.createElement('div');
+		nHidden.style.display = "none";
+		nHidden.className = !this.s.dt.bJUI ? "DTTT_collection" :
+			"DTTT_collection ui-buttonset ui-buttonset-multi";
+		oConfig._collection = nHidden;
+		
+		this._fnButtonDefinations( oConfig.aButtons, nHidden );
+	},
+	
+	
+	/**
+	 * Show a button collection
+	 *  @param   {Node} nButton Button to use for the collection
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns void
+	 *  @private
+	 */
+	"_fnCollectionShow": function ( nButton, oConfig )
+	{
+		var
+			that = this,
+			oPos = $(nButton).offset(),
+			nHidden = oConfig._collection,
+			iDivX = oPos.left,
+			iDivY = oPos.top + $(nButton).outerHeight(),
+			iWinHeight = $(window).height(), iDocHeight = $(document).height(),
+		 	iWinWidth = $(window).width(), iDocWidth = $(document).width();
+		
+		nHidden.style.position = "absolute";
+		nHidden.style.left = iDivX+"px";
+		nHidden.style.top = iDivY+"px";
+		nHidden.style.display = "block";
+		$(nHidden).css('opacity',0);
+		
+		var nBackground = document.createElement('div');
+		nBackground.style.position = "absolute";
+		nBackground.style.left = "0px";
+		nBackground.style.top = "0px";
+		nBackground.style.height = ((iWinHeight>iDocHeight)? iWinHeight : iDocHeight) +"px";
+		nBackground.style.width = ((iWinWidth>iDocWidth)? iWinWidth : iDocWidth) +"px";
+		nBackground.className = "DTTT_collection_background";
+		$(nBackground).css('opacity',0);
+		
+		document.body.appendChild( nBackground );
+		document.body.appendChild( nHidden );
+		
+		/* Visual corrections to try and keep the collection visible */
+		var iDivWidth = $(nHidden).outerWidth();
+		var iDivHeight = $(nHidden).outerHeight();
+		
+		if ( iDivX + iDivWidth > iDocWidth )
+		{
+			nHidden.style.left = (iDocWidth-iDivWidth)+"px";
+		}
+		
+		if ( iDivY + iDivHeight > iDocHeight )
+		{
+			nHidden.style.top = (iDivY-iDivHeight-$(nButton).outerHeight())+"px";
+		}
+	
+		this.dom.collection.collection = nHidden;
+		this.dom.collection.background = nBackground;
+		
+		/* This results in a very small delay for the end user but it allows the animation to be
+		 * much smoother. If you don't want the animation, then the setTimeout can be removed
+		 */
+		setTimeout( function () {
+			$(nHidden).animate({"opacity": 1}, 500);
+			$(nBackground).animate({"opacity": 0.25}, 500);
+		}, 10 );
+		
+		/* Event handler to remove the collection display */
+		$(nBackground).click( function () {
+			that._fnCollectionHide.call( that, null, null );
+		} );
+	},
+	
+	
+	/**
+	 * Hide a button collection
+	 *  @param   {Node} nButton Button to use for the collection
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns void
+	 *  @private
+	 */
+	"_fnCollectionHide": function ( nButton, oConfig )
+	{
+		if ( oConfig !== null && oConfig.sExtends == 'collection' )
+		{
+			return;
+		}
+		
+		if ( this.dom.collection.collection !== null )
+		{
+			$(this.dom.collection.collection).animate({"opacity": 0}, 500, function (e) {
+				this.style.display = "none";
+			} );
+			
+			$(this.dom.collection.background).animate({"opacity": 0}, 500, function (e) {
+				this.parentNode.removeChild( this );
+			} );
+			
+			this.dom.collection.collection = null;
+			this.dom.collection.background = null;
+		}
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Row selection functions
+	 */
+	
+	/**
+	 * Add event handlers to a table to allow for row selection
+	 *  @method  _fnRowSelectConfig
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnRowSelectConfig": function ()
+	{
+		if ( this.s.master )
+		{
+			var
+				that = this, 
+				i, iLen, 
+				aoOpenRows = this.s.dt.aoOpenRows;
+			
+			$(that.s.dt.nTable).addClass( 'DTTT_selectable' );
+			
+			$('tr', that.s.dt.nTBody).live( 'click', function(e) {
+				/* Sub-table must be ignored (odd that the selector won't do this with >) */
+				if ( this.parentNode != that.s.dt.nTBody )
+				{
+					return;
+				}
+				
+				/* Not interested in selecting 'opened' rows */
+				for ( i=0, iLen=aoOpenRows.length ; i<iLen ; i++ )
+				{
+					if ( this == aoOpenRows[i].nTr )
+					{
+						return;
+					}
+				}
+				
+				/* User defined selection function */
+				if ( that.s.select.preRowSelect !== null && !that.s.select.preRowSelect.call(that, e) )
+				{
+					return;
+				}
+				
+				/* And go */
+				if ( that.s.select.type == "single" )
+				{
+					that._fnRowSelectSingle.call( that, this );
+				}
+				else
+				{
+					that._fnRowSelectMulti.call( that, this );
+				}
+			} );
+			
+			/* Add a draw callback handler for when 'select' all is active and we are using server-side
+			 * processing, so TableTools will automatically select the new rows for us
+			 */
+			that.s.dt.aoDrawCallback.push( {
+				"fn": function () {
+					if ( that.s.select.all && that.s.dt.oFeatures.bServerSide )
+					{
+						that.fnSelectAll();
+					}
+				},
+				"sName": "TableTools_select"
+			} );
+		}
+	},
+	
+	
+	/**
+	 * Select or deselect a row based on its current state when only one row is allowed to be
+	 * selected at a time (i.e. if there is a row already selected, deselect it). If the selected
+	 * row is the one being passed in, just deselect and take no further action.
+	 *  @method  _fnRowSelectSingle
+	 *  @param   {Node} nNode TR element which is being 'activated' in some way
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnRowSelectSingle": function ( nNode )
+	{
+		if ( this.s.master )
+		{
+			/* Do nothing on the DataTables 'empty' result set row */
+			if ( $('td', nNode).hasClass(this.s.dt.oClasses.sRowEmpty) )
+			{
+				return;
+			}
+			
+			if ( $(nNode).hasClass(this.s.select.selectedClass) )
+			{
+				this._fnRowDeselect( nNode );
+			}
+			else
+			{
+				if ( this.s.select.selected.length !== 0 )
+				{
+					this._fnRowDeselectAll();
+				}
+				
+				this.s.select.selected.push( nNode );
+				$(nNode).addClass( this.s.select.selectedClass );
+				
+				if ( this.s.select.postSelected !== null )
+				{
+					this.s.select.postSelected.call( this, nNode );
+				}
+			}
+			
+			TableTools._fnEventDispatch( this, 'select', nNode );
+		}
+	},
+	
+	
+	/**
+	 * Select or deselect a row based on its current state when multiple rows are allowed to be
+	 * selected.
+	 *  @method  _fnRowSelectMulti
+	 *  @param   {Node} nNode TR element which is being 'activated' in some way
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnRowSelectMulti": function ( nNode )
+	{
+		if ( this.s.master )
+		{
+			/* Do nothing on the DataTables 'empty' result set row */
+			if ( $('td', nNode).hasClass(this.s.dt.oClasses.sRowEmpty) )
+			{
+				return;
+			}
+			
+			if ( $(nNode).hasClass(this.s.select.selectedClass) )
+			{
+				this._fnRowDeselect( nNode );
+			}
+			else
+			{
+				this.s.select.selected.push( nNode );
+				$(nNode).addClass( this.s.select.selectedClass );
+				
+				if ( this.s.select.postSelected !== null )
+				{
+					this.s.select.postSelected.call( this, nNode );
+				}
+			}
+			
+			TableTools._fnEventDispatch( this, 'select', nNode );
+		}
+	},
+	
+	
+	/**
+	 * Select all TR elements in the table. Note that this function will still operate in 'single'
+	 * select mode, which might not be what you desire (in which case, don't call this function!)
+	 *  @method  _fnRowSelectAll
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnRowSelectAll": function ( )
+	{
+		if ( this.s.master )
+		{
+			var n;
+			for ( var i=0, iLen=this.s.dt.aiDisplayMaster.length ; i<iLen ; i++ )
+			{
+				n = this.s.dt.aoData[ this.s.dt.aiDisplayMaster[i] ].nTr;
+				
+				if ( !$(n).hasClass(this.s.select.selectedClass) )
+				{
+					this.s.select.selected.push( n );
+					$(n).addClass( this.s.select.selectedClass );
+				}
+			}
+			
+			this.s.select.all = true;
+			TableTools._fnEventDispatch( this, 'select', null );
+		}
+	},
+	
+	
+	/**
+	 * Deselect all TR elements in the table. If nothing is currently selected, then no action is
+	 * taken.
+	 *  @method  _fnRowDeselectAll
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnRowDeselectAll": function ( )
+	{
+		if ( this.s.master )
+		{
+			for ( var i=this.s.select.selected.length-1 ; i>=0 ; i-- )
+			{
+				this._fnRowDeselect( i );
+			}
+			
+			this.s.select.all = false;
+			TableTools._fnEventDispatch( this, 'select', null );
+		}
+	},
+	
+	
+	/**
+	 * Deselect a single row, based on its index in the selected array, or a TR node (when the
+	 * index is then computed)
+	 *  @method  _fnRowDeselect
+	 *  @param   {int|Node} i Node or index of node in selected array, which is to be deselected
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnRowDeselect": function ( i )
+	{
+		if ( typeof i.nodeName != 'undefined' )
+		{
+			i = $.inArray( i, this.s.select.selected );
+		}
+		
+		var nNode = this.s.select.selected[i];
+		$(nNode).removeClass(this.s.select.selectedClass);
+		this.s.select.selected.splice( i, 1 );
+		
+		if ( this.s.select.postDeselected !== null )
+		{
+			this.s.select.postDeselected.call( this, nNode );
+		}
+		
+		this.s.select.all = false;
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Text button functions
+	 */
+	
+	/**
+	 * Configure a text based button for interaction events
+	 *  @method  _fnTextConfig
+	 *  @param   {Node} nButton Button element which is being considered
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnTextConfig": function ( nButton, oConfig )
+	{
+		var that = this;
+		
+		if ( oConfig.fnInit !== null )
+		{
+			oConfig.fnInit.call( this, nButton, oConfig );
+		}
+		
+		if ( oConfig.sToolTip !== "" )
+		{
+			nButton.title = oConfig.sToolTip;
+		}
+		
+	  $(nButton).hover( function () {
+			$(nButton).removeClass( oConfig.sButtonClass ).
+				addClass(oConfig.sButtonClassHover );
+			if ( oConfig.fnMouseover !== null )
+			{
+				oConfig.fnMouseover.call( this, nButton, oConfig, null );
+			}
+		}, function () {
+			$(nButton).removeClass( oConfig.sButtonClassHover ).
+				addClass( oConfig.sButtonClass );
+			if ( oConfig.fnMouseout !== null )
+			{
+				oConfig.fnMouseout.call( this, nButton, oConfig, null );
+			}
+		} );
+		
+		if ( oConfig.fnSelect !== null )
+		{
+			TableTools._fnEventListen( this, 'select', function (n) {
+				oConfig.fnSelect.call( that, nButton, oConfig, n );
+			} );
+		}
+		
+		$(nButton).click( function (e) {
+			e.preventDefault();
+			
+			if ( oConfig.fnClick !== null )
+			{
+				oConfig.fnClick.call( that, nButton, oConfig, null );
+			}
+			
+			/* Provide a complete function to match the behaviour of the flash elements */
+			if ( oConfig.fnComplete !== null )
+			{
+				oConfig.fnComplete.call( that, nButton, oConfig, null, null );
+			}
+			
+			that._fnCollectionHide( nButton, oConfig );
+		} );
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Flash button functions
+	 */
+	
+	/**
+	 * Configure a flash based button for interaction events
+	 *  @method  _fnFlashConfig
+	 *  @param   {Node} nButton Button element which is being considered
+	 *  @param   {o} oConfig Button configuration object
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnFlashConfig": function ( nButton, oConfig )
+	{
+	  var that = this;
+		var flash = new ZeroClipboard.Client();
+		
+		if ( oConfig.fnInit !== null )
+		{
+			oConfig.fnInit.call( this, nButton, oConfig );
+		}
+		
+		flash.setHandCursor( true );
+		
+		if ( oConfig.sAction == "flash_save" )
+		{
+			flash.setAction( 'save' );
+			flash.setCharSet( (oConfig.sCharSet=="utf16le") ? 'UTF16LE' : 'UTF8' );
+			flash.setBomInc( oConfig.bBomInc );
+			flash.setFileName( oConfig.sFileName.replace('*', this.fnGetTitle(oConfig)) );
+		}
+		else if ( oConfig.sAction == "flash_pdf" )
+		{
+			flash.setAction( 'pdf' );
+			flash.setFileName( oConfig.sFileName.replace('*', this.fnGetTitle(oConfig)) );
+		}
+		else
+		{
+			flash.setAction( 'copy' );
+		}
+		
+		flash.addEventListener('mouseOver', function(client) {
+			$(nButton).removeClass( oConfig.sButtonClass ).
+				addClass(oConfig.sButtonClassHover );
+			
+			if ( oConfig.fnMouseover !== null )
+			{
+				oConfig.fnMouseover.call( that, nButton, oConfig, flash );
+			}
+		} );
+		
+		flash.addEventListener('mouseOut', function(client) {
+			$(nButton).removeClass( oConfig.sButtonClassHover ).
+				addClass(oConfig.sButtonClass );
+			
+			if ( oConfig.fnMouseout !== null )
+			{
+				oConfig.fnMouseout.call( that, nButton, oConfig, flash );
+			}
+		} );
+		
+		flash.addEventListener('mouseDown', function(client) {
+			if ( oConfig.fnClick !== null )
+			{
+				oConfig.fnClick.call( that, nButton, oConfig, flash );
+			}
+		} );
+		
+		flash.addEventListener('complete', function (client, text) {
+			if ( oConfig.fnComplete !== null )
+			{
+				oConfig.fnComplete.call( that, nButton, oConfig, flash, text );
+			}
+			that._fnCollectionHide( nButton, oConfig );
+		} );
+		
+		this._fnFlashGlue( flash, nButton, oConfig.sToolTip );
+	},
+	
+	
+	/**
+	 * Wait until the id is in the DOM before we "glue" the swf. Note that this function will call
+	 * itself (using setTimeout) until it completes successfully
+	 *  @method  _fnFlashGlue
+	 *  @param   {Object} clip Zero clipboard object
+	 *  @param   {Node} node node to glue swf to
+	 *  @param   {String} text title of the flash movie
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnFlashGlue": function ( flash, node, text )
+	{
+	  var that = this;
+	  var id = node.getAttribute('id');
+	  
+		if ( document.getElementById(id) )
+		{
+			flash.glue( node, text );
+			
+			/* Catch those who are using a TableTools 1 version of ZeroClipboard */
+			if ( flash.domElement.parentNode != flash.div.parentNode && 
+				   typeof that.__bZCWarning == 'undefined' )
+			{
+				that.s.dt.oApi._fnLog( this.s.dt, 0, "It looks like you are using the version of "+
+					"ZeroClipboard which came with TableTools 1. Please update to use the version that "+
+					"came with TableTools 2." );
+				that.__bZCWarning = true;
+			}
+		}
+		else
+		{
+			setTimeout( function () {
+				that._fnFlashGlue( flash, node, text );
+			}, 100 );
+		}
+	},
+	
+	
+	/**
+	 * Set the text for the flash clip to deal with
+	 * 
+	 * This function is required for large information sets. There is a limit on the 
+	 * amount of data that can be transfered between Javascript and Flash in a single call, so
+	 * we use this method to build up the text in Flash by sending over chunks. It is estimated
+	 * that the data limit is around 64k, although it is undocuments, and appears to be different
+	 * between different flash versions. We chunk at 8KiB.
+	 *  @method  _fnFlashSetText
+	 *  @param   {Object} clip the ZeroClipboard object
+	 *  @param   {String} sData the data to be set
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnFlashSetText": function ( clip, sData )
+	{
+		var asData = this._fnChunkData( sData, 8192 );
+		
+		clip.clearText();
+		for ( var i=0, iLen=asData.length ; i<iLen ; i++ )
+		{
+			clip.appendText( asData[i] );
+		}
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Data retrieval functions
+	 */
+	
+	/**
+	 * Convert the mixed columns variable into a boolean array the same size as the columns, which
+	 * indicates which columns we want to include
+	 *  @method  _fnColumnTargets
+	 *  @param   {String|Array} mColumns The columns to be included in data retreieval. If a string
+	 *             then it can take the value of "visible" or "hidden" (to include all visible or
+	 *             hidden columns respectively). Or an array of column indexes
+	 *  @returns {Array} A boolean array the length of the columns of the table, which each value
+	 *             indicating if the column is to be included or not
+	 *  @private 
+	 */
+	"_fnColumnTargets": function ( mColumns )
+	{
+		var aColumns = [];
+		var dt = this.s.dt;
+		
+		if ( typeof mColumns == "object" )
+		{
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				aColumns.push( false );
+			}
+			
+			for ( i=0, iLen=mColumns.length ; i<iLen ; i++ )
+			{
+				aColumns[ mColumns[i] ] = true;
+			}
+		}
+		else if ( mColumns == "visible" )
+		{
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				aColumns.push( dt.aoColumns[i].bVisible ? true : false );
+			}
+		}
+		else if ( mColumns == "hidden" )
+		{
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				aColumns.push( dt.aoColumns[i].bVisible ? false : true );
+			}
+		}
+		else /* all */
+		{
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				aColumns.push( true );
+			}
+		}
+		
+		return aColumns;
+	},
+	
+	
+	/**
+	 * New line character(s) depend on the platforms
+	 *  @method  method
+	 *  @param   {Object} oConfig Button configuration object - only interested in oConfig.sNewLine
+	 *  @returns {String} Newline character
+	 */
+	"_fnNewline": function ( oConfig )
+	{
+		if ( oConfig.sNewLine == "auto" )
+		{
+			return navigator.userAgent.match(/Windows/) ? "\r\n" : "\n";
+		}
+		else
+		{
+			return oConfig.sNewLine;
+		}
+	},
+	
+	
+	/**
+	 * Get data from DataTables' internals and format it for output
+	 *  @method  _fnGetDataTablesData
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @param   {String} oConfig.sFieldBoundary Field boundary for the data cells in the string
+	 *  @param   {String} oConfig.sFieldSeperator Field seperator for the data cells
+	 *  @param   {String} oConfig.sNewline New line options
+	 *  @param   {Mixed} oConfig.mColumns Which columns should be included in the output
+	 *  @param   {Boolean} oConfig.bHeader Include the header
+	 *  @param   {Boolean} oConfig.bFooter Include the footer
+	 *  @param   {Boolean} oConfig.bSelectedOnly Include only the selected rows in the output
+	 *  @returns {String} Concatinated string of data
+	 *  @private 
+	 */
+	"_fnGetDataTablesData": function ( oConfig )
+	{
+		var i, iLen, j, jLen;
+		var sData = '', sLoopData = '';
+		var dt = this.s.dt;
+		var regex = new RegExp(oConfig.sFieldBoundary, "g"); /* Do it here for speed */
+		var aColumnsInc = this._fnColumnTargets( oConfig.mColumns );
+		var sNewline = this._fnNewline( oConfig );
+		
+		/*
+		 * Header
+		 */
+		if ( oConfig.bHeader )
+		{
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				if ( aColumnsInc[i] )
+				{
+					sLoopData = dt.aoColumns[i].sTitle.replace(/\n/g," ").replace( /<.*?>/g, "" );
+					sLoopData = this._fnHtmlDecode( sLoopData );
+					
+					sData += this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) +
+					 	oConfig.sFieldSeperator;
+				}
+			}
+			sData = sData.slice( 0, oConfig.sFieldSeperator.length*-1 );
+			sData += sNewline;
+		}
+		
+		/*
+		 * Body
+		 */
+		for ( j=0, jLen=dt.aiDisplay.length ; j<jLen ; j++ )
+		{
+			if ( typeof oConfig.bSelectedOnly && oConfig.bSelectedOnly && 
+				   !$(dt.aoData[ dt.aiDisplay[j] ].nTr).hasClass( this.s.select.selectedClass ) )
+			{
+				continue;
+			}
+			
+			/* Columns */
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				if ( aColumnsInc[i] )
+				{
+					/* Convert to strings (with small optimisation) */
+					var mTypeData = dt.aoData[ dt.aiDisplay[j] ]._aData[ i ];
+					if ( typeof mTypeData == "string" )
+					{
+						/* Strip newlines, replace img tags with alt attr. and finally strip html... */
+						sLoopData = mTypeData.replace(/\n/g," ");
+						sLoopData =
+						 	sLoopData.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,
+						 		'$1$2$3');
+						sLoopData = sLoopData.replace( /<.*?>/g, "" );
+					}
+					else
+					{
+						sLoopData = mTypeData+"";
+					}
+					
+					/* Trim and clean the data */
+					sLoopData = sLoopData.replace(/^\s+/, '').replace(/\s+$/, '');
+					sLoopData = this._fnHtmlDecode( sLoopData );
+					
+					/* Bound it and add it to the total data */
+					sData += this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) +
+					 	oConfig.sFieldSeperator;
+				}
+			}
+			sData = sData.slice( 0, oConfig.sFieldSeperator.length*-1 );
+			sData += sNewline;
+		}
+		
+		/* Remove the last new line */
+		sData.slice( 0, -1 );
+		
+		/*
+		 * Footer
+		 */
+		if ( oConfig.bFooter )
+		{
+			for ( i=0, iLen=dt.aoColumns.length ; i<iLen ; i++ )
+			{
+				if ( aColumnsInc[i] && dt.aoColumns[i].nTf !== null )
+				{
+					sLoopData = dt.aoColumns[i].nTf.innerHTML.replace(/\n/g," ").replace( /<.*?>/g, "" );
+					sLoopData = this._fnHtmlDecode( sLoopData );
+					
+					sData += this._fnBoundData( sLoopData, oConfig.sFieldBoundary, regex ) +
+					 	oConfig.sFieldSeperator;
+				}
+			}
+			sData = sData.slice( 0, oConfig.sFieldSeperator.length*-1 );
+		}
+		
+		/* No pointers here - this is a string copy :-) */
+		_sLastData = sData;
+		return sData;
+	},
+	
+	
+	/**
+	 * Wrap data up with a boundary string
+	 *  @method  _fnBoundData
+	 *  @param   {String} sData data to bound
+	 *  @param   {String} sBoundary bounding char(s)
+	 *  @param   {RegExp} regex search for the bounding chars - constructed outside for efficincy
+	 *             in the loop
+	 *  @returns {String} bound data
+	 *  @private 
+	 */
+	"_fnBoundData": function ( sData, sBoundary, regex )
+	{
+		if ( sBoundary === "" )
+		{
+			return sData;
+		}
+		else
+		{
+			return sBoundary + sData.replace(regex, "\\"+sBoundary) + sBoundary;
+		}
+	},
+	
+	
+	/**
+	 * Break a string up into an array of smaller strings
+	 *  @method  _fnChunkData
+	 *  @param   {String} sData data to be broken up
+	 *  @param   {Int} iSize chunk size
+	 *  @returns {Array} String array of broken up text
+	 *  @private 
+	 */
+	"_fnChunkData": function ( sData, iSize )
+	{
+		var asReturn = [];
+		var iStrlen = sData.length;
+		
+		for ( var i=0 ; i<iStrlen ; i+=iSize )
+		{
+			if ( i+iSize < iStrlen )
+			{
+				asReturn.push( sData.substring( i, i+iSize ) );
+			}
+			else
+			{
+				asReturn.push( sData.substring( i, iStrlen ) );
+			}
+		}
+		
+		return asReturn;
+	},
+	
+	
+	/**
+	 * Decode HTML entities
+	 *  @method  _fnHtmlDecode
+	 *  @param   {String} sData encoded string
+	 *  @returns {String} decoded string
+	 *  @private 
+	 */
+	"_fnHtmlDecode": function ( sData )
+	{
+		if ( sData.indexOf('&') == -1 )
+		{
+			return sData;
+		}
+		
+		var 
+			aData = this._fnChunkData( sData, 2048 ),
+			n = document.createElement('div'),
+			i, iLen, iIndex,
+			sReturn = "", sInner;
+		
+		/* nodeValue has a limit in browsers - so we chunk the data into smaller segments to build
+		 * up the string. Note that the 'trick' here is to remember than we might have split over
+		 * an HTML entity, so we backtrack a little to make sure this doesn't happen
+		 */
+		for ( i=0, iLen=aData.length ; i<iLen ; i++ )
+		{
+			/* Magic number 8 is because no entity is longer then strlen 8 in ISO 8859-1 */
+			iIndex = aData[i].lastIndexOf( '&' );
+			if ( iIndex != -1 && aData[i].length >= 8 && iIndex > aData[i].length - 8 )
+			{
+				sInner = aData[i].substr( iIndex );
+				aData[i] = aData[i].substr( 0, iIndex );
+			}
+			
+			n.innerHTML = aData[i];
+			sReturn += n.childNodes[0].nodeValue;
+		}
+		
+		return sReturn;
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Printing functions
+	 */
+	
+	/**
+	 * Configure a button for printing
+	 *  @method  _fnPrintConfig
+	 *  @param   {Node} nButton Button element which is being considered
+	 *  @param   {Object} oConfig Button configuration object
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnPrintConfig": function ( nButton, oConfig )
+	{
+	  var that = this;
+		
+		if ( oConfig.fnInit !== null )
+		{
+			oConfig.fnInit.call( this, nButton, oConfig );
+		}
+
+	  $(nButton).hover( function () {
+			$(nButton).removeClass( oConfig.sButtonClass ).
+				addClass(oConfig.sButtonClassHover );
+		}, function () {
+			$(nButton).removeClass( oConfig.sButtonClassHover ).
+				addClass(oConfig.sButtonClass );
+		} );
+		
+		if ( oConfig.fnSelect !== null )
+		{
+			TableTools._fnEventListen( this, 'select', function (n) {
+				oConfig.fnSelect.call( that, nButton, oConfig, n );
+			} );
+		}
+		
+		$(nButton).click( function (e) {
+			e.preventDefault();
+			
+			that._fnPrintStart.call( that, e, oConfig);
+			
+			if ( oConfig.fnClick !== null )
+			{
+				oConfig.fnClick.call( that, nButton, oConfig, null );
+			}
+			
+			/* Provide a complete function to match the behaviour of the flash elements */
+			if ( oConfig.fnComplete !== null )
+			{
+				oConfig.fnComplete.call( that, nButton, oConfig, null, null );
+			}
+			
+			that._fnCollectionHide( nButton, oConfig );
+		} );
+  },
+  
+  /**
+   * Show print display
+   *  @method  _fnPrintStart
+   *  @param   {Event} e Event object
+	 *  @param   {Object} oConfig Button configuration object
+   *  @returns void
+	 *  @private 
+   */
+  "_fnPrintStart": function ( e, oConfig )
+	{
+	  var that = this;
+	  var oSetDT = this.s.dt;
+	  
+    /* Parse through the DOM hiding everything that isn't needed for the table */
+    this._fnPrintHideNodes( oSetDT.nTable );
+		
+    /* Show the whole table */
+    this.s.print.saveStart = oSetDT._iDisplayStart;
+    this.s.print.saveLength = oSetDT._iDisplayLength;
+
+		if ( oConfig.bShowAll )
+		{
+    	oSetDT._iDisplayStart = 0;
+    	oSetDT._iDisplayLength = -1;
+    	oSetDT.oApi._fnCalculateEnd( oSetDT );
+    	oSetDT.oApi._fnDraw( oSetDT );
+		}
+		
+		/* Adjust the display for scrolling which might be done by DataTables */
+		if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
+		{
+			this._fnPrintScrollStart( oSetDT );
+		}
+		
+		/* Remove the other DataTables feature nodes - but leave the table! and info div */
+		var anFeature = oSetDT.aanFeatures;
+		for ( var cFeature in anFeature )
+		{
+			if ( cFeature != 'i' && cFeature != 't' && cFeature.length == 1 )
+			{
+			  for ( var i=0, iLen=anFeature[cFeature].length ; i<iLen ; i++ )
+			  {
+				  this.dom.print.hidden.push( {
+				  	"node": anFeature[cFeature][i],
+				  	"display": "block"
+				  } );
+				  anFeature[cFeature][i].style.display = "none";
+			  }
+			}
+		}
+		
+		/* Print class can be used for styling */
+		$(document.body).addClass( 'DTTT_Print' );
+    
+    /* Add a node telling the user what is going on */
+    if ( oConfig.sInfo !== "" )
+    {
+      var nInfo = document.createElement( "div" );
+      nInfo.className = "DTTT_print_info";
+      nInfo.innerHTML = oConfig.sInfo;
+      document.body.appendChild( nInfo );
+      
+      setTimeout( function() {
+      	$(nInfo).fadeOut( "normal", function() {
+      		document.body.removeChild( nInfo );
+      	} );
+      }, 2000 );
+    }
+    
+    /* Add a message at the top of the page */
+    if ( oConfig.sMessage !== "" )
+    {
+    	this.dom.print.message = document.createElement( "div" );
+    	this.dom.print.message.className = "DTTT_PrintMessage";
+    	this.dom.print.message.innerHTML = oConfig.sMessage;
+    	document.body.insertBefore( this.dom.print.message, document.body.childNodes[0] );
+    }
+    
+    /* Cache the scrolling and the jump to the top of the t=page */
+    this.s.print.saveScroll = $(window).scrollTop();
+    window.scrollTo( 0, 0 );
+    
+    this.s.print.funcEnd = function(e) {
+     that._fnPrintEnd.call( that, e ); 
+    };
+    $(document).bind( "keydown", null, this.s.print.funcEnd );
+  },
+  
+	
+	/**
+	 * Printing is finished, resume normal display
+	 *  @method  _fnPrintEnd
+	 *  @param   {Event} e Event object
+	 *  @returns void
+	 *  @private 
+	 */
+  "_fnPrintEnd": function ( e )
+	{
+		/* Only interested in the escape key */
+		if ( e.keyCode == 27 )
+		{
+			e.preventDefault();
+			
+		  var that = this;
+	    var oSetDT = this.s.dt;
+	    var oSetPrint = this.s.print;
+	    var oDomPrint = this.dom.print;
+	    
+			/* Show all hidden nodes */
+			this._fnPrintShowNodes();
+			
+			/* Restore DataTables' scrolling */
+			if ( oSetDT.oScroll.sX !== "" || oSetDT.oScroll.sY !== "" )
+			{
+				this._fnPrintScrollEnd();
+			}
+			
+			/* Restore the scroll */
+			window.scrollTo( 0, oSetPrint.saveScroll );
+			
+			/* Drop the print message */
+			if ( oDomPrint.message !== null )
+			{
+				document.body.removeChild( oDomPrint.message );
+				oDomPrint.message = null;
+			}
+			
+			/* Styling class */
+			$(document.body).removeClass( 'DTTT_Print' );
+			
+			/* Restore the table length */
+			oSetDT._iDisplayStart = oSetPrint.saveStart;
+			oSetDT._iDisplayLength = oSetPrint.saveLength;
+			oSetDT.oApi._fnCalculateEnd( oSetDT );
+			oSetDT.oApi._fnDraw( oSetDT );
+			
+			$(document).unbind( "keydown", this.s.print.funcEnd );
+			this.s.print.funcEnd = null;
+		}
+	},
+	
+	
+	/**
+	 * Take account of scrolling in DataTables by showing the full table
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnPrintScrollStart": function ()
+	{
+		var 
+			oSetDT = this.s.dt,
+			nScrollHeadInner = oSetDT.nScrollHead.getElementsByTagName('div')[0],
+			nScrollHeadTable = nScrollHeadInner.getElementsByTagName('table')[0],
+			nScrollBody = oSetDT.nTable.parentNode;
+
+		/* Copy the header in the thead in the body table, this way we show one single table when
+		 * in print view. Note that this section of code is more or less verbatim from DT 1.7.0
+		 */
+		var nTheadSize = oSetDT.nTable.getElementsByTagName('thead');
+		if ( nTheadSize.length > 0 )
+		{
+			oSetDT.nTable.removeChild( nTheadSize[0] );
+		}
+		
+		if ( oSetDT.nTFoot !== null )
+		{
+			var nTfootSize = oSetDT.nTable.getElementsByTagName('tfoot');
+			if ( nTfootSize.length > 0 )
+			{
+				oSetDT.nTable.removeChild( nTfootSize[0] );
+			}
+		}
+		
+		nTheadSize = oSetDT.nTHead.cloneNode(true);
+		oSetDT.nTable.insertBefore( nTheadSize, oSetDT.nTable.childNodes[0] );
+		
+		if ( oSetDT.nTFoot !== null )
+		{
+			nTfootSize = oSetDT.nTFoot.cloneNode(true);
+			oSetDT.nTable.insertBefore( nTfootSize, oSetDT.nTable.childNodes[1] );
+		}
+		
+		/* Now adjust the table's viewport so we can actually see it */
+		if ( oSetDT.oScroll.sX !== "" )
+		{
+			oSetDT.nTable.style.width = $(oSetDT.nTable).outerWidth()+"px";
+			nScrollBody.style.width = $(oSetDT.nTable).outerWidth()+"px";
+			nScrollBody.style.overflow = "visible";
+		}
+		
+		if ( oSetDT.oScroll.sY !== "" )
+		{
+			nScrollBody.style.height = $(oSetDT.nTable).outerHeight()+"px";
+			nScrollBody.style.overflow = "visible";
+    }
+	},
+	
+	
+	/**
+	 * Take account of scrolling in DataTables by showing the full table. Note that the redraw of
+	 * the DataTable that we do will actually deal with the majority of the hardword here
+	 *  @returns void
+	 *  @private 
+	 */
+	"_fnPrintScrollEnd": function ()
+	{
+		var 
+			oSetDT = this.s.dt,
+			nScrollBody = oSetDT.nTable.parentNode;
+		
+		if ( oSetDT.oScroll.sX !== "" )
+		{
+			nScrollBody.style.width = oSetDT.oApi._fnStringToCss( oSetDT.oScroll.sX );
+			nScrollBody.style.overflow = "auto";
+		}
+		
+		if ( oSetDT.oScroll.sY !== "" )
+		{
+			nScrollBody.style.height = oSetDT.oApi._fnStringToCss( oSetDT.oScroll.sY );
+			nScrollBody.style.overflow = "auto";
+		}
+	},
+	
+	
+	/**
+	 * Resume the display of all TableTools hidden nodes
+	 *  @method  _fnPrintShowNodes
+	 *  @returns void
+	 *  @private 
+	 */
+  "_fnPrintShowNodes": function ( )
+	{
+	  var anHidden = this.dom.print.hidden;
+	  
+		for ( var i=0, iLen=anHidden.length ; i<iLen ; i++ )
+		{
+			anHidden[i].node.style.display = anHidden[i].display;
+		}
+		anHidden.splice( 0, anHidden.length );
+	},
+	
+	
+	/**
+	 * Hide nodes which are not needed in order to display the table. Note that this function is
+	 * recursive
+	 *  @method  _fnPrintHideNodes
+	 *  @param   {Node} nNode Element which should be showing in a 'print' display
+	 *  @returns void
+	 *  @private 
+	 */
+  "_fnPrintHideNodes": function ( nNode )
+	{
+	  var anHidden = this.dom.print.hidden;
+	  
+		var nParent = nNode.parentNode;
+		var nChildren = nParent.childNodes;
+		for ( var i=0, iLen=nChildren.length ; i<iLen ; i++ )
+		{
+			if ( nChildren[i] != nNode && nChildren[i].nodeType == 1 )
+			{
+				/* If our node is shown (don't want to show nodes which were previously hidden) */
+				var sDisplay = $(nChildren[i]).css("display");
+			 	if ( sDisplay != "none" )
+				{
+					/* Cache the node and it's previous state so we can restore it */
+					anHidden.push( {
+						"node": nChildren[i],
+						"display": sDisplay
+					} );
+					nChildren[i].style.display = "none";
+				}
+			}
+		}
+		
+		if ( nParent.nodeName != "BODY" )
+		{
+			this._fnPrintHideNodes( nParent );
+		}
+	}
+};
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Static variables
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Store of all instances that have been created of TableTools, so one can look up other (when
+ * there is need of a master)
+ *  @property _aInstances
+ *  @type     Array
+ *  @default  []
+ *  @private
+ */
+TableTools._aInstances = [];
+
+
+/**
+ * Store of all listeners and their callback functions
+ *  @property _aListeners
+ *  @type     Array
+ *  @default  []
+ */
+TableTools._aListeners = [];
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Static methods
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/**
+ * Get an array of all the master instances
+ *  @method  fnGetMasters
+ *  @returns {Array} List of master TableTools instances
+ *  @static
+ */
+TableTools.fnGetMasters = function ()
+{
+	var a = [];
+	for ( var i=0, iLen=TableTools._aInstances.length ; i<iLen ; i++ )
+	{
+		if ( TableTools._aInstances[i].s.master )
+		{
+			a.push( TableTools._aInstances[i].s );
+		}
+	}
+	return a;
+};
+
+/**
+ * Get the master instance for a table node (or id if a string is given)
+ *  @method  fnGetInstance
+ *  @returns {Object} ID of table OR table node, for which we want the TableTools instance
+ *  @static
+ */
+TableTools.fnGetInstance = function ( node )
+{
+	if ( typeof node != 'object' )
+	{
+		node = document.getElementById(node);
+	}
+	
+	for ( var i=0, iLen=TableTools._aInstances.length ; i<iLen ; i++ )
+	{
+		if ( TableTools._aInstances[i].s.master && TableTools._aInstances[i].dom.table == node )
+		{
+			return TableTools._aInstances[i];
+		}
+	}
+	return null;
+};
+
+
+/**
+ * Add a listener for a specific event
+ *  @method  _fnEventListen
+ *  @param   {Object} that Scope of the listening function (i.e. 'this' in the caller)
+ *  @param   {String} type Event type
+ *  @param   {Function} fn Function
+ *  @returns void
+ *  @private
+ *  @static
+ */
+TableTools._fnEventListen = function ( that, type, fn )
+{
+	TableTools._aListeners.push( {
+		"that": that,
+		"type": type,
+		"fn": fn
+	} );
+};
+	
+
+/**
+ * An event has occured - look up every listener and fire it off. We check that the event we are
+ * going to fire is attached to the same table (using the table node as reference) before firing
+ *  @method  _fnEventDispatch
+ *  @param   {Object} that Scope of the listening function (i.e. 'this' in the caller)
+ *  @param   {String} type Event type
+ *  @param   {Node} node Element that the event occured on (may be null)
+ *  @returns void
+ *  @private
+ *  @static
+ */
+TableTools._fnEventDispatch = function ( that, type, node )
+{
+	var listeners = TableTools._aListeners;
+	for ( var i=0, iLen=listeners.length ; i<iLen ; i++ )
+	{
+		if ( that.dom.table == listeners[i].that.dom.table && listeners[i].type == type )
+		{
+			listeners[i].fn( node );
+		}
+	}
+};
+
+
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Constants
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
+/**
+ * @namespace Default button configurations
+ */
+TableTools.BUTTONS = {
+	"csv": {
+		"sAction": "flash_save",
+		"sCharSet": "utf8",
+		"bBomInc": false,
+		"sFileName": "*.csv",
+		"sFieldBoundary": "'",
+		"sFieldSeperator": ",",
+		"sNewLine": "auto",
+		"sTitle": "",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_csv",
+		"sButtonClassHover": "DTTT_button_csv_hover",
+		"sButtonText": "CSV",
+		"mColumns": "all", /* "all", "visible", "hidden" or array of column integers */
+		"bHeader": true,
+		"bFooter": true,
+		"bSelectedOnly": false,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": function( nButton, oConfig, flash ) {
+			this.fnSetText( flash, this.fnGetTableData(oConfig) );
+		},
+		"fnSelect": null,
+		"fnComplete": null,
+		"fnInit": null
+	},
+	"xls": {
+		"sAction": "flash_save",
+		"sCharSet": "utf16le",
+		"bBomInc": true,
+		"sFileName": "*.csv",
+		"sFieldBoundary": "",
+		"sFieldSeperator": "\t",
+		"sNewLine": "auto",
+		"sTitle": "",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_xls",
+		"sButtonClassHover": "DTTT_button_xls_hover",
+		"sButtonText": "Excel",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"bSelectedOnly": false,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": function( nButton, oConfig, flash ) {
+			this.fnSetText( flash, this.fnGetTableData(oConfig) );
+		},
+		"fnSelect": null,
+		"fnComplete": null,
+		"fnInit": null
+	},
+	"copy": {
+		"sAction": "flash_copy",
+		"sFieldBoundary": "",
+		"sFieldSeperator": "\t",
+		"sNewLine": "auto",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_copy",
+		"sButtonClassHover": "DTTT_button_copy_hover",
+		"sButtonText": "Copy",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"bSelectedOnly": false,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": function( nButton, oConfig, flash ) {
+			this.fnSetText( flash, this.fnGetTableData(oConfig) );
+		},
+		"fnSelect": null,
+		"fnComplete": function(nButton, oConfig, flash, text) {
+			var
+				lines = text.split('\n').length,
+				len = this.s.dt.nTFoot === null ? lines-1 : lines-2,
+				plural = (len==1) ? "" : "s";
+			alert( 'Copied '+len+' row'+plural+' to the clipboard' );
+		},
+		"fnInit": null
+	},
+	"pdf": {
+		"sAction": "flash_pdf",
+		"sFieldBoundary": "",
+		"sFieldSeperator": "\t",
+		"sNewLine": "\n",
+		"sFileName": "*.pdf",
+		"sToolTip": "",
+		"sTitle": "",
+		"sButtonClass": "DTTT_button_pdf",
+		"sButtonClassHover": "DTTT_button_pdf_hover",
+		"sButtonText": "PDF",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": false,
+		"bSelectedOnly": false,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"sPdfOrientation": "portrait",
+		"sPdfSize": "A4",
+		"sPdfMessage": "",
+		"fnClick": function( nButton, oConfig, flash ) {
+			this.fnSetText( flash, 
+				"title:"+ this.fnGetTitle(oConfig) +"\n"+
+				"message:"+ oConfig.sPdfMessage +"\n"+
+				"colWidth:"+ this.fnCalcColRatios(oConfig) +"\n"+
+				"orientation:"+ oConfig.sPdfOrientation +"\n"+
+				"size:"+ oConfig.sPdfSize +"\n"+
+				"--/TableToolsOpts--\n" +
+				this.fnGetTableData(oConfig)
+			);
+		},
+		"fnSelect": null,
+		"fnComplete": null,
+		"fnInit": null
+	},
+	"print": {
+		"sAction": "print",
+		"sInfo": "<h6>Print view</h6><p>Please use your browser's print function to "+
+		  "print this table. Press escape when finished.",
+		"sMessage": "",
+		"bShowAll": true,
+		"sToolTip": "View print view",
+		"sButtonClass": "DTTT_button_print",
+		"sButtonClassHover": "DTTT_button_print_hover",
+		"sButtonText": "Print",
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": null,
+		"fnSelect": null,
+		"fnComplete": null,
+		"fnInit": null
+	},
+	"text": {
+		"sAction": "text",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_text",
+		"sButtonClassHover": "DTTT_button_text_hover",
+		"sButtonText": "Text button",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"bSelectedOnly": false,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": null,
+		"fnSelect": null,
+		"fnComplete": null,
+		"fnInit": null
+	},
+	"select": {
+		"sAction": "text",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_text",
+		"sButtonClassHover": "DTTT_button_text_hover",
+		"sButtonText": "Select button",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": null,
+		"fnSelect": function( nButton, oConfig ) {
+			if ( this.fnGetSelected().length !== 0 ) {
+				$(nButton).removeClass('DTTT_disabled');
+			} else {
+				$(nButton).addClass('DTTT_disabled');
+			}
+		},
+		"fnComplete": null,
+		"fnInit": function( nButton, oConfig ) {
+			$(nButton).addClass('DTTT_disabled');
+		}
+	},
+	"select_single": {
+		"sAction": "text",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_text",
+		"sButtonClassHover": "DTTT_button_text_hover",
+		"sButtonText": "Select button",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": null,
+		"fnSelect": function( nButton, oConfig ) {
+			var iSelected = this.fnGetSelected().length;
+			if ( iSelected == 1 ) {
+				$(nButton).removeClass('DTTT_disabled');
+			} else {
+				$(nButton).addClass('DTTT_disabled');
+			}
+		},
+		"fnComplete": null,
+		"fnInit": function( nButton, oConfig ) {
+			$(nButton).addClass('DTTT_disabled');
+		}
+	},
+	"select_all": {
+		"sAction": "text",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_text",
+		"sButtonClassHover": "DTTT_button_text_hover",
+		"sButtonText": "Select all",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": function( nButton, oConfig ) {
+			this.fnSelectAll();
+		},
+		"fnSelect": function( nButton, oConfig ) {
+			if ( this.fnGetSelected().length == this.s.dt.fnRecordsDisplay() ) {
+				$(nButton).addClass('DTTT_disabled');
+			} else {
+				$(nButton).removeClass('DTTT_disabled');
+			}
+		},
+		"fnComplete": null,
+		"fnInit": null
+	},
+	"select_none": {
+		"sAction": "text",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_text",
+		"sButtonClassHover": "DTTT_button_text_hover",
+		"sButtonText": "Deselect all",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": function( nButton, oConfig ) {
+			this.fnSelectNone();
+		},
+		"fnSelect": function( nButton, oConfig ) {
+			if ( this.fnGetSelected().length !== 0 ) {
+				$(nButton).removeClass('DTTT_disabled');
+			} else {
+				$(nButton).addClass('DTTT_disabled');
+			}
+		},
+		"fnComplete": null,
+		"fnInit": function( nButton, oConfig ) {
+			$(nButton).addClass('DTTT_disabled');
+		}
+	},
+	"ajax": {
+		"sAction": "text",
+		"sFieldBoundary": "",
+		"sFieldSeperator": "\t",
+		"sNewLine": "\n",
+		"sAjaxUrl": "/xhr.php",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_text",
+		"sButtonClassHover": "DTTT_button_text_hover",
+		"sButtonText": "Ajax button",
+		"mColumns": "all",
+		"bHeader": true,
+		"bFooter": true,
+		"bSelectedOnly": false,
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": function( nButton, oConfig ) {
+			var sData = this.fnGetTableData(oConfig);
+			$.ajax( {
+				"url": oConfig.sAjaxUrl,
+				"data": [
+					{ "name": "tableData", "value": sData }
+				],
+				"success": oConfig.fnAjaxComplete,
+				"dataType": "json",
+				"type": "POST", 
+				"cache": false,
+				"error": function () {
+					alert( "Error detected when sending table data to server" );
+				}
+			} );
+		},
+		"fnSelect": null,
+		"fnComplete": null,
+		"fnInit": null,
+		"fnAjaxComplete": function( json ) {
+			alert( 'Ajax complete' );
+		}
+	},
+	"collection": {
+		"sAction": "collection",
+		"sToolTip": "",
+		"sButtonClass": "DTTT_button_collection",
+		"sButtonClassHover": "DTTT_button_collection_hover",
+		"sButtonText": "Collection",
+		"fnMouseover": null,
+		"fnMouseout": null,
+		"fnClick": function( nButton, oConfig ) {
+			this._fnCollectionShow(nButton, oConfig);
+		},
+		"fnSelect": null,
+		"fnComplete": null,
+		"fnInit": null
+	}
+};
+/*
+ *  on* callback parameters:
+ *  	1. node - button element
+ *  	2. object - configuration object for this button
+ *  	3. object - ZeroClipboard reference (flash button only)
+ *  	4. string - Returned string from Flash (flash button only - and only on 'complete')
+ */
+
+
+/**
+ * @namespace TableTools default settings for initialisation
+ */
+TableTools.DEFAULTS = {
+	"sSwfPath":         "media/swf/copy_cvs_xls_pdf.swf",
+	"sRowSelect":       "none",
+	"sSelectedClass":   "DTTT_selected",
+	"fnPreRowSelect":   null,
+	"fnRowSelected":    null,
+	"fnRowDeselected":  null,
+	"aButtons":         [ "copy", "csv", "xls", "pdf", "print" ]
+};
+
+
+/**
+ * Name of this class
+ *  @constant CLASS
+ *  @type     String
+ *  @default  TableTools
+ */
+TableTools.prototype.CLASS = "TableTools";
+
+
+/**
+ * TableTools version
+ *  @constant  VERSION
+ *  @type      String
+ *  @default   2.0.1
+ */
+TableTools.VERSION = "2.0.1";
+TableTools.prototype.VERSION = TableTools.VERSION;
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Initialisation
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * Register a new feature with DataTables
+ */
+if ( typeof $.fn.dataTable == "function" &&
+     typeof $.fn.dataTableExt.fnVersionCheck == "function" &&
+     $.fn.dataTableExt.fnVersionCheck('1.7.0') )
+{
+	$.fn.dataTableExt.aoFeatures.push( {
+		"fnInit": function( oDTSettings ) {
+			var oOpts = typeof oDTSettings.oInit.oTableTools != 'undefined' ? 
+				oDTSettings.oInit.oTableTools : {};
+			
+			var oTT = new TableTools( oDTSettings.oInstance, oOpts );
+			TableTools._aInstances.push( oTT );
+			
+			return oTT.dom.container;
+		},
+		"cFeature": "T",
+		"sFeature": "TableTools"
+	} );
+}
+else
+{
+	alert( "Warning: TableTools 2 requires DataTables 1.7 or greater - www.datatables.net/download");
+}
+
+})(jQuery, window, document);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/TableTools.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/TableTools.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/TableTools.min.js	(revision 6286)
@@ -0,0 +1,78 @@
+// Simple Set Clipboard System
+// Author: Joseph Huckaby
+var ZeroClipboard={version:"1.0.4-TableTools2",clients:{},moviePath:"",nextId:1,$:function(a){if(typeof a=="string")a=document.getElementById(a);if(!a.addClass){a.hide=function(){this.style.display="none"};a.show=function(){this.style.display=""};a.addClass=function(b){this.removeClass(b);this.className+=" "+b};a.removeClass=function(b){this.className=this.className.replace(new RegExp("\\s*"+b+"\\s*")," ").replace(/^\s+/,"").replace(/\s+$/,"")};a.hasClass=function(b){return!!this.className.match(new RegExp("\\s*"+
+b+"\\s*"))}}return a},setMoviePath:function(a){this.moviePath=a},dispatch:function(a,b,c){(a=this.clients[a])&&a.receiveEvent(b,c)},register:function(a,b){this.clients[a]=b},getDOMObjectPosition:function(a){var b={left:0,top:0,width:a.width?a.width:a.offsetWidth,height:a.height?a.height:a.offsetHeight};if(a.style.width!="")b.width=a.style.width.replace("px","");if(a.style.height!="")b.height=a.style.height.replace("px","");for(;a;){b.left+=a.offsetLeft;b.top+=a.offsetTop;a=a.offsetParent}return b},
+Client:function(a){this.handlers={};this.id=ZeroClipboard.nextId++;this.movieId="ZeroClipboardMovie_"+this.id;ZeroClipboard.register(this.id,this);a&&this.glue(a)}};
+ZeroClipboard.Client.prototype={id:0,ready:false,movie:null,clipText:"",fileName:"",action:"copy",handCursorEnabled:true,cssEffects:true,handlers:null,sized:false,glue:function(a,b){this.domElement=ZeroClipboard.$(a);a=99;if(this.domElement.style.zIndex)a=parseInt(this.domElement.style.zIndex)+1;var c=ZeroClipboard.getDOMObjectPosition(this.domElement);this.div=document.createElement("div");var d=this.div.style;d.position="absolute";d.left=this.domElement.offsetLeft+"px";d.top=this.domElement.offsetTop+
+"px";d.width=c.width+"px";d.height=c.height+"px";d.zIndex=a;if(typeof b!="undefined"&&b!="")this.div.title=b;if(c.width!=0&&c.height!=0)this.sized=true;this.domElement.parentNode.appendChild(this.div);this.div.innerHTML=this.getHTML(c.width,c.height)},positionElement:function(){var a=ZeroClipboard.getDOMObjectPosition(this.domElement),b=this.div.style;b.position="absolute";b.left=this.domElement.offsetLeft+"px";b.top=this.domElement.offsetTop+"px";b.width=a.width+"px";b.height=a.height+"px";if(a.width!=
+0&&a.height!=0)this.sized=true;b=this.div.childNodes[0];b.width=a.width;b.height=a.height},getHTML:function(a,b){var c="",d="id="+this.id+"&width="+a+"&height="+b;if(navigator.userAgent.match(/MSIE/)){var f=location.href.match(/^https/i)?"https://":"http://";c+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+f+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="'+a+'" height="'+b+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+
+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+d+'"/><param name="wmode" value="transparent"/></object>'}else c+='<embed id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+a+'" height="'+b+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+
+d+'" wmode="transparent" />';return c},hide:function(){if(this.div)this.div.style.left="-2000px"},show:function(){this.reposition()},destroy:function(){if(this.domElement&&this.div){this.hide();this.div.innerHTML="";var a=document.getElementsByTagName("body")[0];try{a.removeChild(this.div)}catch(b){}this.div=this.domElement=null}},reposition:function(a){if(a)(this.domElement=ZeroClipboard.$(a))||this.hide();if(this.domElement&&this.div){a=ZeroClipboard.getDOMObjectPosition(this.domElement);var b=
+this.div.style;b.left=""+a.left+"px";b.top=""+a.top+"px"}},clearText:function(){this.clipText="";this.ready&&this.movie.clearText()},appendText:function(a){this.clipText+=a;this.ready&&this.movie.appendText(a)},setText:function(a){this.clipText=a;this.ready&&this.movie.setText(a)},setCharSet:function(a){this.charSet=a;this.ready&&this.movie.setCharSet(a)},setBomInc:function(a){this.incBom=a;this.ready&&this.movie.setBomInc(a)},setFileName:function(a){this.fileName=a;this.ready&&this.movie.setFileName(a)},
+setAction:function(a){this.action=a;this.ready&&this.movie.setAction(a)},addEventListener:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");this.handlers[a]||(this.handlers[a]=[]);this.handlers[a].push(b)},setHandCursor:function(a){this.handCursorEnabled=a;this.ready&&this.movie.setHandCursor(a)},setCSSEffects:function(a){this.cssEffects=!!a},receiveEvent:function(a,b){a=a.toString().toLowerCase().replace(/^on/,"");switch(a){case "load":this.movie=document.getElementById(this.movieId);
+if(!this.movie){var c=this;setTimeout(function(){c.receiveEvent("load",null)},1);return}if(!this.ready&&navigator.userAgent.match(/Firefox/)&&navigator.userAgent.match(/Windows/)){c=this;setTimeout(function(){c.receiveEvent("load",null)},100);this.ready=true;return}this.ready=true;this.movie.clearText();this.movie.appendText(this.clipText);this.movie.setFileName(this.fileName);this.movie.setAction(this.action);this.movie.setCharSet(this.charSet);this.movie.setBomInc(this.incBom);this.movie.setHandCursor(this.handCursorEnabled);
+break;case "mouseover":this.domElement&&this.cssEffects&&this.recoverActive&&this.domElement.addClass("active");break;case "mouseout":if(this.domElement&&this.cssEffects){this.recoverActive=false;if(this.domElement.hasClass("active")){this.domElement.removeClass("active");this.recoverActive=true}}break;case "mousedown":this.domElement&&this.cssEffects&&this.domElement.addClass("active");break;case "mouseup":if(this.domElement&&this.cssEffects){this.domElement.removeClass("active");this.recoverActive=
+false}break}if(this.handlers[a])for(var d=0,f=this.handlers[a].length;d<f;d++){var e=this.handlers[a][d];if(typeof e=="function")e(this,b);else if(typeof e=="object"&&e.length==2)e[0][e[1]](this,b);else typeof e=="string"&&window[e](this,b)}}};
+
+
+/*
+ * File:        TableTools.min.js
+ * Version:     2.0.1
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * 
+ * Copyright 2009-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD (3 point) style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+var TableTools;
+(function(e,n,j){TableTools=function(a,b){if(!this.CLASS||this.CLASS!="TableTools")alert("Warning: TableTools must be initialised with the keyword 'new'");this.s={that:this,dt:null,print:{saveStart:-1,saveLength:-1,saveScroll:-1,funcEnd:function(){}},buttonCounter:0,select:{type:"",selected:[],preRowSelect:null,postSelected:null,postDeselected:null,all:false,selectedClass:""},custom:{},swfPath:"",buttonSet:[],master:false};this.dom={container:null,table:null,print:{hidden:[],message:null},collection:{collection:null,
+background:null}};this.fnSettings=function(){return this.s};if(typeof b=="undefined")b={};this.s.dt=a.fnSettings();this._fnConstruct(b);return this};TableTools.prototype={fnGetSelected:function(){return this._fnGetMasterSettings().select.selected},fnIsSelected:function(a){for(var b=this.fnGetSelected(),c=0,d=b.length;c<d;c++)if(a==b[c])return true;return false},fnSelectAll:function(){this._fnGetMasterSettings().that._fnRowSelectAll()},fnSelectNone:function(){this._fnGetMasterSettings().that._fnRowDeselectAll()},
+fnGetTitle:function(a){var b="";if(typeof a.sTitle!="undefined"&&a.sTitle!=="")b=a.sTitle;else{a=j.getElementsByTagName("title");if(a.length>0)b=a[0].innerHTML}return"\u00a1".toString().length<4?b.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,""):b.replace(/[^a-zA-Z0-9_\.,\-_ !\(\)]/g,"")},fnCalcColRatios:function(a){var b=this.s.dt.aoColumns;a=this._fnColumnTargets(a.mColumns);var c=[],d=0,f=0,h,g;h=0;for(g=a.length;h<g;h++)if(a[h]){d=b[h].nTh.offsetWidth;f+=d;c.push(d)}h=0;for(g=c.length;h<
+g;h++)c[h]/=f;return c.join("\t")},fnGetTableData:function(a){if(this.s.dt)return this._fnGetDataTablesData(a)},fnSetText:function(a,b){this._fnFlashSetText(a,b)},fnResizeButtons:function(){for(var a in ZeroClipboard.clients)if(a){var b=ZeroClipboard.clients[a];typeof b.domElement!="undefined"&&b.domElement.parentNode==this.dom.container&&b.positionElement()}},fnResizeRequired:function(){for(var a in ZeroClipboard.clients)if(a){var b=ZeroClipboard.clients[a];if(typeof b.domElement!="undefined"&&b.domElement.parentNode==
+this.dom.container&&b.sized===false)return true}return false},_fnConstruct:function(a){this._fnCustomiseSettings(a);this.dom.container=j.createElement("div");this.dom.container.style.position="relative";this.dom.container.className=!this.s.dt.bJUI?"DTTT_container":"DTTT_container ui-buttonset ui-buttonset-multi";this.s.select.type!="none"&&this._fnRowSelectConfig();this._fnButtonDefinations(this.s.buttonSet,this.dom.container)},_fnCustomiseSettings:function(a){if(typeof this.s.dt._TableToolsInit==
+"undefined"){this.s.master=true;this.s.dt._TableToolsInit=true}this.dom.table=this.s.dt.nTable;this.s.custom=e.extend({},TableTools.DEFAULTS,a);this.s.swfPath=this.s.custom.sSwfPath;if(typeof ZeroClipboard!="undefined")ZeroClipboard.moviePath=this.s.swfPath;this.s.select.type=this.s.custom.sRowSelect;this.s.select.preRowSelect=this.s.custom.fnPreRowSelect;this.s.select.postSelected=this.s.custom.fnRowSelected;this.s.select.postDeselected=this.s.custom.fnRowDeselected;this.s.select.selectedClass=this.s.custom.sSelectedClass;
+this.s.buttonSet=this.s.custom.aButtons},_fnButtonDefinations:function(a,b){for(var c,d=0,f=a.length;d<f;d++){if(typeof a[d]=="string"){if(typeof TableTools.BUTTONS[a[d]]=="undefined"){alert("TableTools: Warning - unknown button type: "+a[d]);continue}c=e.extend({},TableTools.BUTTONS[a[d]],true)}else{if(typeof TableTools.BUTTONS[a[d].sExtends]=="undefined"){alert("TableTools: Warning - unknown button type: "+a[d].sExtends);continue}c=e.extend({},TableTools.BUTTONS[a[d].sExtends],true);c=e.extend(c,
+a[d],true)}if(this.s.dt.bJUI){c.sButtonClass+=" ui-button ui-state-default";c.sButtonClassHover+=" ui-button ui-state-default ui-state-hover"}b.appendChild(this._fnCreateButton(c))}},_fnCreateButton:function(a){var b=this._fnButtonBase(a);if(a.sAction=="print")this._fnPrintConfig(b,a);else if(a.sAction.match(/flash/))this._fnFlashConfig(b,a);else if(a.sAction=="text")this._fnTextConfig(b,a);else if(a.sAction=="collection"){this._fnTextConfig(b,a);this._fnCollectionConfig(b,a)}return b},_fnButtonBase:function(a){var b=
+j.createElement("button"),c=j.createElement("span"),d=this._fnGetMasterSettings();b.className="DTTT_button "+a.sButtonClass;b.setAttribute("id","ToolTables_"+this.s.dt.sInstance+"_"+d.buttonCounter);b.appendChild(c);c.innerHTML=a.sButtonText;d.buttonCounter++;return b},_fnGetMasterSettings:function(){if(this.s.master)return this.s;else for(var a=TableTools._aInstances,b=0,c=a.length;b<c;b++)if(this.dom.table==a[b].s.dt.nTable)return a[b].s},_fnCollectionConfig:function(a,b){a=j.createElement("div");
+a.style.display="none";a.className=!this.s.dt.bJUI?"DTTT_collection":"DTTT_collection ui-buttonset ui-buttonset-multi";b._collection=a;this._fnButtonDefinations(b.aButtons,a)},_fnCollectionShow:function(a,b){var c=this,d=e(a).offset(),f=b._collection;b=d.left;d=d.top+e(a).outerHeight();var h=e(n).height(),g=e(j).height(),k=e(n).width(),m=e(j).width();f.style.position="absolute";f.style.left=b+"px";f.style.top=d+"px";f.style.display="block";e(f).css("opacity",0);var l=j.createElement("div");l.style.position=
+"absolute";l.style.left="0px";l.style.top="0px";l.style.height=(h>g?h:g)+"px";l.style.width=(k>m?k:m)+"px";l.className="DTTT_collection_background";e(l).css("opacity",0);j.body.appendChild(l);j.body.appendChild(f);h=e(f).outerWidth();k=e(f).outerHeight();if(b+h>m)f.style.left=m-h+"px";if(d+k>g)f.style.top=d-k-e(a).outerHeight()+"px";this.dom.collection.collection=f;this.dom.collection.background=l;setTimeout(function(){e(f).animate({opacity:1},500);e(l).animate({opacity:0.25},500)},10);e(l).click(function(){c._fnCollectionHide.call(c,
+null,null)})},_fnCollectionHide:function(a,b){if(!(b!==null&&b.sExtends=="collection"))if(this.dom.collection.collection!==null){e(this.dom.collection.collection).animate({opacity:0},500,function(){this.style.display="none"});e(this.dom.collection.background).animate({opacity:0},500,function(){this.parentNode.removeChild(this)});this.dom.collection.collection=null;this.dom.collection.background=null}},_fnRowSelectConfig:function(){if(this.s.master){var a=this,b,c,d=this.s.dt.aoOpenRows;e(a.s.dt.nTable).addClass("DTTT_selectable");
+e("tr",a.s.dt.nTBody).live("click",function(f){if(this.parentNode==a.s.dt.nTBody){b=0;for(c=d.length;b<c;b++)if(this==d[b].nTr)return;a.s.select.preRowSelect!==null&&!a.s.select.preRowSelect.call(a,f)||(a.s.select.type=="single"?a._fnRowSelectSingle.call(a,this):a._fnRowSelectMulti.call(a,this))}});a.s.dt.aoDrawCallback.push({fn:function(){a.s.select.all&&a.s.dt.oFeatures.bServerSide&&a.fnSelectAll()},sName:"TableTools_select"})}},_fnRowSelectSingle:function(a){if(this.s.master)if(!e("td",a).hasClass(this.s.dt.oClasses.sRowEmpty)){if(e(a).hasClass(this.s.select.selectedClass))this._fnRowDeselect(a);
+else{this.s.select.selected.length!==0&&this._fnRowDeselectAll();this.s.select.selected.push(a);e(a).addClass(this.s.select.selectedClass);this.s.select.postSelected!==null&&this.s.select.postSelected.call(this,a)}TableTools._fnEventDispatch(this,"select",a)}},_fnRowSelectMulti:function(a){if(this.s.master)if(!e("td",a).hasClass(this.s.dt.oClasses.sRowEmpty)){if(e(a).hasClass(this.s.select.selectedClass))this._fnRowDeselect(a);else{this.s.select.selected.push(a);e(a).addClass(this.s.select.selectedClass);
+this.s.select.postSelected!==null&&this.s.select.postSelected.call(this,a)}TableTools._fnEventDispatch(this,"select",a)}},_fnRowSelectAll:function(){if(this.s.master){for(var a,b=0,c=this.s.dt.aiDisplayMaster.length;b<c;b++){a=this.s.dt.aoData[this.s.dt.aiDisplayMaster[b]].nTr;if(!e(a).hasClass(this.s.select.selectedClass)){this.s.select.selected.push(a);e(a).addClass(this.s.select.selectedClass)}}this.s.select.all=true;TableTools._fnEventDispatch(this,"select",null)}},_fnRowDeselectAll:function(){if(this.s.master){for(var a=
+this.s.select.selected.length-1;a>=0;a--)this._fnRowDeselect(a);this.s.select.all=false;TableTools._fnEventDispatch(this,"select",null)}},_fnRowDeselect:function(a){if(typeof a.nodeName!="undefined")a=e.inArray(a,this.s.select.selected);var b=this.s.select.selected[a];e(b).removeClass(this.s.select.selectedClass);this.s.select.selected.splice(a,1);this.s.select.postDeselected!==null&&this.s.select.postDeselected.call(this,b);this.s.select.all=false},_fnTextConfig:function(a,b){var c=this;b.fnInit!==
+null&&b.fnInit.call(this,a,b);if(b.sToolTip!=="")a.title=b.sToolTip;e(a).hover(function(){e(a).removeClass(b.sButtonClass).addClass(b.sButtonClassHover);b.fnMouseover!==null&&b.fnMouseover.call(this,a,b,null)},function(){e(a).removeClass(b.sButtonClassHover).addClass(b.sButtonClass);b.fnMouseout!==null&&b.fnMouseout.call(this,a,b,null)});b.fnSelect!==null&&TableTools._fnEventListen(this,"select",function(d){b.fnSelect.call(c,a,b,d)});e(a).click(function(d){d.preventDefault();b.fnClick!==null&&b.fnClick.call(c,
+a,b,null);b.fnComplete!==null&&b.fnComplete.call(c,a,b,null,null);c._fnCollectionHide(a,b)})},_fnFlashConfig:function(a,b){var c=this,d=new ZeroClipboard.Client;b.fnInit!==null&&b.fnInit.call(this,a,b);d.setHandCursor(true);if(b.sAction=="flash_save"){d.setAction("save");d.setCharSet(b.sCharSet=="utf16le"?"UTF16LE":"UTF8");d.setBomInc(b.bBomInc);d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))}else if(b.sAction=="flash_pdf"){d.setAction("pdf");d.setFileName(b.sFileName.replace("*",this.fnGetTitle(b)))}else d.setAction("copy");
+d.addEventListener("mouseOver",function(){e(a).removeClass(b.sButtonClass).addClass(b.sButtonClassHover);b.fnMouseover!==null&&b.fnMouseover.call(c,a,b,d)});d.addEventListener("mouseOut",function(){e(a).removeClass(b.sButtonClassHover).addClass(b.sButtonClass);b.fnMouseout!==null&&b.fnMouseout.call(c,a,b,d)});d.addEventListener("mouseDown",function(){b.fnClick!==null&&b.fnClick.call(c,a,b,d)});d.addEventListener("complete",function(f,h){b.fnComplete!==null&&b.fnComplete.call(c,a,b,d,h);c._fnCollectionHide(a,
+b)});this._fnFlashGlue(d,a,b.sToolTip)},_fnFlashGlue:function(a,b,c){var d=this,f=b.getAttribute("id");if(j.getElementById(f)){a.glue(b,c);if(a.domElement.parentNode!=a.div.parentNode&&typeof d.__bZCWarning=="undefined"){d.s.dt.oApi._fnLog(this.s.dt,0,"It looks like you are using the version of ZeroClipboard which came with TableTools 1. Please update to use the version that came with TableTools 2.");d.__bZCWarning=true}}else setTimeout(function(){d._fnFlashGlue(a,b,c)},100)},_fnFlashSetText:function(a,
+b){b=this._fnChunkData(b,8192);a.clearText();for(var c=0,d=b.length;c<d;c++)a.appendText(b[c])},_fnColumnTargets:function(a){var b=[],c=this.s.dt;if(typeof a=="object"){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(false);i=0;for(iLen=a.length;i<iLen;i++)b[a[i]]=true}else if(a=="visible"){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?true:false)}else if(a=="hidden"){i=0;for(iLen=c.aoColumns.length;i<iLen;i++)b.push(c.aoColumns[i].bVisible?false:true)}else{i=0;for(iLen=
+c.aoColumns.length;i<iLen;i++)b.push(true)}return b},_fnNewline:function(a){return a.sNewLine=="auto"?navigator.userAgent.match(/Windows/)?"\r\n":"\n":a.sNewLine},_fnGetDataTablesData:function(a){var b,c,d,f,h="",g="",k=this.s.dt,m=new RegExp(a.sFieldBoundary,"g"),l=this._fnColumnTargets(a.mColumns),o=this._fnNewline(a);if(a.bHeader){b=0;for(c=k.aoColumns.length;b<c;b++)if(l[b]){g=k.aoColumns[b].sTitle.replace(/\n/g," ").replace(/<.*?>/g,"");g=this._fnHtmlDecode(g);h+=this._fnBoundData(g,a.sFieldBoundary,
+m)+a.sFieldSeperator}h=h.slice(0,a.sFieldSeperator.length*-1);h+=o}d=0;for(f=k.aiDisplay.length;d<f;d++)if(!(typeof a.bSelectedOnly&&a.bSelectedOnly&&!e(k.aoData[k.aiDisplay[d]].nTr).hasClass(this.s.select.selectedClass))){b=0;for(c=k.aoColumns.length;b<c;b++)if(l[b]){g=k.aoData[k.aiDisplay[d]]._aData[b];if(typeof g=="string"){g=g.replace(/\n/g," ");g=g.replace(/<img.*?\s+alt\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s>]+)).*?>/gi,"$1$2$3");g=g.replace(/<.*?>/g,"")}else g=g+"";g=g.replace(/^\s+/,"").replace(/\s+$/,
+"");g=this._fnHtmlDecode(g);h+=this._fnBoundData(g,a.sFieldBoundary,m)+a.sFieldSeperator}h=h.slice(0,a.sFieldSeperator.length*-1);h+=o}h.slice(0,-1);if(a.bFooter){b=0;for(c=k.aoColumns.length;b<c;b++)if(l[b]&&k.aoColumns[b].nTf!==null){g=k.aoColumns[b].nTf.innerHTML.replace(/\n/g," ").replace(/<.*?>/g,"");g=this._fnHtmlDecode(g);h+=this._fnBoundData(g,a.sFieldBoundary,m)+a.sFieldSeperator}h=h.slice(0,a.sFieldSeperator.length*-1)}return _sLastData=h},_fnBoundData:function(a,b,c){return b===""?a:b+
+a.replace(c,"\\"+b)+b},_fnChunkData:function(a,b){for(var c=[],d=a.length,f=0;f<d;f+=b)f+b<d?c.push(a.substring(f,f+b)):c.push(a.substring(f,d));return c},_fnHtmlDecode:function(a){if(a.indexOf("&")==-1)return a;a=this._fnChunkData(a,2048);var b=j.createElement("div"),c,d,f,h="";c=0;for(d=a.length;c<d;c++){f=a[c].lastIndexOf("&");if(f!=-1&&a[c].length>=8&&f>a[c].length-8){a[c].substr(f);a[c]=a[c].substr(0,f)}b.innerHTML=a[c];h+=b.childNodes[0].nodeValue}return h},_fnPrintConfig:function(a,b){var c=
+this;b.fnInit!==null&&b.fnInit.call(this,a,b);e(a).hover(function(){e(a).removeClass(b.sButtonClass).addClass(b.sButtonClassHover)},function(){e(a).removeClass(b.sButtonClassHover).addClass(b.sButtonClass)});b.fnSelect!==null&&TableTools._fnEventListen(this,"select",function(d){b.fnSelect.call(c,a,b,d)});e(a).click(function(d){d.preventDefault();c._fnPrintStart.call(c,d,b);b.fnClick!==null&&b.fnClick.call(c,a,b,null);b.fnComplete!==null&&b.fnComplete.call(c,a,b,null,null);c._fnCollectionHide(a,b)})},
+_fnPrintStart:function(a,b){var c=this;a=this.s.dt;this._fnPrintHideNodes(a.nTable);this.s.print.saveStart=a._iDisplayStart;this.s.print.saveLength=a._iDisplayLength;if(b.bShowAll){a._iDisplayStart=0;a._iDisplayLength=-1;a.oApi._fnCalculateEnd(a);a.oApi._fnDraw(a)}if(a.oScroll.sX!==""||a.oScroll.sY!=="")this._fnPrintScrollStart(a);a=a.aanFeatures;for(var d in a)if(d!="i"&&d!="t"&&d.length==1)for(var f=0,h=a[d].length;f<h;f++){this.dom.print.hidden.push({node:a[d][f],display:"block"});a[d][f].style.display=
+"none"}e(j.body).addClass("DTTT_Print");if(b.sInfo!==""){var g=j.createElement("div");g.className="DTTT_print_info";g.innerHTML=b.sInfo;j.body.appendChild(g);setTimeout(function(){e(g).fadeOut("normal",function(){j.body.removeChild(g)})},2E3)}if(b.sMessage!==""){this.dom.print.message=j.createElement("div");this.dom.print.message.className="DTTT_PrintMessage";this.dom.print.message.innerHTML=b.sMessage;j.body.insertBefore(this.dom.print.message,j.body.childNodes[0])}this.s.print.saveScroll=e(n).scrollTop();
+n.scrollTo(0,0);this.s.print.funcEnd=function(k){c._fnPrintEnd.call(c,k)};e(j).bind("keydown",null,this.s.print.funcEnd)},_fnPrintEnd:function(a){if(a.keyCode==27){a.preventDefault();a=this.s.dt;var b=this.s.print,c=this.dom.print;this._fnPrintShowNodes();if(a.oScroll.sX!==""||a.oScroll.sY!=="")this._fnPrintScrollEnd();n.scrollTo(0,b.saveScroll);if(c.message!==null){j.body.removeChild(c.message);c.message=null}e(j.body).removeClass("DTTT_Print");a._iDisplayStart=b.saveStart;a._iDisplayLength=b.saveLength;
+a.oApi._fnCalculateEnd(a);a.oApi._fnDraw(a);e(j).unbind("keydown",this.s.print.funcEnd);this.s.print.funcEnd=null}},_fnPrintScrollStart:function(){var a=this.s.dt;a.nScrollHead.getElementsByTagName("div")[0].getElementsByTagName("table");var b=a.nTable.parentNode,c=a.nTable.getElementsByTagName("thead");c.length>0&&a.nTable.removeChild(c[0]);if(a.nTFoot!==null){c=a.nTable.getElementsByTagName("tfoot");c.length>0&&a.nTable.removeChild(c[0])}c=a.nTHead.cloneNode(true);a.nTable.insertBefore(c,a.nTable.childNodes[0]);
+if(a.nTFoot!==null){c=a.nTFoot.cloneNode(true);a.nTable.insertBefore(c,a.nTable.childNodes[1])}if(a.oScroll.sX!==""){a.nTable.style.width=e(a.nTable).outerWidth()+"px";b.style.width=e(a.nTable).outerWidth()+"px";b.style.overflow="visible"}if(a.oScroll.sY!==""){b.style.height=e(a.nTable).outerHeight()+"px";b.style.overflow="visible"}},_fnPrintScrollEnd:function(){var a=this.s.dt,b=a.nTable.parentNode;if(a.oScroll.sX!==""){b.style.width=a.oApi._fnStringToCss(a.oScroll.sX);b.style.overflow="auto"}if(a.oScroll.sY!==
+""){b.style.height=a.oApi._fnStringToCss(a.oScroll.sY);b.style.overflow="auto"}},_fnPrintShowNodes:function(){for(var a=this.dom.print.hidden,b=0,c=a.length;b<c;b++)a[b].node.style.display=a[b].display;a.splice(0,a.length)},_fnPrintHideNodes:function(a){for(var b=this.dom.print.hidden,c=a.parentNode,d=c.childNodes,f=0,h=d.length;f<h;f++)if(d[f]!=a&&d[f].nodeType==1){var g=e(d[f]).css("display");if(g!="none"){b.push({node:d[f],display:g});d[f].style.display="none"}}c.nodeName!="BODY"&&this._fnPrintHideNodes(c)}};
+TableTools._aInstances=[];TableTools._aListeners=[];TableTools.fnGetMasters=function(){for(var a=[],b=0,c=TableTools._aInstances.length;b<c;b++)TableTools._aInstances[b].s.master&&a.push(TableTools._aInstances[b].s);return a};TableTools.fnGetInstance=function(a){if(typeof a!="object")a=j.getElementById(a);for(var b=0,c=TableTools._aInstances.length;b<c;b++)if(TableTools._aInstances[b].s.master&&TableTools._aInstances[b].dom.table==a)return TableTools._aInstances[b];return null};TableTools._fnEventListen=
+function(a,b,c){TableTools._aListeners.push({that:a,type:b,fn:c})};TableTools._fnEventDispatch=function(a,b,c){for(var d=TableTools._aListeners,f=0,h=d.length;f<h;f++)a.dom.table==d[f].that.dom.table&&d[f].type==b&&d[f].fn(c)};TableTools.BUTTONS={csv:{sAction:"flash_save",sCharSet:"utf8",bBomInc:false,sFileName:"*.csv",sFieldBoundary:"'",sFieldSeperator:",",sNewLine:"auto",sTitle:"",sToolTip:"",sButtonClass:"DTTT_button_csv",sButtonClassHover:"DTTT_button_csv_hover",sButtonText:"CSV",mColumns:"all",
+bHeader:true,bFooter:true,bSelectedOnly:false,fnMouseover:null,fnMouseout:null,fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnSelect:null,fnComplete:null,fnInit:null},xls:{sAction:"flash_save",sCharSet:"utf16le",bBomInc:true,sFileName:"*.csv",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"auto",sTitle:"",sToolTip:"",sButtonClass:"DTTT_button_xls",sButtonClassHover:"DTTT_button_xls_hover",sButtonText:"Excel",mColumns:"all",bHeader:true,bFooter:true,bSelectedOnly:false,fnMouseover:null,
+fnMouseout:null,fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnSelect:null,fnComplete:null,fnInit:null},copy:{sAction:"flash_copy",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"auto",sToolTip:"",sButtonClass:"DTTT_button_copy",sButtonClassHover:"DTTT_button_copy_hover",sButtonText:"Copy",mColumns:"all",bHeader:true,bFooter:true,bSelectedOnly:false,fnMouseover:null,fnMouseout:null,fnClick:function(a,b,c){this.fnSetText(c,this.fnGetTableData(b))},fnSelect:null,fnComplete:function(a,
+b,c,d){a=d.split("\n").length;a=this.s.dt.nTFoot===null?a-1:a-2;alert("Copied "+a+" row"+(a==1?"":"s")+" to the clipboard")},fnInit:null},pdf:{sAction:"flash_pdf",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"\n",sFileName:"*.pdf",sToolTip:"",sTitle:"",sButtonClass:"DTTT_button_pdf",sButtonClassHover:"DTTT_button_pdf_hover",sButtonText:"PDF",mColumns:"all",bHeader:true,bFooter:false,bSelectedOnly:false,fnMouseover:null,fnMouseout:null,sPdfOrientation:"portrait",sPdfSize:"A4",sPdfMessage:"",fnClick:function(a,
+b,c){this.fnSetText(c,"title:"+this.fnGetTitle(b)+"\nmessage:"+b.sPdfMessage+"\ncolWidth:"+this.fnCalcColRatios(b)+"\norientation:"+b.sPdfOrientation+"\nsize:"+b.sPdfSize+"\n--/TableToolsOpts--\n"+this.fnGetTableData(b))},fnSelect:null,fnComplete:null,fnInit:null},print:{sAction:"print",sInfo:"<h6>Print view</h6><p>Please use your browser's print function to print this table. Press escape when finished.",sMessage:"",bShowAll:true,sToolTip:"View print view",sButtonClass:"DTTT_button_print",sButtonClassHover:"DTTT_button_print_hover",
+sButtonText:"Print",fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:null,fnComplete:null,fnInit:null},text:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Text button",mColumns:"all",bHeader:true,bFooter:true,bSelectedOnly:false,fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:null,fnComplete:null,fnInit:null},select:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",
+sButtonText:"Select button",mColumns:"all",bHeader:true,bFooter:true,fnMouseover:null,fnMouseout:null,fnClick:null,fnSelect:function(a){this.fnGetSelected().length!==0?e(a).removeClass("DTTT_disabled"):e(a).addClass("DTTT_disabled")},fnComplete:null,fnInit:function(a){e(a).addClass("DTTT_disabled")}},select_single:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Select button",mColumns:"all",bHeader:true,bFooter:true,fnMouseover:null,
+fnMouseout:null,fnClick:null,fnSelect:function(a){this.fnGetSelected().length==1?e(a).removeClass("DTTT_disabled"):e(a).addClass("DTTT_disabled")},fnComplete:null,fnInit:function(a){e(a).addClass("DTTT_disabled")}},select_all:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Select all",mColumns:"all",bHeader:true,bFooter:true,fnMouseover:null,fnMouseout:null,fnClick:function(){this.fnSelectAll()},fnSelect:function(a){this.fnGetSelected().length==
+this.s.dt.fnRecordsDisplay()?e(a).addClass("DTTT_disabled"):e(a).removeClass("DTTT_disabled")},fnComplete:null,fnInit:null},select_none:{sAction:"text",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Deselect all",mColumns:"all",bHeader:true,bFooter:true,fnMouseover:null,fnMouseout:null,fnClick:function(){this.fnSelectNone()},fnSelect:function(a){this.fnGetSelected().length!==0?e(a).removeClass("DTTT_disabled"):e(a).addClass("DTTT_disabled")},fnComplete:null,
+fnInit:function(a){e(a).addClass("DTTT_disabled")}},ajax:{sAction:"text",sFieldBoundary:"",sFieldSeperator:"\t",sNewLine:"\n",sAjaxUrl:"/xhr.php",sToolTip:"",sButtonClass:"DTTT_button_text",sButtonClassHover:"DTTT_button_text_hover",sButtonText:"Ajax button",mColumns:"all",bHeader:true,bFooter:true,bSelectedOnly:false,fnMouseover:null,fnMouseout:null,fnClick:function(a,b){a=this.fnGetTableData(b);e.ajax({url:b.sAjaxUrl,data:[{name:"tableData",value:a}],success:b.fnAjaxComplete,dataType:"json",type:"POST",
+cache:false,error:function(){alert("Error detected when sending table data to server")}})},fnSelect:null,fnComplete:null,fnInit:null,fnAjaxComplete:function(){alert("Ajax complete")}},collection:{sAction:"collection",sToolTip:"",sButtonClass:"DTTT_button_collection",sButtonClassHover:"DTTT_button_collection_hover",sButtonText:"Collection",fnMouseover:null,fnMouseout:null,fnClick:function(a,b){this._fnCollectionShow(a,b)},fnSelect:null,fnComplete:null,fnInit:null}};TableTools.DEFAULTS={sSwfPath:"media/swf/copy_cvs_xls_pdf.swf",
+sRowSelect:"none",sSelectedClass:"DTTT_selected",fnPreRowSelect:null,fnRowSelected:null,fnRowDeselected:null,aButtons:["copy","csv","xls","pdf","print"]};TableTools.prototype.CLASS="TableTools";TableTools.VERSION="2.0.1";TableTools.prototype.VERSION=TableTools.VERSION;typeof e.fn.dataTable=="function"&&typeof e.fn.dataTableExt.fnVersionCheck=="function"&&e.fn.dataTableExt.fnVersionCheck("1.7.0")?e.fn.dataTableExt.aoFeatures.push({fnInit:function(a){a=new TableTools(a.oInstance,typeof a.oInit.oTableTools!=
+"undefined"?a.oInit.oTableTools:{});TableTools._aInstances.push(a);return a.dom.container},cFeature:"T",sFeature:"TableTools"}):alert("Warning: TableTools 2 requires DataTables 1.7 or greater - www.datatables.net/download")})(jQuery,window,document);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/ZeroClipboard.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/ZeroClipboard.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/media/js/ZeroClipboard.js	(revision 6286)
@@ -0,0 +1,365 @@
+// Simple Set Clipboard System
+// Author: Joseph Huckaby
+
+var ZeroClipboard = {
+	
+	version: "1.0.4-TableTools2",
+	clients: {}, // registered upload clients on page, indexed by id
+	moviePath: '', // URL to movie
+	nextId: 1, // ID of next movie
+	
+	$: function(thingy) {
+		// simple DOM lookup utility function
+		if (typeof(thingy) == 'string') thingy = document.getElementById(thingy);
+		if (!thingy.addClass) {
+			// extend element with a few useful methods
+			thingy.hide = function() { this.style.display = 'none'; };
+			thingy.show = function() { this.style.display = ''; };
+			thingy.addClass = function(name) { this.removeClass(name); this.className += ' ' + name; };
+			thingy.removeClass = function(name) {
+				this.className = this.className.replace( new RegExp("\\s*" + name + "\\s*"), " ").replace(/^\s+/, '').replace(/\s+$/, '');
+			};
+			thingy.hasClass = function(name) {
+				return !!this.className.match( new RegExp("\\s*" + name + "\\s*") );
+			}
+		}
+		return thingy;
+	},
+	
+	setMoviePath: function(path) {
+		// set path to ZeroClipboard.swf
+		this.moviePath = path;
+	},
+	
+	dispatch: function(id, eventName, args) {
+		// receive event from flash movie, send to client		
+		var client = this.clients[id];
+		if (client) {
+			client.receiveEvent(eventName, args);
+		}
+	},
+	
+	register: function(id, client) {
+		// register new client to receive events
+		this.clients[id] = client;
+	},
+	
+	getDOMObjectPosition: function(obj) {
+		// get absolute coordinates for dom element
+		var info = {
+			left: 0, 
+			top: 0, 
+			width: obj.width ? obj.width : obj.offsetWidth, 
+			height: obj.height ? obj.height : obj.offsetHeight
+		};
+		
+		if ( obj.style.width != "" )
+			info.width = obj.style.width.replace("px","");
+		
+		if ( obj.style.height != "" )
+			info.height = obj.style.height.replace("px","");
+
+		while (obj) {
+			info.left += obj.offsetLeft;
+			info.top += obj.offsetTop;
+			obj = obj.offsetParent;
+		}
+
+		return info;
+	},
+	
+	Client: function(elem) {
+		// constructor for new simple upload client
+		this.handlers = {};
+		
+		// unique ID
+		this.id = ZeroClipboard.nextId++;
+		this.movieId = 'ZeroClipboardMovie_' + this.id;
+		
+		// register client with singleton to receive flash events
+		ZeroClipboard.register(this.id, this);
+		
+		// create movie
+		if (elem) this.glue(elem);
+	}
+};
+
+ZeroClipboard.Client.prototype = {
+	
+	id: 0, // unique ID for us
+	ready: false, // whether movie is ready to receive events or not
+	movie: null, // reference to movie object
+	clipText: '', // text to copy to clipboard
+	fileName: '', // default file save name
+	action: 'copy', // action to perform
+	handCursorEnabled: true, // whether to show hand cursor, or default pointer cursor
+	cssEffects: true, // enable CSS mouse effects on dom container
+	handlers: null, // user event handlers
+	sized: false,
+	
+	glue: function(elem, title) {
+		// glue to DOM element
+		// elem can be ID or actual DOM element object
+		this.domElement = ZeroClipboard.$(elem);
+		
+		// float just above object, or zIndex 99 if dom element isn't set
+		var zIndex = 99;
+		if (this.domElement.style.zIndex) {
+			zIndex = parseInt(this.domElement.style.zIndex) + 1;
+		}
+		
+		// find X/Y position of domElement
+		var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
+		
+		// create floating DIV above element
+		this.div = document.createElement('div');
+		var style = this.div.style;
+		style.position = 'absolute';
+		style.left = (this.domElement.offsetLeft)+'px';
+		//style.left = (this.domElement.offsetLeft+2)+'px';
+		style.top = this.domElement.offsetTop+'px';
+		style.width = (box.width) + 'px';
+		//style.width = (box.width-4) + 'px';
+		style.height = box.height + 'px';
+		style.zIndex = zIndex;
+		if ( typeof title != "undefined" && title != "" ) {
+			this.div.title = title;
+		}
+		if ( box.width != 0 && box.height != 0 ) {
+			this.sized = true;
+		}
+		
+		// style.backgroundColor = '#f00'; // debug
+		this.domElement.parentNode.appendChild(this.div);
+		
+		this.div.innerHTML = this.getHTML( box.width, box.height );
+	},
+	
+	positionElement: function() {
+		var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
+		var style = this.div.style;
+		
+		style.position = 'absolute';
+		style.left = (this.domElement.offsetLeft)+'px';
+		style.top = this.domElement.offsetTop+'px';
+		style.width = box.width + 'px';
+		style.height = box.height + 'px';
+		
+		if ( box.width != 0 && box.height != 0 ) {
+			this.sized = true;
+		}
+		
+		var flash = this.div.childNodes[0];
+		flash.width = box.width;
+		flash.height = box.height;
+	},
+	
+	getHTML: function(width, height) {
+		// return HTML for movie
+		var html = '';
+		var flashvars = 'id=' + this.id + 
+			'&width=' + width + 
+			'&height=' + height;
+			
+		if (navigator.userAgent.match(/MSIE/)) {
+			// IE gets an OBJECT tag
+			var protocol = location.href.match(/^https/i) ? 'https://' : 'http://';
+			html += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+protocol+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="'+width+'" height="'+height+'" id="'+this.movieId+'" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="'+ZeroClipboard.moviePath+'" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="'+flashvars+'"/><param name="wmode" value="transparent"/></object>';
+		}
+		else {
+			// all other browsers get an EMBED tag
+			html += '<embed id="'+this.movieId+'" src="'+ZeroClipboard.moviePath+'" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="'+width+'" height="'+height+'" name="'+this.movieId+'" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="'+flashvars+'" wmode="transparent" />';
+		}
+		return html;
+	},
+	
+	hide: function() {
+		// temporarily hide floater offscreen
+		if (this.div) {
+			this.div.style.left = '-2000px';
+		}
+	},
+	
+	show: function() {
+		// show ourselves after a call to hide()
+		this.reposition();
+	},
+	
+	destroy: function() {
+		// destroy control and floater
+		if (this.domElement && this.div) {
+			this.hide();
+			this.div.innerHTML = '';
+			
+			var body = document.getElementsByTagName('body')[0];
+			try { body.removeChild( this.div ); } catch(e) {;}
+			
+			this.domElement = null;
+			this.div = null;
+		}
+	},
+	
+	reposition: function(elem) {
+		// reposition our floating div, optionally to new container
+		// warning: container CANNOT change size, only position
+		if (elem) {
+			this.domElement = ZeroClipboard.$(elem);
+			if (!this.domElement) this.hide();
+		}
+		
+		if (this.domElement && this.div) {
+			var box = ZeroClipboard.getDOMObjectPosition(this.domElement);
+			var style = this.div.style;
+			style.left = '' + box.left + 'px';
+			style.top = '' + box.top + 'px';
+		}
+	},
+	
+	clearText: function() {
+		// clear the text to be copy / saved
+		this.clipText = '';
+		if (this.ready) this.movie.clearText();
+	},
+	
+	appendText: function(newText) {
+		// append text to that which is to be copied / saved
+		this.clipText += newText;
+		if (this.ready) { this.movie.appendText(newText) ;}
+	},
+	
+	setText: function(newText) {
+		// set text to be copied to be copied / saved
+		this.clipText = newText;
+		if (this.ready) { this.movie.setText(newText) ;}
+	},
+	
+	setCharSet: function(charSet) {
+		// set the character set (UTF16LE or UTF8)
+		this.charSet = charSet;
+		if (this.ready) { this.movie.setCharSet(charSet) ;}
+	},
+	
+	setBomInc: function(bomInc) {
+		// set if the BOM should be included or not
+		this.incBom = bomInc;
+		if (this.ready) { this.movie.setBomInc(bomInc) ;}
+	},
+	
+	setFileName: function(newText) {
+		// set the file name
+		this.fileName = newText;
+		if (this.ready) this.movie.setFileName(newText);
+	},
+	
+	setAction: function(newText) {
+		// set action (save or copy)
+		this.action = newText;
+		if (this.ready) this.movie.setAction(newText);
+	},
+	
+	addEventListener: function(eventName, func) {
+		// add user event listener for event
+		// event types: load, queueStart, fileStart, fileComplete, queueComplete, progress, error, cancel
+		eventName = eventName.toString().toLowerCase().replace(/^on/, '');
+		if (!this.handlers[eventName]) this.handlers[eventName] = [];
+		this.handlers[eventName].push(func);
+	},
+	
+	setHandCursor: function(enabled) {
+		// enable hand cursor (true), or default arrow cursor (false)
+		this.handCursorEnabled = enabled;
+		if (this.ready) this.movie.setHandCursor(enabled);
+	},
+	
+	setCSSEffects: function(enabled) {
+		// enable or disable CSS effects on DOM container
+		this.cssEffects = !!enabled;
+	},
+	
+	receiveEvent: function(eventName, args) {
+		// receive event from flash
+		eventName = eventName.toString().toLowerCase().replace(/^on/, '');
+		
+		// special behavior for certain events
+		switch (eventName) {
+			case 'load':
+				// movie claims it is ready, but in IE this isn't always the case...
+				// bug fix: Cannot extend EMBED DOM elements in Firefox, must use traditional function
+				this.movie = document.getElementById(this.movieId);
+				if (!this.movie) {
+					var self = this;
+					setTimeout( function() { self.receiveEvent('load', null); }, 1 );
+					return;
+				}
+				
+				// firefox on pc needs a "kick" in order to set these in certain cases
+				if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) {
+					var self = this;
+					setTimeout( function() { self.receiveEvent('load', null); }, 100 );
+					this.ready = true;
+					return;
+				}
+				
+				this.ready = true;
+				this.movie.clearText();
+				this.movie.appendText( this.clipText );
+				this.movie.setFileName( this.fileName );
+				this.movie.setAction( this.action );
+				this.movie.setCharSet( this.charSet );
+				this.movie.setBomInc( this.incBom );
+				this.movie.setHandCursor( this.handCursorEnabled );
+				break;
+			
+			case 'mouseover':
+				if (this.domElement && this.cssEffects) {
+					//this.domElement.addClass('hover');
+					if (this.recoverActive) this.domElement.addClass('active');
+				}
+				break;
+			
+			case 'mouseout':
+				if (this.domElement && this.cssEffects) {
+					this.recoverActive = false;
+					if (this.domElement.hasClass('active')) {
+						this.domElement.removeClass('active');
+						this.recoverActive = true;
+					}
+					//this.domElement.removeClass('hover');
+				}
+				break;
+			
+			case 'mousedown':
+				if (this.domElement && this.cssEffects) {
+					this.domElement.addClass('active');
+				}
+				break;
+			
+			case 'mouseup':
+				if (this.domElement && this.cssEffects) {
+					this.domElement.removeClass('active');
+					this.recoverActive = false;
+				}
+				break;
+		} // switch eventName
+		
+		if (this.handlers[eventName]) {
+			for (var idx = 0, len = this.handlers[eventName].length; idx < len; idx++) {
+				var func = this.handlers[eventName][idx];
+			
+				if (typeof(func) == 'function') {
+					// actual function reference
+					func(this, args);
+				}
+				else if ((typeof(func) == 'object') && (func.length == 2)) {
+					// PHP style object + method, i.e. [myObject, 'myMethod']
+					func[0][ func[1] ](this, args);
+				}
+				else if (typeof(func) == 'string') {
+					// name of function
+					window[func](this, args);
+				}
+			} // foreach event handler defined
+		} // user defined handler for event
+	}
+	
+};
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/multi_instance.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/multi_instance.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/multi_instance.html	(revision 6286)
@@ -0,0 +1,498 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip<"clear spacer">T'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - multiple toolbars
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Like all DataTables control elements, TableTools can have multiple instances specified in the <i>sDom</i> parameter of DataTables. This will create two TableTools toolbars next to the table, providing the same functions. An example of when this might be useful is to show the toolbar both above and below the table - as is done in this example.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip&lt;"clear spacer"&gt;T'
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/multiple_tables.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/multiple_tables.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/multiple_tables.html	(revision 6286)
@@ -0,0 +1,295 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('table.display').dataTable( {
+					"sDom": 'T<"clear">lfrtip'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - multiple tables
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how multiple tables can be initialised with DataTables and TableTools in a single call to the $().dataTable() function. Basically it works as you would expect - no special considerations need be made!</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+</table>
+
+
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip'
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/pdf_message.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/pdf_message.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/pdf_message.html	(revision 6286)
@@ -0,0 +1,523 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"aButtons": [
+							"copy",
+							"csv",
+							"xls",
+							{
+								"sExtends": "pdf",
+								"sPdfOrientation": "landscape",
+								"sPdfMessage": "Your custom message would go here."
+							},
+							"print"
+						]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows how you can add a message to the saved PDF using the 'sPdfMessage' parameter. It also shows that the orientation of the output PDF can be changed to landscape which is useful if you have a lot of columns.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"aButtons": [
+				"copy",
+				"csv",
+				"xls",
+				{
+					"sExtends": "pdf",
+					"sPdfOrientation": "landscape",
+					"sPdfMessage": "Your custom message would go here."
+				}
+				"print"
+			]
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/plug-in.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/plug-in.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/plug-in.html	(revision 6286)
@@ -0,0 +1,565 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			TableTools.BUTTONS.copy_to_div = {
+				"sAction": "text",
+				"sFieldBoundary": "",
+				"sFieldSeperator": "\t",
+				"sNewLine": "<br>",
+				"sToolTip": "",
+				"sButtonClass": "DTTT_button_text",
+				"sButtonClassHover": "DTTT_button_text_hover",
+				"sButtonText": "Copy to element",
+				"mColumns": "all",
+				"bHeader": true,
+				"bFooter": true,
+				"sDiv": "",
+				"fnMouseover": null,
+				"fnMouseout": null,
+				"fnClick": function( nButton, oConfig ) {
+					document.getElementById(oConfig.sDiv).innerHTML = 
+						this.fnGetTableData(oConfig);
+				},
+				"fnSelect": null,
+				"fnComplete": null,
+				"fnInit": null
+			};
+			
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"aButtons": [
+							{
+								"sExtends":    "copy_to_div",
+								"sButtonText": "Copy to div",
+								"sDiv":        "copy",
+							}
+						]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - plug-ins
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Plug-ins in TableTools take the form of additional buttons types, which provide extra options and flexibility for TableTools. This example shows how a plug-in button type can be defined then used in the TableTools initialisation. Plug-ins for TableTools can be found <a href="http://datatables.net/extras/tabletools/plug-ins">on the DataTables.net site</a>. The example plug-in here shows a button which is used to insert the data from the table into a given element.</p>
+			
+			<h1>Live example</h1>
+			
+			<div id="copy" class="box" style="height: 100px; overflow: auto"></div>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>TableTools.BUTTONS.copy_to_div = {
+	"sAction": "text",
+	"sFieldBoundary": "",
+	"sFieldSeperator": "\t",
+	"sNewLine": "&lt;br&gt;",
+	"sToolTip": "",
+	"sButtonClass": "DTTT_button_text",
+	"sButtonClassHover": "DTTT_button_text_hover",
+	"sButtonText": "Copy to element",
+	"mColumns": "all",
+	"bHeader": true,
+	"bFooter": true,
+	"sDiv": "",
+	"fnMouseover": null,
+	"fnMouseout": null,
+	"fnClick": function( nButton, oConfig ) {
+		document.getElementById(oConfig.sDiv).innerHTML = 
+			this.fnGetTableData(oConfig);
+	},
+	"fnSelect": null,
+	"fnComplete": null,
+	"fnInit": null
+};
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"aButtons": [
+				{
+					"sExtends":    "copy_to_div",
+					"sButtonText": "Copy to div",
+					"sDiv":        "copy",
+				}
+			]
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/select_multi.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/select_multi.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/select_multi.html	(revision 6286)
@@ -0,0 +1,506 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"sRowSelect": "multi",
+						"aButtons": [ "select_all", "select_none" ]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - multi-row select
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>As well as providing a button toolbar, TableTools provides everything needed to have selectable rows in the table. Row selection is turned off by default in TableTools, but can be enabled using the <i>sRowSelect</i> parameter, set to either 'multi' or 'single'. When set the end user can select rows by simply clicking on them. TableTools provides <a href="http://datatables.net/extras/tabletools/api">a set of API methods</a> and <a href="http://datatables.net/extras/tabletools/initialisation">callbacks</a> for controlling and monitoring the row selection in TableTools. There are also a number of <a href="http://datatables.net/extras/tabletools/buttons">pre-defined buttons</a> to provide functions such as select-all and select-none, as shown in this example.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"sRowSelect": "multi",
+			"aButtons": [ "select_all", "select_none" ]
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/select_single.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/select_single.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/select_single.html	(revision 6286)
@@ -0,0 +1,504 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"sRowSelect": "single"
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - single row selection
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>As well as providing a button toolbar, TableTools provides everything needed to have selectable rows in the table. Row selection is turned off by default in TableTools, but can be enabled using the <i>sRowSelect</i> parameter, set to either 'multi' or 'single'. When set the end user can select rows by simply clicking on them. TableTools provides <a href="http://datatables.net/extras/tabletools/api">a set of API methods</a> and <a href="http://datatables.net/extras/tabletools/initialisation">callbacks</a> for controlling and monitoring the row selection in TableTools. This example shows single row selection enabled.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"sRowSelect": "single"
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/swf_path.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/swf_path.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/swf_path.html	(revision 6286)
@@ -0,0 +1,504 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table.css";
+			@import "media/css/TableTools.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"sDom": 'T<"clear">lfrtip',
+					"oTableTools": {
+						"sSwfPath": "media/swf/copy_cvs_xls_pdf.swf"
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - setting SWF path
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>TableTools uses a Flash SWF file to provide the ability to copy text to the system clipboard and save files locally. TableTools must be able to load the SWF file in order to provide these facilities. If you aren't using the same directory structure as the TableTools package, you will need to set this parameter.</p>
+			<p>Note that TableTools ships with two different SWF files - the only difference between them is that one of them provides the ability to save PDF files while the other doesn't. The trade off is that the PDF capable file is significantly larger in size (56K v 2K).</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip',
+		"oTableTools": {
+			"sSwfPath": "media/swf/copy_cvs_xls_pdf.swf"
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/tabs.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/tabs.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/tabs.html	(revision 6286)
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../../examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+			@import "media/css/TableTools_JUI.css";
+			.ui-tabs .ui-tabs-panel { padding: 10px }
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../examples/examples_support/jquery-ui-tabs.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				$("#tabs").tabs( {
+					"show": function(event, ui) {
+						var jqTable = $('table.display', ui.panel);
+						if ( jqTable.length > 0 ) {
+							var oTableTools = TableTools.fnGetInstance( jqTable[0] );
+							if ( oTableTools != null && oTableTools.fnResizeRequired() )
+							{
+								/* A resize of TableTools' buttons and DataTables' columns is only required on the
+								 * first visible draw of the table
+								 */
+								jqTable.dataTable().fnAdjustColumnSizing();
+								oTableTools.fnResizeButtons();
+							}
+						}
+					}
+				} );
+				
+				$('#example1').dataTable( {
+					"bJQueryUI": true,
+					"sPaginationType": "full_numbers",
+					"sDom": '<"H"Tfr>t<"F"ip>'
+				} );
+				
+				$('#example2').dataTable( {
+					"bJQueryUI": true,
+					"sPaginationType": "full_numbers",
+					"sDom": '<"H"Tfr>t<"F"ip>'
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>This example shows the basic initialisation of TableTools by simply including the 'T' marker in DataTables' sDom parameter. This tell DataTables to insert the TableTools toolbar in that location. Remember to include the Javascript and CSS source files as well!</p>
+			<p>It is worth noting that you might need to <a href="swf_path.html">set the <i>sSwfPath</i> parameter</a> to tell TableTools where to find the SWF file for copy and file save.</p>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+				<div id="tabs">
+					<ul>
+						<li><a href="#tabs-1">Trident browsers</a></li>
+						<li><a href="#tabs-2">Gecko browsers</a></li>
+					</ul>
+					
+					<div id="tabs-1">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example1">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+	<tbody>
+</table>
+					</div>
+
+
+					<div id="tabs-2">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>Grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+</table>
+					</div>
+				</div>
+			</div>
+			<div class="spacer"></div>
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"sDom": 'T&lt;"clear"&gt;lfrtip'
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/theme.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/theme.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/TableTools/theme.html	(revision 6286)
@@ -0,0 +1,523 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8">
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico">
+		
+		<title>TableTools example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../media/css/demo_page.css";
+			@import "../../media/css/demo_table_jui.css";
+			@import "../../examples/examples_support/themes/smoothness/jquery-ui-1.8.4.custom.css";
+			@import "media/css/TableTools_JUI.css";
+		</style>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8" src="../../media/js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/ZeroClipboard.js"></script>
+		<script type="text/javascript" charset="utf-8" src="media/js/TableTools.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#example').dataTable( {
+					"bJQueryUI": true,
+					"sPaginationType": "full_numbers",
+					"sDom": '<"H"Tfr>t<"F"ip>',
+					"oTableTools": {
+						"aButtons": [
+							"copy", "csv", "xls", "pdf",
+							{
+								"sExtends":    "collection",
+								"sButtonText": "Save",
+								"aButtons":    [ "csv", "xls", "pdf" ]
+							}
+						]
+					}
+				} );
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				TableTools example - jQuery UI theming
+			</div>
+			
+			<h1>Preamble</h1>
+			<p>Like DataTables, TableTools can be styled by a jQuery UI theme. The required classes for the theming with TableTools are added automatically when the <i>bJQueryUI</i> option is detected from DataTables. This example shows that in action, and also defines a button collection to show the themeing there.</p>
+			
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+	<tbody>
+		<tr class="odd_gradeX">
+			<td>Trident</td>
+			<td>Internet Explorer 4.0</td>
+			<td>Win 95+ (Entity: &amp;)</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Trident</td>
+			<td>Internet Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko (UTF-8: $Â¢â¬)</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="even_gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="odd_gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="even_gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="odd_gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<h1>Initialisation code</h1>
+			<pre>$(document).ready( function () {
+	$('#example').dataTable( {
+		"bJQueryUI": true,
+		"sPaginationType": "full_numbers",
+		"sDom": '&lt;"H"Tfr&gt;t&lt;"F"ip&gt;',
+		"oTableTools": {
+			"aButtons": [
+				"copy", "csv", "xls", "pdf",
+				{
+					"sExtends":    "collection",
+					"sButtonText": "Save",
+					"aButtons":    [ "csv", "xls", "pdf" ]
+				}
+			]
+		}
+	} );
+} );</pre>
+
+
+			<h1>Other examples</h1>
+			<ul>
+				<li><a href="index.html">Basic initialisation</a></li>
+				<li><a href="swf_path.html">Setting the SWF path</a></li>
+				<li><a href="alter_buttons.html">Custom button arrangement</a></li>
+				<li><a href="button_text.html">Button text alteration</a></li>
+				<li><a href="collection.html">Using button collections</a></li>
+				<li><a href="theme.html">Using jQuery UI themes</a></li>
+				<li><a href="multi_instance.html">Multiple TableTools toolbars for a single table</a></li>
+				<li><a href="multiple_tables.html">Multiple DataTables with a single initialisation</a></li>
+				<li><a href="select_multi.html">User selectable rows (multiple rows)</a></li>
+				<li><a href="select_single.html">User selectable rows (single row)</a></li>
+				<li><a href="alt_init.html">Alternative initialisation using 'new TableTools()'</a></li>
+				<li><a href="defaults.html">Altering the TableTools defaults</a></li>
+				<li><a href="plug-in.html">TableTools plug-in buttons</a></li>
+				<li><a href="pdf_message.html">Customising the PDF output (adding text and orientation)</a></li>
+			</ul>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					TableTools and DataTables &copy; Allan Jardine 2009-2011.<br>
+					Flash 10 save / copy operations are performed by a modified version of <a href="http://code.google.com/p/zeroclipboard/">Zero Clipboard</a>.<br>
+					The icons used in the toolbar are modified from <a href="http://www.addictedtocoffee.de/">Oliver Twardowski's</a> <a href="http://www.smashingmagazine.com/2009/05/20/flavour-extended-the-ultimate-icon-set-for-web-designers/">Flavours Icon set</a>.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/license-bsd.txt
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/license-bsd.txt	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/license-bsd.txt	(revision 6286)
@@ -0,0 +1,10 @@
+Copyright (c) 2008-2010, Allan Jardine
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+    * Neither the name of Allan Jardine nor SpryMedia UK may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/license-gpl2.txt
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/license-gpl2.txt	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/license-gpl2.txt	(revision 6286)
@@ -0,0 +1,339 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_page.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_page.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_page.css	(revision 6286)
@@ -0,0 +1,93 @@
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * General page setup
+ */
+#dt_example {
+	font: 80%/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
+	margin: 0;
+	padding: 0;
+	color: #333;
+	background-color: #fff;
+}
+
+
+#dt_example #container {
+	width: 800px;
+	margin: 30px auto;
+	padding: 0;
+}
+
+
+#dt_example #footer {
+	margin: 50px auto 0 auto;
+	padding: 0;
+}
+
+#dt_example #demo {
+	margin: 30px auto 0 auto;
+}
+
+#dt_example .demo_jui {
+	margin: 30px auto 0 auto;
+}
+
+#dt_example .big {
+	font-size: 1.3em;
+	font-weight: bold;
+	line-height: 1.6em;
+	color: #4E6CA3;
+}
+
+#dt_example .spacer {
+	height: 20px;
+	clear: both;
+}
+
+#dt_example .clear {
+	clear: both;
+}
+
+#dt_example pre {
+	padding: 15px;
+	background-color: #F5F5F5;
+	border: 1px solid #CCCCCC;
+}
+
+#dt_example h1 {
+	margin-top: 2em;
+	font-size: 1.3em;
+	font-weight: normal;
+	line-height: 1.6em;
+	color: #4E6CA3;
+	border-bottom: 1px solid #B0BED9;
+	clear: both;
+}
+
+#dt_example h2 {
+	font-size: 1.2em;
+	font-weight: normal;
+	line-height: 1.6em;
+	color: #4E6CA3;
+	clear: both;
+}
+
+#dt_example a {
+	color: #0063DC;
+	text-decoration: none;
+}
+
+#dt_example a:hover {
+	text-decoration: underline;
+}
+
+#dt_example ul {
+	color: #4E6CA3;
+}
+
+.css_right {
+	float: right;
+}
+
+.css_left {
+	float: left;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_table.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_table.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_table.css	(revision 6286)
@@ -0,0 +1,538 @@
+/*
+ *  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;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_table_jui.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_table_jui.css	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/css/demo_table_jui.css	(revision 6286)
@@ -0,0 +1,521 @@
+/*
+ *  File:         demo_table_jui.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.
+ */
+
+
+/*
+ * jQuery UI specific styling
+ */
+
+.paging_two_button .ui-button {
+	float: left;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+.paging_full_numbers .ui-button {
+	padding: 2px 6px;
+	margin: 0;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+.dataTables_paginate .ui-button {
+	margin-right: -0.1em !important;
+}
+
+.paging_full_numbers {
+	width: 350px !important;
+}
+
+.dataTables_wrapper .ui-toolbar {
+	padding: 5px;
+}
+
+.dataTables_paginate {
+	width: auto;
+}
+
+.dataTables_info {
+	padding-top: 3px;
+}
+
+table.display thead th {
+	padding: 3px 0px 3px 10px;
+	cursor: pointer;
+	* cursor: hand;
+}
+
+div.dataTables_wrapper .ui-widget-header {
+	font-weight: normal;
+}
+
+
+/*
+ * Sort arrow icon positioning
+ */
+table.display thead th div.DataTables_sort_wrapper {
+	position: relative;
+	padding-right: 20px;
+	padding-right: 20px;
+}
+
+table.display thead th div.DataTables_sort_wrapper span {
+	position: absolute;
+	top: 50%;
+	margin-top: -8px;
+	right: 0;
+}
+
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Everything below this line is the same as demo_table.css. This file is
+ * required for 'cleanliness' of the markup
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * DataTables features
+ */
+
+.dataTables_wrapper {
+	position: relative;
+	min-height: 302px;
+	_height: 302px;
+	clear: both;
+}
+
+.dataTables_processing {
+	position: absolute;
+	top: 0px;
+	left: 50%;
+	width: 250px;
+	margin-left: -125px;
+	border: 1px solid #ddd;
+	text-align: center;
+	color: #999;
+	font-size: 11px;
+	padding: 2px 0;
+}
+
+.dataTables_length {
+	width: 40%;
+	float: left;
+}
+
+.dataTables_filter {
+	width: 50%;
+	float: right;
+	text-align: right;
+}
+
+.dataTables_info {
+	width: 50%;
+	float: left;
+}
+
+.dataTables_paginate {
+	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;
+	border-collapse: collapse;
+}
+
+table.display tfoot th {
+	padding: 3px 0px 3px 10px;
+	font-weight: bold;
+	font-weight: normal;
+}
+
+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
+ */
+.dataTables_scroll {
+	clear: both;
+}
+
+.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 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;
+}
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.dataTables.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.dataTables.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.dataTables.js	(revision 6286)
@@ -0,0 +1,6862 @@
+/*
+ * File:        jquery.dataTables.js
+ * Version:     1.7.6
+ * Description: Paginate, search and sort HTML tables
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     28/3/2008
+ * Language:    Javascript
+ * License:     GPL v2 or BSD 3 point style
+ * Project:     Mtaala
+ * Contact:     allan.jardine@sprymedia.co.uk
+ * 
+ * Copyright 2008-2010 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ * 
+ * For details please refer to: http://www.datatables.net
+ */
+
+/*
+ * When considering jsLint, we need to allow eval() as it it is used for reading cookies and 
+ * building the dynamic multi-column sort functions.
+ */
+/*jslint evil: true, undef: true, browser: true */
+/*globals $, jQuery,_fnExternApiFunc,_fnInitalise,_fnInitComplete,_fnLanguageProcess,_fnAddColumn,_fnColumnOptions,_fnAddData,_fnGatherData,_fnDrawHead,_fnDraw,_fnReDraw,_fnAjaxUpdate,_fnAjaxUpdateDraw,_fnAddOptionsHtml,_fnFeatureHtmlTable,_fnScrollDraw,_fnAjustColumnSizing,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnBuildSearchArray,_fnBuildSearchRow,_fnFilterCreateSearch,_fnDataToSearch,_fnSort,_fnSortAttachListener,_fnSortingClasses,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnFeatureHtmlLength,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnNodeToDataIndex,_fnVisbleColumns,_fnCalculateEnd,_fnConvertToWidth,_fnCalculateColumnWidths,_fnScrollingWidthAdjust,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnArrayCmp,_fnDetectType,_fnSettingsFromNode,_fnGetDataMaster,_fnGetTrNodes,_fnGetTdNodes,_fnEscapeRegex,_fnDeleteIndex,_fnReOrderIndex,_fnColumnOrdering,_fnLog,_fnClearTable,_fnSaveState,_fnLoadState,_fnCreateCookie,_fnReadCookie,_fnGetUniqueThs,_fnScrollBarWidth,_fnApplyToChildren,_fnMap*/
+
+(function($, window, document) {
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Section - DataTables variables
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/*
+	 * Variable: dataTableSettings
+	 * Purpose:  Store the settings for each dataTables instance
+	 * Scope:    jQuery.fn
+	 */
+	$.fn.dataTableSettings = [];
+	var _aoSettings = $.fn.dataTableSettings; /* Short reference for fast internal lookup */
+	
+	/*
+	 * Variable: dataTableExt
+	 * Purpose:  Container for customisable parts of DataTables
+	 * Scope:    jQuery.fn
+	 */
+	$.fn.dataTableExt = {};
+	var _oExt = $.fn.dataTableExt;
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Section - DataTables extensible objects
+	 * 
+	 * The _oExt object is used to provide an area where user dfined plugins can be 
+	 * added to DataTables. The following properties of the object are used:
+	 *   oApi - Plug-in API functions
+	 *   aTypes - Auto-detection of types
+	 *   oSort - Sorting functions used by DataTables (based on the type)
+	 *   oPagination - Pagination functions for different input styles
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/*
+	 * Variable: sVersion
+	 * Purpose:  Version string for plug-ins to check compatibility
+	 * Scope:    jQuery.fn.dataTableExt
+	 * Notes:    Allowed format is a.b.c.d.e where:
+	 *   a:int, b:int, c:int, d:string(dev|beta), e:int. d and e are optional
+	 */
+	_oExt.sVersion = "1.7.6";
+	
+	/*
+	 * Variable: sErrMode
+	 * Purpose:  How should DataTables report an error. Can take the value 'alert' or 'throw'
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt.sErrMode = "alert";
+	
+	/*
+	 * Variable: iApiIndex
+	 * Purpose:  Index for what 'this' index API functions should use
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt.iApiIndex = 0;
+	
+	/*
+	 * Variable: oApi
+	 * Purpose:  Container for plugin API functions
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt.oApi = { };
+	
+	/*
+	 * Variable: aFiltering
+	 * Purpose:  Container for plugin filtering functions
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt.afnFiltering = [ ];
+	
+	/*
+	 * Variable: aoFeatures
+	 * Purpose:  Container for plugin function functions
+	 * Scope:    jQuery.fn.dataTableExt
+	 * Notes:    Array of objects with the following parameters:
+	 *   fnInit: Function for initialisation of Feature. Takes oSettings and returns node
+	 *   cFeature: Character that will be matched in sDom - case sensitive
+	 *   sFeature: Feature name - just for completeness :-)
+	 */
+	_oExt.aoFeatures = [ ];
+	
+	/*
+	 * Variable: ofnSearch
+	 * Purpose:  Container for custom filtering functions
+	 * Scope:    jQuery.fn.dataTableExt
+	 * Notes:    This is an object (the name should match the type) for custom filtering function,
+	 *   which can be used for live DOM checking or formatted text filtering
+	 */
+	_oExt.ofnSearch = { };
+	
+	/*
+	 * Variable: afnSortData
+	 * Purpose:  Container for custom sorting data source functions
+	 * Scope:    jQuery.fn.dataTableExt
+	 * Notes:    Array (associative) of functions which is run prior to a column of this 
+	 *   'SortDataType' being sorted upon.
+	 *   Function input parameters:
+	 *     object:oSettings-  DataTables settings object
+	 *     int:iColumn - Target column number
+	 *   Return value: Array of data which exactly matched the full data set size for the column to
+	 *     be sorted upon
+	 */
+	_oExt.afnSortData = [ ];
+	
+	/*
+	 * Variable: oStdClasses
+	 * Purpose:  Storage for the various classes that DataTables uses
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt.oStdClasses = {
+		/* Two buttons buttons */
+		"sPagePrevEnabled": "paginate_enabled_previous",
+		"sPagePrevDisabled": "paginate_disabled_previous",
+		"sPageNextEnabled": "paginate_enabled_next",
+		"sPageNextDisabled": "paginate_disabled_next",
+		"sPageJUINext": "",
+		"sPageJUIPrev": "",
+		
+		/* Full numbers paging buttons */
+		"sPageButton": "paginate_button",
+		"sPageButtonActive": "paginate_active",
+		"sPageButtonStaticDisabled": "paginate_button",
+		"sPageFirst": "first",
+		"sPagePrevious": "previous",
+		"sPageNext": "next",
+		"sPageLast": "last",
+		
+		/* Stripping classes */
+		"sStripOdd": "odd",
+		"sStripEven": "even",
+		
+		/* Empty row */
+		"sRowEmpty": "dataTables_empty",
+		
+		/* Features */
+		"sWrapper": "dataTables_wrapper",
+		"sFilter": "dataTables_filter",
+		"sInfo": "dataTables_info",
+		"sPaging": "dataTables_paginate paging_", /* Note that the type is postfixed */
+		"sLength": "dataTables_length",
+		"sProcessing": "dataTables_processing",
+		
+		/* Sorting */
+		"sSortAsc": "sorting_asc",
+		"sSortDesc": "sorting_desc",
+		"sSortable": "sorting", /* Sortable in both directions */
+		"sSortableAsc": "sorting_asc_disabled",
+		"sSortableDesc": "sorting_desc_disabled",
+		"sSortableNone": "sorting_disabled",
+		"sSortColumn": "sorting_", /* Note that an int is postfixed for the sorting order */
+		"sSortJUIAsc": "",
+		"sSortJUIDesc": "",
+		"sSortJUI": "",
+		"sSortJUIAscAllowed": "",
+		"sSortJUIDescAllowed": "",
+		"sSortJUIWrapper": "",
+		
+		/* Scrolling */
+		"sScrollWrapper": "dataTables_scroll",
+		"sScrollHead": "dataTables_scrollHead",
+		"sScrollHeadInner": "dataTables_scrollHeadInner",
+		"sScrollBody": "dataTables_scrollBody",
+		"sScrollFoot": "dataTables_scrollFoot",
+		"sScrollFootInner": "dataTables_scrollFootInner",
+		
+		/* Misc */
+		"sFooterTH": ""
+	};
+	
+	/*
+	 * Variable: oJUIClasses
+	 * Purpose:  Storage for the various classes that DataTables uses - jQuery UI suitable
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt.oJUIClasses = {
+		/* Two buttons buttons */
+		"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",
+		
+		/* Full numbers paging buttons */
+		"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",
+		
+		/* Stripping classes */
+		"sStripOdd": "odd",
+		"sStripEven": "even",
+		
+		/* Empty row */
+		"sRowEmpty": "dataTables_empty",
+		
+		/* Features */
+		"sWrapper": "dataTables_wrapper",
+		"sFilter": "dataTables_filter",
+		"sInfo": "dataTables_info",
+		"sPaging": "dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+
+			"ui-buttonset-multi paging_", /* Note that the type is postfixed */
+		"sLength": "dataTables_length",
+		"sProcessing": "dataTables_processing",
+		
+		/* Sorting */
+		"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_", /* Note that an int is postfixed for the sorting order */
+		"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",
+		
+		/* Scrolling */
+		"sScrollWrapper": "dataTables_scroll",
+		"sScrollHead": "dataTables_scrollHead ui-state-default",
+		"sScrollHeadInner": "dataTables_scrollHeadInner",
+		"sScrollBody": "dataTables_scrollBody",
+		"sScrollFoot": "dataTables_scrollFoot ui-state-default",
+		"sScrollFootInner": "dataTables_scrollFootInner",
+		
+		/* Misc */
+		"sFooterTH": "ui-state-default"
+	};
+	
+	/*
+	 * Variable: oPagination
+	 * Purpose:  Container for the various type of pagination that dataTables supports
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt.oPagination = {
+		/*
+		 * Variable: two_button
+		 * Purpose:  Standard two button (forward/back) pagination
+	 	 * Scope:    jQuery.fn.dataTableExt.oPagination
+		 */
+		"two_button": {
+			/*
+			 * Function: oPagination.two_button.fnInit
+			 * Purpose:  Initalise dom elements required for pagination with forward/back buttons only
+			 * Returns:  -
+	 		 * Inputs:   object:oSettings - dataTables settings object
+	     *           node:nPaging - the DIV which contains this pagination control
+			 *           function:fnCallbackDraw - draw function which must be called on update
+			 */
+			"fnInit": function ( oSettings, nPaging, fnCallbackDraw )
+			{
+				var nPrevious, nNext, nPreviousInner, nNextInner;
+				
+				/* Store the next and previous elements in the oSettings object as they can be very
+				 * usful for automation - particularly testing
+				 */
+				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).bind( 'click.DT', function() {
+					if ( oSettings.oApi._fnPageChange( oSettings, "previous" ) )
+					{
+						/* Only draw when the page has actually changed */
+						fnCallbackDraw( oSettings );
+					}
+				} );
+				
+				$(nNext).bind( 'click.DT', function() {
+					if ( oSettings.oApi._fnPageChange( oSettings, "next" ) )
+					{
+						fnCallbackDraw( oSettings );
+					}
+				} );
+				
+				/* Take the brutal approach to cancelling text selection */
+				$(nPrevious).bind( 'selectstart.DT', function () { return false; } );
+				$(nNext).bind( 'selectstart.DT', function () { return false; } );
+				
+				/* ID the first elements only */
+				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' );
+				}
+			},
+			
+			/*
+			 * Function: oPagination.two_button.fnUpdate
+			 * Purpose:  Update the two button pagination at the end of the draw
+			 * Returns:  -
+	 		 * Inputs:   object:oSettings - dataTables settings object
+			 *           function:fnCallbackDraw - draw function to call on page change
+			 */
+			"fnUpdate": function ( oSettings, fnCallbackDraw )
+			{
+				if ( !oSettings.aanFeatures.p )
+				{
+					return;
+				}
+				
+				/* Loop over each instance of the pager */
+				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;
+					}
+				}
+			}
+		},
+		
+		
+		/*
+		 * Variable: iFullNumbersShowPages
+		 * Purpose:  Change the number of pages which can be seen
+	 	 * Scope:    jQuery.fn.dataTableExt.oPagination
+		 */
+		"iFullNumbersShowPages": 5,
+		
+		/*
+		 * Variable: full_numbers
+		 * Purpose:  Full numbers pagination
+	 	 * Scope:    jQuery.fn.dataTableExt.oPagination
+		 */
+		"full_numbers": {
+			/*
+			 * Function: oPagination.full_numbers.fnInit
+			 * Purpose:  Initalise dom elements required for pagination with a list of the pages
+			 * Returns:  -
+	 		 * Inputs:   object:oSettings - dataTables settings object
+	     *           node:nPaging - the DIV which contains this pagination control
+			 *           function:fnCallbackDraw - draw function which must be called on update
+			 */
+			"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).bind( 'click.DT', function () {
+					if ( oSettings.oApi._fnPageChange( oSettings, "first" ) )
+					{
+						fnCallbackDraw( oSettings );
+					}
+				} );
+				
+				$(nPrevious).bind( 'click.DT', function() {
+					if ( oSettings.oApi._fnPageChange( oSettings, "previous" ) )
+					{
+						fnCallbackDraw( oSettings );
+					}
+				} );
+				
+				$(nNext).bind( 'click.DT', function() {
+					if ( oSettings.oApi._fnPageChange( oSettings, "next" ) )
+					{
+						fnCallbackDraw( oSettings );
+					}
+				} );
+				
+				$(nLast).bind( 'click.DT', function() {
+					if ( oSettings.oApi._fnPageChange( oSettings, "last" ) )
+					{
+						fnCallbackDraw( oSettings );
+					}
+				} );
+				
+				/* Take the brutal approach to cancelling text selection */
+				$('span', nPaging)
+					.bind( 'mousedown.DT', function () { return false; } )
+					.bind( 'selectstart.DT', function () { return false; } );
+				
+				/* ID the first elements only */
+				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' );
+				}
+			},
+			
+			/*
+			 * Function: oPagination.full_numbers.fnUpdate
+			 * Purpose:  Update the list of page buttons shows
+			 * Returns:  -
+	 		 * Inputs:   object:oSettings - dataTables settings object
+			 *           function:fnCallbackDraw - draw function to call on page change
+			 */
+			"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;
+				
+				/* Pages calculation */
+				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;
+						}
+					}
+				}
+				
+				/* Build the dynamic list */
+				for ( i=iStartButton ; i<=iEndButton ; i++ )
+				{
+					if ( iCurrentPage != i )
+					{
+						sList += '<span class="'+oClasses.sPageButton+'">'+i+'</span>';
+					}
+					else
+					{
+						sList += '<span class="'+oClasses.sPageButtonActive+'">'+i+'</span>';
+					}
+				}
+				
+				/* Loop over each instance of the pager */
+				var an = oSettings.aanFeatures.p;
+				var anButtons, anStatic, nPaginateList;
+				var fnClick = function() {
+					/* Use the information in the element to jump to the required page */
+					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;
+					}
+					
+					/* Build up the dynamic list forst - html and listeners */
+					var qjPaginateList = $('span:eq(2)', an[i]);
+					qjPaginateList.html( sList );
+					$('span', qjPaginateList).bind( 'click.DT', fnClick ).bind( 'mousedown.DT', fnFalse )
+						.bind( 'selectstart.DT', fnFalse );
+					
+					/* Update the 'premanent botton's classes */
+					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;
+					}
+				}
+			}
+		}
+	};
+	
+	/*
+	 * Variable: oSort
+	 * Purpose:  Wrapper for the sorting functions that can be used in DataTables
+	 * Scope:    jQuery.fn.dataTableExt
+	 * Notes:    The functions provided in this object are basically standard javascript sort
+	 *   functions - they expect two inputs which they then compare and then return a priority
+	 *   result. For each sort method added, two functions need to be defined, an ascending sort and
+	 *   a descending sort.
+	 */
+	_oExt.oSort = {
+		/*
+		 * text sorting
+		 */
+		"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 sorting (ignore html tags)
+		 */
+		"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 sorting
+		 */
+		"date-asc": function ( a, b )
+		{
+			var x = Date.parse( a );
+			var y = Date.parse( b );
+			
+			if ( isNaN(x) || x==="" )
+			{
+    		x = Date.parse( "01/01/1970 00:00:00" );
+			}
+			if ( isNaN(y) || 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==="" )
+			{
+    		x = Date.parse( "01/01/1970 00:00:00" );
+			}
+			if ( isNaN(y) || y==="" )
+			{
+				y =	Date.parse( "01/01/1970 00:00:00" );
+			}
+			
+			return y - x;
+		},
+		
+		
+		/*
+		 * numerical sorting
+		 */
+		"numeric-asc": function ( a, b )
+		{
+			var x = (a=="-" || a==="") ? 0 : a*1;
+			var y = (b=="-" || b==="") ? 0 : b*1;
+			return x - y;
+		},
+		
+		"numeric-desc": function ( a, b )
+		{
+			var x = (a=="-" || a==="") ? 0 : a*1;
+			var y = (b=="-" || b==="") ? 0 : b*1;
+			return y - x;
+		}
+	};
+	
+	
+	/*
+	 * Variable: aTypes
+	 * Purpose:  Container for the various type of type detection that dataTables supports
+	 * Scope:    jQuery.fn.dataTableExt
+	 * Notes:    The functions in this array are expected to parse a string to see if it is a data
+	 *   type that it recognises. If so then the function should return the name of the type (a
+	 *   corresponding sort function should be defined!), if the type is not recognised then the
+	 *   function should return null such that the parser and move on to check the next type.
+	 *   Note that ordering is important in this array - the functions are processed linearly,
+	 *   starting at index 0.
+	 *   Note that the input for these functions is always a string! It cannot be any other data
+	 *   type
+	 */
+	_oExt.aTypes = [
+		/*
+		 * Function: -
+		 * Purpose:  Check to see if a string is numeric
+		 * Returns:  string:'numeric' or null
+		 * Inputs:   string:sText - string to check
+		 */
+		function ( sData )
+		{
+			/* Allow zero length strings as a number */
+			if ( sData.length === 0 )
+			{
+				return 'numeric';
+			}
+			
+			var sValidFirstChars = "0123456789-";
+			var sValidChars = "0123456789.";
+			var Char;
+			var bDecimal = false;
+			
+			/* Check for a valid first char (no period and allow negatives) */
+			Char = sData.charAt(0); 
+			if (sValidFirstChars.indexOf(Char) == -1) 
+			{
+				return null;
+			}
+			
+			/* Check all the other characters are valid */
+			for ( var i=1 ; i<sData.length ; i++ ) 
+			{
+				Char = sData.charAt(i); 
+				if (sValidChars.indexOf(Char) == -1) 
+				{
+					return null;
+				}
+				
+				/* Only allowed one decimal place... */
+				if ( Char == "." )
+				{
+					if ( bDecimal )
+					{
+						return null;
+					}
+					bDecimal = true;
+				}
+			}
+			
+			return 'numeric';
+		},
+		
+		/*
+		 * Function: -
+		 * Purpose:  Check to see if a string is actually a formatted date
+		 * Returns:  string:'date' or null
+		 * Inputs:   string:sText - string to check
+		 */
+		function ( sData )
+		{
+			var iParse = Date.parse(sData);
+			if ( (iParse !== null && !isNaN(iParse)) || sData.length === 0 )
+			{
+				return 'date';
+			}
+			return null;
+		},
+		
+		/*
+		 * Function: -
+		 * Purpose:  Check to see if a string should be treated as an HTML string
+		 * Returns:  string:'html' or null
+		 * Inputs:   string:sText - string to check
+		 */
+		function ( sData )
+		{
+			if ( sData.indexOf('<') != -1 && sData.indexOf('>') != -1 )
+			{
+				return 'html';
+			}
+			return null;
+		}
+	];
+	
+	/*
+	 * Function: fnVersionCheck
+	 * Purpose:  Check a version string against this version of DataTables. Useful for plug-ins
+	 * Returns:  bool:true -this version of DataTables is greater or equal to the required version
+	 *                false -this version of DataTales is not suitable
+	 * Inputs:   string:sVersion - the version to check against. May be in the following formats:
+	 *             "a", "a.b" or "a.b.c"
+	 * Notes:    This function will only check the first three parts of a version string. It is
+	 *   assumed that beta and dev versions will meet the requirements. This might change in future
+	 */
+	_oExt.fnVersionCheck = function( sVersion )
+	{
+		/* This is cheap, but very effective */
+		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);
+	};
+	
+	/*
+	 * Variable: _oExternConfig
+	 * Purpose:  Store information for DataTables to access globally about other instances
+	 * Scope:    jQuery.fn.dataTableExt
+	 */
+	_oExt._oExternConfig = {
+		/* int:iNextUnique - next unique number for an instance */
+		"iNextUnique": 0
+	};
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Section - DataTables prototype
+	 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+	
+	/*
+	 * Function: dataTable
+	 * Purpose:  DataTables information
+	 * Returns:  -
+	 * Inputs:   object:oInit - initalisation options for the table
+	 */
+	$.fn.dataTable = function( oInit )
+	{
+		/*
+		 * Function: classSettings
+		 * Purpose:  Settings container function for all 'class' properties which are required
+		 *   by dataTables
+		 * Returns:  -
+		 * Inputs:   -
+		 */
+		function classSettings ()
+		{
+			this.fnRecordsTotal = function ()
+			{
+				if ( this.oFeatures.bServerSide ) {
+					return parseInt(this._iRecordsTotal, 10);
+				} else {
+					return this.aiDisplayMaster.length;
+				}
+			};
+			
+			this.fnRecordsDisplay = function ()
+			{
+				if ( this.oFeatures.bServerSide ) {
+					return parseInt(this._iRecordsDisplay, 10);
+				} else {
+					return this.aiDisplay.length;
+				}
+			};
+			
+			this.fnDisplayEnd = function ()
+			{
+				if ( this.oFeatures.bServerSide ) {
+					if ( this.oFeatures.bPaginate === false || this._iDisplayLength == -1 ) {
+						return this._iDisplayStart+this.aiDisplay.length;
+					} else {
+						return Math.min( this._iDisplayStart+this._iDisplayLength, 
+							this._iRecordsDisplay );
+					}
+				} else {
+					return this._iDisplayEnd;
+				}
+			};
+			
+			/*
+			 * Variable: oInstance
+			 * Purpose:  The DataTables object for this table
+			 * Scope:    jQuery.dataTable.classSettings 
+			 */
+			this.oInstance = null;
+			
+			/*
+			 * Variable: sInstance
+			 * Purpose:  Unique idendifier for each instance of the DataTables object
+			 * Scope:    jQuery.dataTable.classSettings 
+			 */
+			this.sInstance = null;
+			
+			/*
+			 * Variable: oFeatures
+			 * Purpose:  Indicate the enablement of key dataTable features
+			 * Scope:    jQuery.dataTable.classSettings 
+			 */
+			this.oFeatures = {
+				"bPaginate": true,
+				"bLengthChange": true,
+				"bFilter": true,
+				"bSort": true,
+				"bInfo": true,
+				"bAutoWidth": true,
+				"bProcessing": false,
+				"bSortClasses": true,
+				"bStateSave": false,
+				"bServerSide": false
+			};
+			
+			/*
+			 * Variable: oScroll
+			 * Purpose:  Container for scrolling options
+			 * Scope:    jQuery.dataTable.classSettings 
+			 */
+			this.oScroll = {
+				"sX": "",
+				"sXInner": "",
+				"sY": "",
+				"bCollapse": false,
+				"bInfinite": false,
+				"iLoadGap": 100,
+				"iBarWidth": 0,
+				"bAutoCss": true
+			};
+			
+			/*
+			 * Variable: aanFeatures
+			 * Purpose:  Array referencing the nodes which are used for the features
+			 * Scope:    jQuery.dataTable.classSettings 
+			 * Notes:    The parameters of this object match what is allowed by sDom - i.e.
+			 *   'l' - Length changing
+			 *   'f' - Filtering input
+			 *   't' - The table!
+			 *   'i' - Information
+			 *   'p' - Pagination
+			 *   'r' - pRocessing
+			 */
+			this.aanFeatures = [];
+			
+			/*
+			 * Variable: oLanguage
+			 * Purpose:  Store the language strings used by dataTables
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    The words in the format _VAR_ are variables which are dynamically replaced
+			 *   by javascript
+			 */
+			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
+			};
+			
+			/*
+			 * Variable: aoData
+			 * Purpose:  Store data information
+			 * Scope:    jQuery.dataTable.classSettings 
+			 * Notes:    This is an array of objects with the following parameters:
+			 *   int: _iId - internal id for tracking
+			 *   array: _aData - internal data - used for sorting / filtering etc
+			 *   node: nTr - display node
+			 *   array node: _anHidden - hidden TD nodes
+			 *   string: _sRowStripe
+			 */
+			this.aoData = [];
+			
+			/*
+			 * Variable: aiDisplay
+			 * Purpose:  Array of indexes which are in the current display (after filtering etc)
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.aiDisplay = [];
+			
+			/*
+			 * Variable: aiDisplayMaster
+			 * Purpose:  Array of indexes for display - no filtering
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.aiDisplayMaster = [];
+							
+			/*
+			 * Variable: aoColumns
+			 * Purpose:  Store information about each column that is in use
+			 * Scope:    jQuery.dataTable.classSettings 
+			 */
+			this.aoColumns = [];
+			
+			/*
+			 * Variable: iNextId
+			 * Purpose:  Store the next unique id to be used for a new row
+			 * Scope:    jQuery.dataTable.classSettings 
+			 */
+			this.iNextId = 0;
+			
+			/*
+			 * Variable: asDataSearch
+			 * Purpose:  Search data array for regular expression searching
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.asDataSearch = [];
+			
+			/*
+			 * Variable: oPreviousSearch
+			 * Purpose:  Store the previous search incase we want to force a re-search
+			 *   or compare the old search to a new one
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.oPreviousSearch = {
+				"sSearch": "",
+				"bRegex": false,
+				"bSmart": true
+			};
+			
+			/*
+			 * Variable: aoPreSearchCols
+			 * Purpose:  Store the previous search for each column
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.aoPreSearchCols = [];
+			
+			/*
+			 * Variable: aaSorting
+			 * Purpose:  Sorting information
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    Index 0 - column number
+			 *           Index 1 - current sorting direction
+			 *           Index 2 - index of asSorting for this column
+			 */
+			this.aaSorting = [ [0, 'asc', 0] ];
+			
+			/*
+			 * Variable: aaSortingFixed
+			 * Purpose:  Sorting information that is always applied
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.aaSortingFixed = null;
+			
+			/*
+			 * Variable: asStripClasses
+			 * Purpose:  Classes to use for the striping of a table
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.asStripClasses = [];
+			
+			/*
+			 * Variable: asDestoryStrips
+			 * Purpose:  If restoring a table - we should restore it's striping classes as well
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.asDestoryStrips = [];
+			
+			/*
+			 * Variable: sDestroyWidth
+			 * Purpose:  If restoring a table - we should restore it's width
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.sDestroyWidth = 0;
+			
+			/*
+			 * Variable: fnRowCallback
+			 * Purpose:  Call this function every time a row is inserted (draw)
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.fnRowCallback = null;
+			
+			/*
+			 * Variable: fnHeaderCallback
+			 * Purpose:  Callback function for the header on each draw
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.fnHeaderCallback = null;
+			
+			/*
+			 * Variable: fnFooterCallback
+			 * Purpose:  Callback function for the footer on each draw
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.fnFooterCallback = null;
+			
+			/*
+			 * Variable: aoDrawCallback
+			 * Purpose:  Array of callback functions for draw callback functions
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    Each array element is an object with the following parameters:
+			 *   function:fn - function to call
+			 *   string:sName - name callback (feature). useful for arranging array
+			 */
+			this.aoDrawCallback = [];
+			
+			/*
+			 * Variable: fnInitComplete
+			 * Purpose:  Callback function for when the table has been initalised
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.fnInitComplete = null;
+			
+			/*
+			 * Variable: sTableId
+			 * Purpose:  Cache the table ID for quick access
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.sTableId = "";
+			
+			/*
+			 * Variable: nTable
+			 * Purpose:  Cache the table node for quick access
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.nTable = null;
+			
+			/*
+			 * Variable: nTHead
+			 * Purpose:  Permanent ref to the thead element
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.nTHead = null;
+			
+			/*
+			 * Variable: nTFoot
+			 * Purpose:  Permanent ref to the tfoot element - if it exists
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.nTFoot = null;
+			
+			/*
+			 * Variable: nTBody
+			 * Purpose:  Permanent ref to the tbody element
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.nTBody = null;
+			
+			/*
+			 * Variable: nTableWrapper
+			 * Purpose:  Cache the wrapper node (contains all DataTables controlled elements)
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.nTableWrapper = null;
+			
+			/*
+			 * Variable: bInitialised
+			 * Purpose:  Indicate if all required information has been read in
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.bInitialised = false;
+			
+			/*
+			 * Variable: aoOpenRows
+			 * Purpose:  Information about open rows
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    Has the parameters 'nTr' and 'nParent'
+			 */
+			this.aoOpenRows = [];
+			
+			/*
+			 * Variable: sDom
+			 * Purpose:  Dictate the positioning that the created elements will take
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    
+			 *   The following options are allowed:
+			 *     'l' - Length changing
+			 *     'f' - Filtering input
+			 *     't' - The table!
+			 *     'i' - Information
+			 *     'p' - Pagination
+			 *     'r' - pRocessing
+			 *   The following constants are allowed:
+			 *     'H' - jQueryUI theme "header" classes
+			 *     'F' - jQueryUI theme "footer" classes
+			 *   The following syntax is expected:
+			 *     '<' and '>' - div elements
+			 *     '<"class" and '>' - div with a class
+			 *   Examples:
+			 *     '<"wrapper"flipt>', '<lf<t>ip>'
+			 */
+			this.sDom = 'lfrtip';
+			
+			/*
+			 * Variable: sPaginationType
+			 * Purpose:  Note which type of sorting should be used
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.sPaginationType = "two_button";
+			
+			/*
+			 * Variable: iCookieDuration
+			 * Purpose:  The cookie duration (for bStateSave) in seconds - default 2 hours
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.iCookieDuration = 60 * 60 * 2;
+			
+			/*
+			 * Variable: sCookiePrefix
+			 * Purpose:  The cookie name prefix
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.sCookiePrefix = "SpryMedia_DataTables_";
+			
+			/*
+			 * Variable: fnCookieCallback
+			 * Purpose:  Callback function for cookie creation
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.fnCookieCallback = null;
+			
+			/*
+			 * Variable: aoStateSave
+			 * Purpose:  Array of callback functions for state saving
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    Each array element is an object with the following parameters:
+			 *   function:fn - function to call. Takes two parameters, oSettings and the JSON string to
+			 *     save that has been thus far created. Returns a JSON string to be inserted into a 
+			 *     json object (i.e. '"param": [ 0, 1, 2]')
+			 *   string:sName - name of callback
+			 */
+			this.aoStateSave = [];
+			
+			/*
+			 * Variable: aoStateLoad
+			 * Purpose:  Array of callback functions for state loading
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    Each array element is an object with the following parameters:
+			 *   function:fn - function to call. Takes two parameters, oSettings and the object stored.
+			 *     May return false to cancel state loading.
+			 *   string:sName - name of callback
+			 */
+			this.aoStateLoad = [];
+			
+			/*
+			 * Variable: oLoadedState
+			 * Purpose:  State that was loaded from the cookie. Useful for back reference
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.oLoadedState = null;
+			
+			/*
+			 * Variable: sAjaxSource
+			 * Purpose:  Source url for AJAX data for the table
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.sAjaxSource = null;
+			
+			/*
+			 * Variable: bAjaxDataGet
+			 * Purpose:  Note if draw should be blocked while getting data
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.bAjaxDataGet = true;
+			
+			/*
+			 * Variable: fnServerData
+			 * Purpose:  Function to get the server-side data - can be overruled by the developer
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.fnServerData = function ( url, data, callback ) {
+				$.ajax( {
+					"url": url,
+					"data": data,
+					"success": callback,
+					"dataType": "json",
+					"cache": false,
+					"error": function (xhr, error, thrown) {
+						if ( error == "parsererror" ) {
+							alert( "DataTables warning: JSON data from server could not be parsed. "+
+								"This is caused by a JSON formatting error." );
+						}
+					}
+				} );
+			};
+			
+			/*
+			 * Variable: fnFormatNumber
+			 * Purpose:  Format numbers for display
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.fnFormatNumber = function ( iIn )
+			{
+				if ( iIn < 1000 )
+				{
+					/* A small optimisation for what is likely to be the vast majority of use cases */
+					return iIn;
+				}
+				else
+				{
+					var s=(iIn+""), a=s.split(""), out="", iLen=s.length;
+					
+					for ( var i=0 ; i<iLen ; i++ )
+					{
+						if ( i%3 === 0 && i !== 0 )
+						{
+							out = ','+out;
+						}
+						out = a[iLen-i-1]+out;
+					}
+				}
+				return out;
+			};
+			
+			/*
+			 * Variable: aLengthMenu
+			 * Purpose:  List of options that can be used for the user selectable length menu
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Note:     This varaible can take for form of a 1D array, in which case the value and the 
+			 *   displayed value in the menu are the same, or a 2D array in which case the value comes
+			 *   from the first array, and the displayed value to the end user comes from the second
+			 *   array. 2D example: [ [ 10, 25, 50, 100, -1 ], [ 10, 25, 50, 100, 'All' ] ];
+			 */
+			this.aLengthMenu = [ 10, 25, 50, 100 ];
+			
+			/*
+			 * Variable: iDraw
+			 * Purpose:  Counter for the draws that the table does. Also used as a tracker for
+			 *   server-side processing
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.iDraw = 0;
+			
+			/*
+			 * Variable: bDrawing
+			 * Purpose:  Indicate if a redraw is being done - useful for Ajax
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.bDrawing = 0;
+			
+			/*
+			 * Variable: iDrawError
+			 * Purpose:  Last draw error
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.iDrawError = -1;
+			
+			/*
+			 * Variable: _iDisplayLength, _iDisplayStart, _iDisplayEnd
+			 * Purpose:  Display length variables
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    These variable must NOT be used externally to get the data length. Rather, use
+			 *   the fnRecordsTotal() (etc) functions.
+			 */
+			this._iDisplayLength = 10;
+			this._iDisplayStart = 0;
+			this._iDisplayEnd = 10;
+			
+			/*
+			 * Variable: _iRecordsTotal, _iRecordsDisplay
+			 * Purpose:  Display length variables used for server side processing
+			 * Scope:    jQuery.dataTable.classSettings
+			 * Notes:    These variable must NOT be used externally to get the data length. Rather, use
+			 *   the fnRecordsTotal() (etc) functions.
+			 */
+			this._iRecordsTotal = 0;
+			this._iRecordsDisplay = 0;
+			
+			/*
+			 * Variable: bJUI
+			 * Purpose:  Should we add the markup needed for jQuery UI theming?
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.bJUI = false;
+			
+			/*
+			 * Variable: bJUI
+			 * Purpose:  Should we add the markup needed for jQuery UI theming?
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.oClasses = _oExt.oStdClasses;
+			
+			/*
+			 * Variable: bFiltered and bSorted
+			 * Purpose:  Flags to allow callback functions to see what actions have been performed
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.bFiltered = false;
+			this.bSorted = false;
+			
+			/*
+			 * Variable: oInit
+			 * Purpose:  Initialisation object that is used for the table
+			 * Scope:    jQuery.dataTable.classSettings
+			 */
+			this.oInit = null;
+		}
+		
+		/*
+		 * Variable: oApi
+		 * Purpose:  Container for publicly exposed 'private' functions
+		 * Scope:    jQuery.dataTable
+		 */
+		this.oApi = {};
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - API functions
+		 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+		
+		/*
+		 * Function: fnDraw
+		 * Purpose:  Redraw the table
+		 * Returns:  -
+		 * Inputs:   bool:bComplete - Refilter and resort (if enabled) the table before the draw.
+		 *             Optional: default - true
+		 */
+		this.fnDraw = function( bComplete )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			if ( typeof bComplete != 'undefined' && bComplete === false )
+			{
+				_fnCalculateEnd( oSettings );
+				_fnDraw( oSettings );
+			}
+			else
+			{
+				_fnReDraw( oSettings );
+			}
+		};
+		
+		/*
+		 * Function: fnFilter
+		 * Purpose:  Filter the input based on data
+		 * Returns:  -
+		 * Inputs:   string:sInput - string to filter the table on
+		 *           int:iColumn - optional - column to limit filtering to
+		 *           bool:bRegex - optional - treat as regular expression or not - default false
+		 *           bool:bSmart - optional - perform smart filtering or not - default true
+		 *           bool:bShowGlobal - optional - show the input global filter in it's input box(es)
+		 *              - default true
+		 */
+		this.fnFilter = function( sInput, iColumn, bRegex, bSmart, bShowGlobal )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			
+			if ( !oSettings.oFeatures.bFilter )
+			{
+				return;
+			}
+			
+			if ( typeof bRegex == 'undefined' )
+			{
+				bRegex = false;
+			}
+			
+			if ( typeof bSmart == 'undefined' )
+			{
+				bSmart = true;
+			}
+			
+			if ( typeof bShowGlobal == 'undefined' )
+			{
+				bShowGlobal = true;
+			}
+			
+			if ( typeof iColumn == "undefined" || iColumn === null )
+			{
+				/* Global filter */
+				_fnFilterComplete( oSettings, {
+					"sSearch":sInput,
+					"bRegex": bRegex,
+					"bSmart": bSmart
+				}, 1 );
+				
+				if ( bShowGlobal && typeof oSettings.aanFeatures.f != 'undefined' )
+				{
+					var n = oSettings.aanFeatures.f;
+					for ( var i=0, iLen=n.length ; i<iLen ; i++ )
+					{
+						$('input', n[i]).val( sInput );
+					}
+				}
+			}
+			else
+			{
+				/* Single column filter */
+				oSettings.aoPreSearchCols[ iColumn ].sSearch = sInput;
+				oSettings.aoPreSearchCols[ iColumn ].bRegex = bRegex;
+				oSettings.aoPreSearchCols[ iColumn ].bSmart = bSmart;
+				_fnFilterComplete( oSettings, oSettings.oPreviousSearch, 1 );
+			}
+		};
+		
+		/*
+		 * Function: fnSettings
+		 * Purpose:  Get the settings for a particular table for extern. manipulation
+		 * Returns:  -
+		 * Inputs:   -
+		 */
+		this.fnSettings = function( nNode  )
+		{
+			return _fnSettingsFromNode( this[_oExt.iApiIndex] );
+		};
+		
+		/*
+		 * Function: fnVersionCheck
+		 * Notes:    The function is the same as the 'static' function provided in the ext variable
+		 */
+		this.fnVersionCheck = _oExt.fnVersionCheck;
+		
+		/*
+		 * Function: fnSort
+		 * Purpose:  Sort the table by a particular row
+		 * Returns:  -
+		 * Inputs:   int:iCol - the data index to sort on. Note that this will
+		 *   not match the 'display index' if you have hidden data entries
+		 */
+		this.fnSort = function( aaSort )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			oSettings.aaSorting = aaSort;
+			_fnSort( oSettings );
+		};
+		
+		/*
+		 * Function: fnSortListener
+		 * Purpose:  Attach a sort listener to an element for a given column
+		 * Returns:  -
+		 * Inputs:   node:nNode - the element to attach the sort listener to
+		 *           int:iColumn - the column that a click on this node will sort on
+		 *           function:fnCallback - callback function when sort is run - optional
+		 */
+		this.fnSortListener = function( nNode, iColumn, fnCallback )
+		{
+			_fnSortAttachListener( _fnSettingsFromNode( this[_oExt.iApiIndex] ), nNode, iColumn,
+			 	fnCallback );
+		};
+		
+		/*
+		 * Function: fnAddData
+		 * Purpose:  Add new row(s) into the table
+		 * Returns:  array int: array of indexes (aoData) which have been added (zero length on error)
+		 * Inputs:   array:mData - the data to be added. The length must match
+		 *               the original data from the DOM
+		 *             or
+		 *             array array:mData - 2D array of data to be added
+		 *           bool:bRedraw - redraw the table or not - default true
+		 * Notes:    Warning - the refilter here will cause the table to redraw
+		 *             starting at zero
+		 * Notes:    Thanks to Yekimov Denis for contributing the basis for this function!
+		 */
+		this.fnAddData = function( mData, bRedraw )
+		{
+			if ( mData.length === 0 )
+			{
+				return [];
+			}
+			
+			var aiReturn = [];
+			var iTest;
+			
+			/* Find settings from table node */
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			
+			/* Check if we want to add multiple rows or not */
+			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();
+			
+			if ( typeof bRedraw == 'undefined' || bRedraw )
+			{
+				_fnReDraw( oSettings );
+			}
+			return aiReturn;
+		};
+		
+		/*
+		 * Function: fnDeleteRow
+		 * Purpose:  Remove a row for the table
+		 * Returns:  array:aReturn - the row that was deleted
+		 * Inputs:   mixed:mTarget - 
+		 *             int: - index of aoData to be deleted, or
+		 *             node(TR): - TR element you want to delete
+		 *           function:fnCallBack - callback function - default null
+		 *           bool:bRedraw - redraw the table or not - default true
+		 */
+		this.fnDeleteRow = function( mTarget, fnCallBack, bRedraw )
+		{
+			/* Find settings from table node */
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			var i, iAODataIndex;
+			
+			iAODataIndex = (typeof mTarget == 'object') ? 
+				_fnNodeToDataIndex(oSettings, mTarget) : mTarget;
+			
+			/* Return the data array from this row */
+			var oData = oSettings.aoData.splice( iAODataIndex, 1 );
+			
+			/* Remove the target row from the search array */
+			var iDisplayIndex = $.inArray( iAODataIndex, oSettings.aiDisplay );
+			oSettings.asDataSearch.splice( iDisplayIndex, 1 );
+			
+			/* Delete from the display arrays */
+			_fnDeleteIndex( oSettings.aiDisplayMaster, iAODataIndex );
+			_fnDeleteIndex( oSettings.aiDisplay, iAODataIndex );
+			
+			/* If there is a user callback function - call it */
+			if ( typeof fnCallBack == "function" )
+			{
+				fnCallBack.call( this, oSettings, oData );
+			}
+			
+			/* Check for an 'overflow' they case for dislaying the table */
+			if ( oSettings._iDisplayStart >= oSettings.aiDisplay.length )
+			{
+				oSettings._iDisplayStart -= oSettings._iDisplayLength;
+				if ( oSettings._iDisplayStart < 0 )
+				{
+					oSettings._iDisplayStart = 0;
+				}
+			}
+			
+			if ( typeof bRedraw == 'undefined' || bRedraw )
+			{
+				_fnCalculateEnd( oSettings );
+				_fnDraw( oSettings );
+			}
+			
+			return oData;
+		};
+		
+		/*
+		 * Function: fnClearTable
+		 * Purpose:  Quickly and simply clear a table
+		 * Returns:  -
+		 * Inputs:   bool:bRedraw - redraw the table or not - default true
+		 * Notes:    Thanks to Yekimov Denis for contributing the basis for this function!
+		 */
+		this.fnClearTable = function( bRedraw )
+		{
+			/* Find settings from table node */
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			_fnClearTable( oSettings );
+			
+			if ( typeof bRedraw == 'undefined' || bRedraw )
+			{
+				_fnDraw( oSettings );
+			}
+		};
+		
+		/*
+		 * Function: fnOpen
+		 * Purpose:  Open a display row (append a row after the row in question)
+		 * Returns:  node:nNewRow - the row opened
+		 * Inputs:   node:nTr - the table row to 'open'
+		 *           string:sHtml - the HTML to put into the row
+		 *           string:sClass - class to give the new TD cell
+		 */
+		this.fnOpen = function( nTr, sHtml, sClass )
+		{
+			/* Find settings from table node */
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			
+			/* the old open one if there is one */
+			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;
+			
+			/* If the nTr isn't on the page at the moment - then we don't insert at the moment */
+			var nTrs = $('tr', oSettings.nTBody);
+			if ( $.inArray(nTr, nTrs) != -1 )
+			{
+				$(nNewRow).insertAfter(nTr);
+			}
+			
+			oSettings.aoOpenRows.push( {
+				"nTr": nNewRow,
+				"nParent": nTr
+			} );
+			
+			return nNewRow;
+		};
+		
+		/*
+		 * Function: fnClose
+		 * Purpose:  Close a display row
+		 * Returns:  int: 0 (success) or 1 (failed)
+		 * Inputs:   node:nTr - the table row to 'close'
+		 */
+		this.fnClose = function( nTr )
+		{
+			/* Find settings from table node */
+			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 )
+					{
+						/* Remove it if it is currently on display */
+						nTrParent.removeChild( oSettings.aoOpenRows[i].nTr );
+					}
+					oSettings.aoOpenRows.splice( i, 1 );
+					return 0;
+				}
+			}
+			return 1;
+		};
+		
+		/*
+		 * Function: fnGetData
+		 * Purpose:  Return an array with the data which is used to make up the table
+		 * Returns:  array array string: 2d data array ([row][column]) or array string: 1d data array
+		 *           or
+		 *           array string (if iRow specified)
+		 * Inputs:   mixed:mRow - optional - if not present, then the full 2D array for the table 
+		 *             if given then:
+		 *               int: - return 1D array for aoData entry of this index
+		 *               node(TR): - return 1D array for this TR element
+		 * Inputs:   int:iRow - optional - if present then the array returned will be the data for
+		 *             the row with the index 'iRow'
+		 */
+		this.fnGetData = function( mRow )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			
+			if ( typeof mRow != 'undefined' )
+			{
+				var iRow = (typeof mRow == 'object') ? 
+					_fnNodeToDataIndex(oSettings, mRow) : mRow;
+				return ( (aRowData = oSettings.aoData[iRow]) ? aRowData._aData : null);
+			}
+			return _fnGetDataMaster( oSettings );
+		};
+		
+		/*
+		 * Function: fnGetNodes
+		 * Purpose:  Return an array with the TR nodes used for drawing the table
+		 * Returns:  array node: TR elements
+		 *           or
+		 *           node (if iRow specified)
+		 * Inputs:   int:iRow - optional - if present then the array returned will be the node for
+		 *             the row with the index 'iRow'
+		 */
+		this.fnGetNodes = function( iRow )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			
+			if ( typeof iRow != 'undefined' )
+			{
+				return ( (aRowData = oSettings.aoData[iRow]) ? aRowData.nTr : null );
+			}
+			return _fnGetTrNodes( oSettings );
+		};
+		
+		/*
+		 * Function: fnGetPosition
+		 * Purpose:  Get the array indexes of a particular cell from it's DOM element
+		 * Returns:  int: - row index, or array[ int, int, int ]: - row index, column index (visible)
+		 *             and column index including hidden columns
+		 * Inputs:   node:nNode - this can either be a TR or a TD in the table, the return is
+		 *             dependent on this input
+		 */
+		this.fnGetPosition = function( nNode )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			var i;
+			
+			if ( nNode.nodeName.toUpperCase() == "TR" )
+			{
+				return _fnNodeToDataIndex(oSettings, nNode);
+			}
+			else if ( nNode.nodeName.toUpperCase() == "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;
+		};
+		
+		/*
+		 * Function: fnUpdate
+		 * Purpose:  Update a table cell or row
+		 * Returns:  int: 0 okay, 1 error
+		 * Inputs:   array string 'or' string:mData - data to update the cell/row with
+		 *           mixed:mRow - 
+		 *             int: - index of aoData to be updated, or
+		 *             node(TR): - TR element you want to update
+		 *           int:iColumn - the column to update - optional (not used of mData is 2D)
+		 *           bool:bRedraw - redraw the table or not - default true
+		 *           bool:bAction - perform predraw actions or not (you will want this as 'true' if
+		 *             you have bRedraw as true) - default true
+		 */
+		this.fnUpdate = function( mData, mRow, iColumn, bRedraw, bAction )
+		{
+			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
+				{
+					oSettings.aoData[iRow]._anHidden[iColumn].innerHTML = sDisplay;
+				}
+			}
+			else
+			{
+				if ( mData.length != oSettings.aoColumns.length )
+				{
+					_fnLog( oSettings, 0, '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;
+					}
+					else
+					{
+						oSettings.aoData[iRow]._anHidden[i].innerHTML = sDisplay;
+					}
+				}
+			}
+			
+			/* Modify the search index for this row (strictly this is likely not needed, since fnReDraw
+			 * will rebuild the search array - however, the redraw might be disabled by the user)
+			 */
+			var iDisplayIndex = $.inArray( iRow, oSettings.aiDisplay );
+			oSettings.asDataSearch[iDisplayIndex] = _fnBuildSearchRow( oSettings, 
+				oSettings.aoData[iRow]._aData );
+			
+			/* Perform pre-draw actions */
+			if ( typeof bAction == 'undefined' || bAction )
+			{
+				_fnAjustColumnSizing( oSettings );
+			}
+			
+			/* Redraw the table */
+			if ( typeof bRedraw == 'undefined' || bRedraw )
+			{
+				_fnReDraw( oSettings );
+			}
+			return 0;
+		};
+		
+		
+		/*
+		 * Function: fnShowColoumn
+		 * Purpose:  Show a particular column
+		 * Returns:  -
+		 * Inputs:   int:iCol - the column whose display should be changed
+		 *           bool:bShow - show (true) or hide (false) the column
+		 *           bool:bRedraw - redraw the table or not - default true
+		 */
+		this.fnSetColumnVis = function ( iCol, bShow, bRedraw )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			var i, iLen;
+			var iColumns = oSettings.aoColumns.length;
+			var nTd, anTds, nCell, anTrs, jqChildren;
+			
+			/* No point in doing anything if we are requesting what is already true */
+			if ( oSettings.aoColumns[iCol].bVisible == bShow )
+			{
+				return;
+			}
+			
+			var nTrHead = $('>tr', oSettings.nTHead)[0];
+			var nTrFoot = $('>tr', oSettings.nTFoot)[0];
+			var anTheadTh = [];
+			var anTfootTh = [];
+			for ( i=0 ; i<iColumns ; i++ )
+			{
+				anTheadTh.push( oSettings.aoColumns[i].nTh );
+				anTfootTh.push( oSettings.aoColumns[i].nTf );
+			}
+			
+			/* Show the column */
+			if ( bShow )
+			{
+				var iInsert = 0;
+				for ( i=0 ; i<iCol ; i++ )
+				{
+					if ( oSettings.aoColumns[i].bVisible )
+					{
+						iInsert++;
+					}
+				}
+				
+				/* Need to decide if we should use appendChild or insertBefore */
+				if ( iInsert >= _fnVisbleColumns( oSettings ) )
+				{
+					nTrHead.appendChild( anTheadTh[iCol] );
+					anTrs = $('>tr', oSettings.nTHead);
+					for ( i=1, iLen=anTrs.length ; i<iLen ; i++ )
+					{
+						anTrs[i].appendChild( oSettings.aoColumns[iCol].anThExtra[i-1] );
+					}	
+					
+					if ( nTrFoot )
+					{
+						nTrFoot.appendChild( anTfootTh[iCol] );
+						anTrs = $('>tr', oSettings.nTFoot);
+						for ( i=1, iLen=anTrs.length ; i<iLen ; i++ )
+						{
+							anTrs[i].appendChild( oSettings.aoColumns[iCol].anTfExtra[i-1] );
+						}	
+					}
+					
+					for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ )
+					{
+						nTd = oSettings.aoData[i]._anHidden[iCol];
+						oSettings.aoData[i].nTr.appendChild( nTd );
+					}
+				}
+				else
+				{
+					/* Which coloumn should we be inserting before? */
+					var iBefore;
+					for ( i=iCol ; i<iColumns ; i++ )
+					{
+						iBefore = _fnColumnIndexToVisible( oSettings, i );
+						if ( iBefore !== null )
+						{
+							break;
+						}
+					}
+					
+					nTrHead.insertBefore( anTheadTh[iCol], nTrHead.getElementsByTagName('th')[iBefore] );
+					anTrs = $('>tr', oSettings.nTHead);
+					for ( i=1, iLen=anTrs.length ; i<iLen ; i++ )
+					{
+						jqChildren = $(anTrs[i]).children();
+						anTrs[i].insertBefore( oSettings.aoColumns[iCol].anThExtra[i-1], jqChildren[iBefore] );
+					}	
+					
+					if ( nTrFoot )
+					{
+						nTrFoot.insertBefore( anTfootTh[iCol], nTrFoot.getElementsByTagName('th')[iBefore] );
+						anTrs = $('>tr', oSettings.nTFoot);
+						for ( i=1, iLen=anTrs.length ; i<iLen ; i++ )
+						{
+							jqChildren = $(anTrs[i]).children();
+							anTrs[i].insertBefore( oSettings.aoColumns[iCol].anTfExtra[i-1], jqChildren[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
+			{
+				/* Remove a column from display */
+				nTrHead.removeChild( anTheadTh[iCol] );
+				for ( i=0, iLen=oSettings.aoColumns[iCol].anThExtra.length ; i<iLen ; i++ )
+				{
+					nCell = oSettings.aoColumns[iCol].anThExtra[i];
+					nCell.parentNode.removeChild( nCell );
+				}
+				
+				if ( nTrFoot )
+				{
+					nTrFoot.removeChild( anTfootTh[iCol] );
+					for ( i=0, iLen=oSettings.aoColumns[iCol].anTfExtra.length ; i<iLen ; i++ )
+					{
+						nCell = oSettings.aoColumns[iCol].anTfExtra[i];
+						nCell.parentNode.removeChild( nCell );
+					}
+				}
+				
+				anTds = _fnGetTdNodes( oSettings );
+				for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ )
+				{
+					nTd = anTds[ ( i*oSettings.aoColumns.length) + (iCol*1) ];
+					oSettings.aoData[i]._anHidden[iCol] = nTd;
+					nTd.parentNode.removeChild( nTd );
+				}
+				
+				oSettings.aoColumns[iCol].bVisible = false;
+			}
+			
+			/* If there are any 'open' rows, then we need to alter the colspan for this col change */
+			for ( i=0, iLen=oSettings.aoOpenRows.length ; i<iLen ; i++ )
+			{
+				oSettings.aoOpenRows[i].nTr.colSpan = _fnVisbleColumns( oSettings );
+			}
+			
+			/* Do a redraw incase anything depending on the table columns needs it 
+			 * (built-in: scrolling) 
+			 */
+			if ( typeof bRedraw == 'undefined' || bRedraw )
+			{
+				_fnAjustColumnSizing( oSettings );
+				_fnDraw( oSettings );
+			}
+			
+			_fnSaveState( oSettings );
+		};
+		
+		/*
+		 * Function: fnPageChange
+		 * Purpose:  Change the pagination
+		 * Returns:  -
+		 * Inputs:   string:sAction - paging action to take: "first", "previous", "next" or "last"
+		 *           bool:bRedraw - redraw the table or not - optional - default true
+		 */
+		this.fnPageChange = function ( sAction, bRedraw )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			_fnPageChange( oSettings, sAction );
+			_fnCalculateEnd( oSettings );
+			
+			if ( typeof bRedraw == 'undefined' || bRedraw )
+			{
+				_fnDraw( oSettings );
+			}
+		};
+		
+		/*
+		 * Function: fnDestroy
+		 * Purpose:  Destructor for the DataTable
+		 * Returns:  -
+		 * Inputs:   -
+		 */
+		this.fnDestroy = function ( )
+		{
+			var oSettings = _fnSettingsFromNode( this[_oExt.iApiIndex] );
+			var nOrig = oSettings.nTableWrapper.parentNode;
+			var nBody = oSettings.nTBody;
+			var i, iLen;
+			
+			/* Flag to note that the table is currently being destoryed - no action should be taken */
+			oSettings.bDestroying = true;
+			
+			/* Blitz all DT events */
+			$(oSettings.nTableWrapper).find('*').andSelf().unbind('.DT');
+			
+			/* Restore hidden columns */
+			for ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
+			{
+				if ( oSettings.aoColumns[i].bVisible === false )
+				{
+					this.fnSetColumnVis( i, true );
+				}
+			}
+			
+			/* If there is an 'empty' indicator row, remove it */
+			$('tbody>tr>td.'+oSettings.oClasses.sRowEmpty, oSettings.nTable).parent().remove();
+			
+			/* When scrolling we had to break the table up - restore it */
+			if ( oSettings.nTable != oSettings.nTHead.parentNode )
+			{
+				$('>thead', oSettings.nTable).remove();
+				oSettings.nTable.appendChild( oSettings.nTHead );
+			}
+			
+			if ( oSettings.nTFoot && oSettings.nTable != oSettings.nTFoot.parentNode )
+			{
+				$('>tfoot', oSettings.nTable).remove();
+				oSettings.nTable.appendChild( oSettings.nTFoot );
+			}
+			
+			/* Remove the DataTables generated nodes, events and classes */
+			oSettings.nTable.parentNode.removeChild( oSettings.nTable );
+			$(oSettings.nTableWrapper).remove();
+			
+			oSettings.aaSorting = [];
+			oSettings.aaSortingFixed = [];
+			_fnSortingClasses( oSettings );
+			
+			$(_fnGetTrNodes( oSettings )).removeClass( oSettings.asStripClasses.join(' ') );
+			
+			if ( !oSettings.bJUI )
+			{
+				$('th', oSettings.nTHead).removeClass( [ _oExt.oStdClasses.sSortable,
+					_oExt.oStdClasses.sSortableAsc,
+					_oExt.oStdClasses.sSortableDesc,
+					_oExt.oStdClasses.sSortableNone ].join(' ')
+				);
+			}
+			else
+			{
+				$('th', oSettings.nTHead).removeClass( [ _oExt.oStdClasses.sSortable,
+					_oExt.oJUIClasses.sSortableAsc,
+					_oExt.oJUIClasses.sSortableDesc,
+					_oExt.oJUIClasses.sSortableNone ].join(' ')
+				);
+				$('th span', oSettings.nTHead).remove();
+			}
+			
+			/* Add the TR elements back into the table in their original order */
+			nOrig.appendChild( oSettings.nTable );
+			for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ )
+			{
+				nBody.appendChild( oSettings.aoData[i].nTr );
+			}
+			
+			/* Restore the width of the original table */
+			oSettings.nTable.style.width = _fnStringToCss(oSettings.sDestroyWidth);
+			
+			/* If the were originally odd/even type classes - then we add them back here. Note
+			 * this is not fool proof (for example if not all rows as odd/even classes - but 
+			 * it's a good effort without getting carried away
+			 */
+			$('>tr:even', nBody).addClass( oSettings.asDestoryStrips[0] );
+			$('>tr:odd', nBody).addClass( oSettings.asDestoryStrips[1] );
+			
+			/* Remove the settings object from the settings array */
+			for ( i=0, iLen=_aoSettings.length ; i<iLen ; i++ )
+			{
+				if ( _aoSettings[i] == oSettings )
+				{
+					_aoSettings.splice( i, 1 );
+				}
+			}
+			
+			/* End it all */
+			oSettings = null;
+		};
+		
+		/*
+		 * Function: fnAjustColumnSizing
+		 * Purpose:  Update tale sizing based on content. This would most likely be used for scrolling
+		 *   and will typically need a redraw after it.
+		 * Returns:  -
+		 * Inputs:   bool:bRedraw - redraw the table or not, you will typically want to - default true
+		 */
+		this.fnAdjustColumnSizing = function ( bRedraw )
+		{
+			var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]);
+			_fnAjustColumnSizing( oSettings );
+			
+			if ( typeof bRedraw == 'undefined' || bRedraw )
+			{
+				this.fnDraw( false );
+			}
+			else if ( oSettings.oScroll.sX !== "" || oSettings.oScroll.sY !== "" )
+			{
+				/* If not redrawing, but scrolling, we want to apply the new column sizes anyway */
+				this.oApi._fnScrollDraw(oSettings);
+			}
+		};
+		
+		/*
+		 * Plugin API functions
+		 * 
+		 * This call will add the functions which are defined in _oExt.oApi to the
+		 * DataTables object, providing a rather nice way to allow plug-in API functions. Note that
+		 * this is done here, so that API function can actually override the built in API functions if
+		 * required for a particular purpose.
+		 */
+		
+		/*
+		 * Function: _fnExternApiFunc
+		 * Purpose:  Create a wrapper function for exporting an internal func to an external API func
+		 * Returns:  function: - wrapped function
+		 * Inputs:   string:sFunc - API function name
+		 */
+		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 )
+			{
+				/*
+				 * Function: anon
+				 * Purpose:  Wrap the plug-in API functions in order to provide the settings as 1st arg 
+				 *   and execute in this scope
+				 * Returns:  -
+				 * Inputs:   -
+				 */
+				this[sFunc] = _fnExternApiFunc(sFunc);
+			}
+		}
+		
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Local functions
+		 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Initalisation
+		 */
+		
+		/*
+		 * Function: _fnInitalise
+		 * Purpose:  Draw the table for the first time, adding all required features
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnInitalise ( oSettings )
+		{
+			var i, iLen;
+			
+			/* Ensure that the table data is fully initialised */
+			if ( oSettings.bInitialised === false )
+			{
+				setTimeout( function(){ _fnInitalise( oSettings ); }, 200 );
+				return;
+			}
+			
+			/* Show the display HTML options */
+			_fnAddOptionsHtml( oSettings );
+			
+			/* Draw the headers for the table */
+			_fnDrawHead( oSettings );
+			
+			/* Okay to show that something is going on now */
+			_fnProcessingDisplay( oSettings, true );
+			
+			/* Calculate sizes for columns */
+			if ( oSettings.oFeatures.bAutoWidth )
+			{
+				_fnCalculateColumnWidths( oSettings );
+			}
+			
+			for ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
+			{
+				if ( oSettings.aoColumns[i].sWidth !== null )
+				{
+					oSettings.aoColumns[i].nTh.style.width = _fnStringToCss( oSettings.aoColumns[i].sWidth );
+				}
+			}
+			
+			/* If there is default sorting required - let's do it. The sort function will do the
+			 * drawing for us. Otherwise we draw the table regardless of the Ajax source - this allows
+			 * the table to look initialised for Ajax sourcing data (show 'loading' message possibly)
+			 */
+			if ( oSettings.oFeatures.bSort )
+			{
+				_fnSort( oSettings );
+			}
+			else
+			{
+				oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
+				_fnCalculateEnd( oSettings );
+				_fnDraw( oSettings );
+			}
+			
+			/* if there is an ajax source load the data */
+			if ( oSettings.sAjaxSource !== null && !oSettings.oFeatures.bServerSide )
+			{
+				oSettings.fnServerData.call( oSettings.oInstance, oSettings.sAjaxSource, [], function(json) {
+					/* Got the data - add it to the table */
+					for ( i=0 ; i<json.aaData.length ; i++ )
+					{
+						_fnAddData( oSettings, json.aaData[i] );
+					}
+					
+					/* Reset the init display for cookie saving. We've already done a filter, and
+					 * therefore cleared it before. So we need to make it appear 'fresh'
+					 */
+					oSettings.iInitDisplayStart = oSettings._iDisplayStart;
+					
+					if ( oSettings.oFeatures.bSort )
+					{
+						_fnSort( oSettings );
+					}
+					else
+					{
+						oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
+						_fnCalculateEnd( oSettings );
+						_fnDraw( oSettings );
+					}
+					
+					_fnProcessingDisplay( oSettings, false );
+					_fnInitComplete( oSettings, json );
+				} );
+				return;
+			}
+			
+			/* Server-side processing initialisation complete is done at the end of _fnDraw */
+			if ( !oSettings.oFeatures.bServerSide )
+			{
+				_fnProcessingDisplay( oSettings, false );
+				_fnInitComplete( oSettings );
+			}
+		}
+		
+		/*
+		 * Function: _fnInitalise
+		 * Purpose:  Draw the table for the first time, adding all required features
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnInitComplete ( oSettings, json )
+		{
+			oSettings._bInitComplete = true;
+			if ( typeof oSettings.fnInitComplete == 'function' )
+			{
+				if ( typeof json != 'undefined' )
+				{
+					oSettings.fnInitComplete.call( oSettings.oInstance, oSettings, json );
+				}
+				else
+				{
+					oSettings.fnInitComplete.call( oSettings.oInstance, oSettings );
+				}
+			}
+		}
+		
+		/*
+		 * Function: _fnLanguageProcess
+		 * Purpose:  Copy language variables from remote object to a local one
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           object:oLanguage - Language information
+		 *           bool:bInit - init once complete
+		 */
+		function _fnLanguageProcess( oSettings, oLanguage, bInit )
+		{
+			_fnMap( oSettings.oLanguage, oLanguage, 'sProcessing' );
+			_fnMap( oSettings.oLanguage, oLanguage, 'sLengthMenu' );
+			_fnMap( oSettings.oLanguage, oLanguage, 'sEmptyTable' );
+			_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' );
+			}
+			
+			/* Backwards compatibility - if there is no sEmptyTable given, then use the same as
+			 * sZeroRecords - assuming that is given.
+			 */
+			if ( typeof oLanguage.sEmptyTable == 'undefined' && 
+			     typeof oLanguage.sZeroRecords != 'undefined' )
+			{
+				_fnMap( oSettings.oLanguage, oLanguage, 'sZeroRecords', 'sEmptyTable' );
+			}
+			
+			if ( bInit )
+			{
+				_fnInitalise( oSettings );
+			}
+		}
+		
+		/*
+		 * Function: _fnAddColumn
+		 * Purpose:  Add a column to the list used for the table with default values
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           node:nTh - the th element for this column
+		 */
+		function _fnAddColumn( oSettings, 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,
+				"sWidthOrig": null,
+				"sClass": null,
+				"fnRender": null,
+				"bUseRendered": true,
+				"iDataSort": oSettings.aoColumns.length-1,
+				"sSortDataType": 'std',
+				"nTh": nTh ? nTh : document.createElement('th'),
+				"nTf": null,
+				"anThExtra": [],
+				"anTfExtra": []
+			};
+			
+			var iCol = oSettings.aoColumns.length-1;
+			var oCol = oSettings.aoColumns[ iCol ];
+			
+			/* Add a column specific filter */
+			if ( typeof oSettings.aoPreSearchCols[ iCol ] == 'undefined' ||
+			     oSettings.aoPreSearchCols[ iCol ] === null )
+			{
+				oSettings.aoPreSearchCols[ iCol ] = {
+					"sSearch": "",
+					"bRegex": false,
+					"bSmart": true
+				};
+			}
+			else
+			{
+				/* Don't require that the user must specify bRegex and / or bSmart */
+				if ( typeof oSettings.aoPreSearchCols[ iCol ].bRegex == 'undefined' )
+				{
+					oSettings.aoPreSearchCols[ iCol ].bRegex = true;
+				}
+				
+				if ( typeof oSettings.aoPreSearchCols[ iCol ].bSmart == 'undefined' )
+				{
+					oSettings.aoPreSearchCols[ iCol ].bSmart = true;
+				}
+			} 
+			
+			/* Use the column options function to initialise classes etc */
+			_fnColumnOptions( oSettings, iCol, null );
+		}
+		
+		/*
+		 * Function: _fnColumnOptions
+		 * Purpose:  Apply options for a column
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           int:iCol - column index to consider
+		 *           object:oOptions - object with sType, bVisible and bSearchable
+		 */
+		function _fnColumnOptions( oSettings, iCol, oOptions )
+		{
+			var oCol = oSettings.aoColumns[ iCol ];
+			
+			/* User specified column options */
+			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, "sWidth", "sWidthOrig" );
+				_fnMap( oCol, oOptions, "sClass" );
+				_fnMap( oCol, oOptions, "fnRender" );
+				_fnMap( oCol, oOptions, "bUseRendered" );
+				_fnMap( oCol, oOptions, "iDataSort" );
+				_fnMap( oCol, oOptions, "asSorting" );
+				_fnMap( oCol, oOptions, "sSortDataType" );
+			}
+			
+			/* Feature sorting overrides column specific when off */
+			if ( !oSettings.oFeatures.bSort )
+			{
+				oCol.bSortable = false;
+			}
+			
+			/* Check that the class assignment is correct for sorting */
+			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;
+			}
+		}
+		
+		/*
+		 * Function: _fnAddData
+		 * Purpose:  Add a data array to the table, creating DOM node etc
+		 * Returns:  int: - >=0 if successful (index of new aoData entry), -1 if failed
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           array:aData - data array to be added
+		 * Notes:    There are two basic methods for DataTables to get data to display - a JS array
+		 *   (which is dealt with by this function), and the DOM, which has it's own optimised
+		 *   function (_fnGatherData). Be careful to make the same changes here as there and vice-versa
+		 */
+		function _fnAddData ( oSettings, aDataSupplied )
+		{
+			/* Sanity check the length of the new array */
+			if ( aDataSupplied.length != oSettings.aoColumns.length &&
+				oSettings.iDrawError != oSettings.iDraw )
+			{
+				_fnLog( oSettings, 0, "Added data (size "+aDataSupplied.length+") does not match known "+
+					"number of columns ("+oSettings.aoColumns.length+")" );
+				oSettings.iDrawError = oSettings.iDraw;
+				return -1;
+			}
+			
+			
+			/* Create the object for storing information about this new row */
+			var aData = aDataSupplied.slice();
+			var iThisIndex = oSettings.aoData.length;
+			oSettings.aoData.push( {
+				"nTr": document.createElement('tr'),
+				"_iId": oSettings.iNextId++,
+				"_aData": aData,
+				"_anHidden": [],
+				"_sRowStripe": ''
+			} );
+			
+			/* Create the cells */
+			var nTd, sThisType;
+			for ( var i=0 ; i<aData.length ; i++ )
+			{
+				nTd = document.createElement('td');
+				
+				/* Allow null data (from a data array) - simply deal with it as a blank string */
+				if ( aData[i] === null )
+				{
+					aData[i] = '';
+				}
+				
+				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 )
+					{
+						/* Use the rendered data for filtering/sorting */
+						oSettings.aoData[iThisIndex]._aData[i] = sRendered;
+					}
+				}
+				else
+				{
+					nTd.innerHTML = aData[i];
+				}
+				
+				/* Cast everything as a string - so we can treat everything equally when sorting */
+				if ( typeof aData[i] != 'string' )
+				{
+					aData[i] += "";
+				}
+				aData[i] = $.trim(aData[i]);
+				
+				/* Add user defined class */
+				if ( oSettings.aoColumns[i].sClass !== null )
+				{
+					nTd.className = oSettings.aoColumns[i].sClass;
+				}
+				
+				/* See if we should auto-detect the column type */
+				if ( oSettings.aoColumns[i]._bAutoType && oSettings.aoColumns[i].sType != 'string' )
+				{
+					/* Attempt to auto detect the type - same as _fnGatherData() */
+					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 )
+					{
+						/* String is always the 'fallback' option */
+						oSettings.aoColumns[i].sType = 'string';
+					}
+				}
+					
+				if ( oSettings.aoColumns[i].bVisible )
+				{
+					oSettings.aoData[iThisIndex].nTr.appendChild( nTd );
+					oSettings.aoData[iThisIndex]._anHidden[i] = null;
+				}
+				else
+				{
+					oSettings.aoData[iThisIndex]._anHidden[i] = nTd;
+				}
+			}
+			
+			/* Add to the display array */
+			oSettings.aiDisplayMaster.push( iThisIndex );
+			return iThisIndex;
+		}
+		
+		/*
+		 * Function: _fnGatherData
+		 * Purpose:  Read in the data from the target table from the DOM
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 * Notes:    This is a optimised version of _fnAddData (more or less) for reading information
+		 *   from the DOM. The basic actions must be identical in the two functions.
+		 */
+		function _fnGatherData( oSettings )
+		{
+			var iLoop, i, iLen, j, jLen, jInner,
+			 	nTds, nTrs, nTd, aLocalData, iThisIndex,
+				iRow, iRows, iColumn, iColumns;
+			
+			/*
+			 * Process by row first
+			 * Add the data object for the whole table - storing the tr node. Note - no point in getting
+			 * DOM based data if we are going to go and replace it with Ajax source data.
+			 */
+			if ( oSettings.sAjaxSource === null )
+			{
+				nTrs = oSettings.nTBody.childNodes;
+				for ( i=0, iLen=nTrs.length ; i<iLen ; i++ )
+				{
+					if ( nTrs[i].nodeName.toUpperCase() == "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.toUpperCase() == "TD" )
+							{
+								aLocalData[jInner] = $.trim(nTds[j].innerHTML);
+								jInner++;
+							}
+						}
+					}
+				}
+			}
+			
+			/* Gather in the TD elements of the Table - note that this is basically the same as
+			 * fnGetTdNodes, but that function takes account of hidden columns, which we haven't yet
+			 * setup!
+			 */
+			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.toUpperCase() == "TD" )
+					{
+						nTds.push( nTd );
+					}
+				}
+			}
+			
+			/* Sanity check */
+			if ( nTds.length != nTrs.length * oSettings.aoColumns.length )
+			{
+				_fnLog( oSettings, 1, "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." );
+			}
+			
+			/* Now process by column */
+			for ( iColumn=0, iColumns=oSettings.aoColumns.length ; iColumn<iColumns ; iColumn++ )
+			{
+				/* Get the title of the column - unless there is a user set one */
+				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;
+				
+				/* A single loop to rule them all (and be more efficient) */
+				if ( bAutoType || bRender || bClass || !bVisible )
+				{
+					for ( iRow=0, iRows=oSettings.aoData.length ; iRow<iRows ; iRow++ )
+					{
+						nCell = nTds[ (iRow*iColumns) + iColumn ];
+						
+						/* Type detection */
+						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 )
+								{
+									/* String is always the 'fallback' option */
+									oSettings.aoColumns[iColumn].sType = 'string';
+								}
+							}
+						}
+						
+						/* Rendering */
+						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 )
+							{
+								/* Use the rendered data for filtering/sorting */
+								oSettings.aoData[iRow]._aData[iColumn] = sRendered;
+							}
+						}
+						
+						/* Classes */
+						if ( bClass )
+						{
+							nCell.className += ' '+oSettings.aoColumns[iColumn].sClass;
+						}
+						
+						/* Column visability */
+						if ( !bVisible )
+						{
+							oSettings.aoData[iRow]._anHidden[iColumn] = nCell;
+							nCell.parentNode.removeChild( nCell );
+						}
+						else
+						{
+							oSettings.aoData[iRow]._anHidden[iColumn] = null;
+						}
+					}
+				}
+			}
+		}
+		
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Drawing functions
+		 */
+		
+		/*
+		 * Function: _fnDrawHead
+		 * Purpose:  Create the HTML header for the table
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnDrawHead( oSettings )
+		{
+			var i, nTh, iLen, j, jLen;
+			var anTr = oSettings.nTHead.getElementsByTagName('tr');
+			var iThs = oSettings.nTHead.getElementsByTagName('th').length;
+			var iCorrector = 0;
+			var jqChildren;
+			
+			/* If there is a header in place - then use it - otherwise it's going to get nuked... */
+			if ( iThs !== 0 )
+			{
+				/* We've got a thead from the DOM, so remove hidden columns and apply width to vis cols */
+				for ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
+				{
+					nTh = oSettings.aoColumns[i].nTh;
+					
+					if ( oSettings.aoColumns[i].sClass !== null )
+					{
+						$(nTh).addClass( oSettings.aoColumns[i].sClass );
+					}
+					
+					/* Cache and remove (if needed) any extra elements for this column in the header */
+					for ( j=1, jLen=anTr.length ; j<jLen ; j++ )
+					{
+						jqChildren = $(anTr[j]).children();
+						oSettings.aoColumns[i].anThExtra.push( jqChildren[i-iCorrector] );
+						if ( !oSettings.aoColumns[i].bVisible )
+						{
+							anTr[j].removeChild( jqChildren[i-iCorrector] );
+						}
+					}
+					
+					if ( oSettings.aoColumns[i].bVisible )
+					{
+						/* Set the title of the column if it is user defined (not what was auto detected) */
+						if ( oSettings.aoColumns[i].sTitle != nTh.innerHTML )
+						{
+							nTh.innerHTML = oSettings.aoColumns[i].sTitle;
+						}
+					}
+					else
+					{
+						nTh.parentNode.removeChild( nTh );
+						iCorrector++;
+					}
+				}
+			}
+			else
+			{
+				/* We don't have a header in the DOM - so we are going to have to create one */
+				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].sClass !== null )
+					{
+						$(nTh).addClass( oSettings.aoColumns[i].sClass );
+					}
+					
+					if ( oSettings.aoColumns[i].bVisible )
+					{
+						nTr.appendChild( nTh );
+					}
+				}
+				$(oSettings.nTHead).html( '' )[0].appendChild( nTr );
+			}
+			
+			/* Add the extra markup needed by jQuery UI's themes */
+			if ( oSettings.bJUI )
+			{
+				for ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
+				{
+					nTh = oSettings.aoColumns[i].nTh;
+					
+					var nDiv = document.createElement('div');
+					nDiv.className = oSettings.oClasses.sSortJUIWrapper;
+					$(nTh).contents().appendTo(nDiv);
+					
+					nDiv.appendChild( document.createElement('span') );
+					nTh.appendChild( nDiv );
+				}
+			}
+			
+			/* Add sort listener */
+			var fnNoSelect = function (e) {
+				this.onselectstart = function() { return false; };
+				return false;
+			};
+			
+			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 );
+						
+						/* Take the brutal approach to cancelling text selection in header */
+						$(oSettings.aoColumns[i].nTh).bind( 'mousedown.DT', fnNoSelect );
+					}
+					else
+					{
+						$(oSettings.aoColumns[i].nTh).addClass( oSettings.oClasses.sSortableNone );
+					}
+				}
+			}
+			
+			/* Cache the footer elements */
+			if ( oSettings.nTFoot !== null )
+			{
+				iCorrector = 0;
+				anTr = oSettings.nTFoot.getElementsByTagName('tr');
+				var nTfs = anTr[0].getElementsByTagName('th');
+				
+				for ( i=0, iLen=nTfs.length ; i<iLen ; i++ )
+				{
+					if ( typeof oSettings.aoColumns[i] != 'undefined' )
+					{
+						oSettings.aoColumns[i].nTf = nTfs[i-iCorrector];
+						
+						if ( oSettings.oClasses.sFooterTH !== "" )
+						{
+							oSettings.aoColumns[i].nTf.className += " "+oSettings.oClasses.sFooterTH;
+						}
+						
+						/* Deal with any extra elements for this column from the footer */
+						for ( j=1, jLen=anTr.length ; j<jLen ; j++ )
+						{
+							jqChildren = $(anTr[j]).children();
+							oSettings.aoColumns[i].anTfExtra.push( jqChildren[i-iCorrector] );
+							if ( !oSettings.aoColumns[i].bVisible )
+							{
+								anTr[j].removeChild( jqChildren[i-iCorrector] );
+							}
+						}
+						
+						if ( !oSettings.aoColumns[i].bVisible )
+						{
+							nTfs[i-iCorrector].parentNode.removeChild( nTfs[i-iCorrector] );
+							iCorrector++;
+						}
+					}
+				}
+			}
+		}
+		
+		/*
+		 * Function: _fnDraw
+		 * Purpose:  Insert the required TR nodes into the table for display
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnDraw( oSettings )
+		{
+			var i, iLen;
+			var anRows = [];
+			var iRowCount = 0;
+			var bRowError = false;
+			var iStrips = oSettings.asStripClasses.length;
+			var iOpenRows = oSettings.aoOpenRows.length;
+			
+			oSettings.bDrawing = true;
+			
+			/* Check and see if we have an initial draw position from state saving */
+			if ( typeof oSettings.iInitDisplayStart != 'undefined' && oSettings.iInitDisplayStart != -1 )
+			{
+				if ( oSettings.oFeatures.bServerSide )
+				{
+					oSettings._iDisplayStart = oSettings.iInitDisplayStart;
+				}
+				else
+				{
+					oSettings._iDisplayStart = (oSettings.iInitDisplayStart >= oSettings.fnRecordsDisplay()) ?
+						0 : oSettings.iInitDisplayStart;
+				}
+				oSettings.iInitDisplayStart = -1;
+				_fnCalculateEnd( oSettings );
+			}
+			
+			/* If we are dealing with Ajax - do it here */
+			if ( !oSettings.bDestroying && oSettings.oFeatures.bServerSide && 
+			     !_fnAjaxUpdate( oSettings ) )
+			{
+				return;
+			}
+			else if ( !oSettings.oFeatures.bServerSide )
+			{
+				oSettings.iDraw++;
+			}
+			
+			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;
+					
+					/* Remove the old stripping classes and then add the new one */
+					if ( iStrips !== 0 )
+					{
+						var sStrip = oSettings.asStripClasses[ iRowCount % iStrips ];
+						if ( aoData._sRowStripe != sStrip )
+						{
+							$(nRow).removeClass( aoData._sRowStripe ).addClass( sStrip );
+							aoData._sRowStripe = sStrip;
+						}
+					}
+					
+					/* Custom row callback function - might want to manipule the row */
+					if ( typeof oSettings.fnRowCallback == "function" )
+					{
+						nRow = oSettings.fnRowCallback.call( oSettings.oInstance, nRow, 
+							oSettings.aoData[ oSettings.aiDisplay[j] ]._aData, iRowCount, j );
+						if ( !nRow && !bRowError )
+						{
+							_fnLog( oSettings, 0, "A node was not returned by fnRowCallback" );
+							bRowError = true;
+						}
+					}
+					
+					anRows.push( nRow );
+					iRowCount++;
+					
+					/* If there is an open row - and it is attached to this parent - attach it on redraw */
+					if ( iOpenRows !== 0 )
+					{
+						for ( var k=0 ; k<iOpenRows ; k++ )
+						{
+							if ( nRow == oSettings.aoOpenRows[k].nParent )
+							{
+								anRows.push( oSettings.aoOpenRows[k].nTr );
+							}
+						}
+					}
+				}
+			}
+			else
+			{
+				/* Table is empty - create a row with an empty message in it */
+				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 = _fnVisbleColumns( oSettings );
+				nTd.className = oSettings.oClasses.sRowEmpty;
+				if ( typeof oSettings.oLanguage.sEmptyTable != 'undefined' &&
+				     oSettings.fnRecordsTotal() === 0 )
+				{
+					nTd.innerHTML = oSettings.oLanguage.sEmptyTable;
+				}
+				else
+				{
+					nTd.innerHTML = oSettings.oLanguage.sZeroRecords.replace(
+						'_MAX_', oSettings.fnFormatNumber(oSettings.fnRecordsTotal()) );
+				}
+				
+				anRows[ iRowCount ].appendChild( nTd );
+			}
+			
+			/* Callback the header and footer custom funcation if there is one */
+			if ( typeof oSettings.fnHeaderCallback == 'function' )
+			{
+				oSettings.fnHeaderCallback.call( oSettings.oInstance, $('>tr', oSettings.nTHead)[0], 
+					_fnGetDataMaster( oSettings ), oSettings._iDisplayStart, oSettings.fnDisplayEnd(),
+					oSettings.aiDisplay );
+			}
+			
+			if ( typeof oSettings.fnFooterCallback == 'function' )
+			{
+				oSettings.fnFooterCallback.call( oSettings.oInstance, $('>tr', oSettings.nTFoot)[0], 
+					_fnGetDataMaster( oSettings ), oSettings._iDisplayStart, oSettings.fnDisplayEnd(),
+					oSettings.aiDisplay );
+			}
+			
+			/* 
+			 * Need to remove any old row from the display - note we can't just empty the tbody using
+			 * $().html('') since this will unbind the jQuery event handlers (even although the node 
+			 * still exists!) - equally we can't use innerHTML, since IE throws an exception.
+			 */
+			var
+				nAddFrag = document.createDocumentFragment(),
+				nRemoveFrag = document.createDocumentFragment(),
+				nBodyPar, nTrs;
+			
+			if ( oSettings.nTBody )
+			{
+				nBodyPar = oSettings.nTBody.parentNode;
+				nRemoveFrag.appendChild( oSettings.nTBody );
+				
+				/* When doing infinite scrolling, only remove child rows when sorting, filtering or start
+				 * up. When not infinite scroll, always do it.
+				 */
+				if ( !oSettings.oScroll.bInfinite || !oSettings._bInitComplete ||
+				 	oSettings.bSorted || oSettings.bFiltered )
+				{
+					nTrs = oSettings.nTBody.childNodes;
+					for ( i=nTrs.length-1 ; i>=0 ; i-- )
+					{
+						nTrs[i].parentNode.removeChild( nTrs[i] );
+					}
+				}
+				
+				/* Put the draw table into the dom */
+				for ( i=0, iLen=anRows.length ; i<iLen ; i++ )
+				{
+					nAddFrag.appendChild( anRows[i] );
+				}
+				
+				oSettings.nTBody.appendChild( nAddFrag );
+				if ( nBodyPar !== null )
+				{
+					nBodyPar.appendChild( oSettings.nTBody );
+				}
+			}
+			
+			/* Call all required callback functions for the end of a draw */
+			for ( i=oSettings.aoDrawCallback.length-1 ; i>=0 ; i-- )
+			{
+				oSettings.aoDrawCallback[i].fn.call( oSettings.oInstance, oSettings );
+			}
+			
+			/* Draw is complete, sorting and filtering must be as well */
+			oSettings.bSorted = false;
+			oSettings.bFiltered = false;
+			oSettings.bDrawing = false;
+			
+			if ( oSettings.oFeatures.bServerSide )
+			{
+				_fnProcessingDisplay( oSettings, false );
+				if ( typeof oSettings._bInitComplete == 'undefined' )
+				{
+					_fnInitComplete( oSettings );
+				}
+			}
+		}
+		
+		/*
+		 * Function: _fnReDraw
+		 * Purpose:  Redraw the table - taking account of the various features which are enabled
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnReDraw( oSettings )
+		{
+			if ( oSettings.oFeatures.bSort )
+			{
+				/* Sorting will refilter and draw for us */
+				_fnSort( oSettings, oSettings.oPreviousSearch );
+			}
+			else if ( oSettings.oFeatures.bFilter )
+			{
+				/* Filtering will redraw for us */
+				_fnFilterComplete( oSettings, oSettings.oPreviousSearch );
+			}
+			else
+			{
+				_fnCalculateEnd( oSettings );
+				_fnDraw( oSettings );
+			}
+		}
+		
+		/*
+		 * Function: _fnAjaxUpdate
+		 * Purpose:  Update the table using an Ajax call
+		 * Returns:  bool: block the table drawing or not
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnAjaxUpdate( oSettings )
+		{
+			if ( oSettings.bAjaxDataGet )
+			{
+				_fnProcessingDisplay( oSettings, true );
+				var iColumns = oSettings.aoColumns.length;
+				var aoData = [];
+				var i;
+				
+				/* Paging and general */
+				oSettings.iDraw++;
+				aoData.push( { "name": "sEcho",          "value": oSettings.iDraw } );
+				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 } );
+				
+				/* Filtering */
+				if ( oSettings.oFeatures.bFilter !== false )
+				{
+					aoData.push( { "name": "sSearch", "value": oSettings.oPreviousSearch.sSearch } );
+					aoData.push( { "name": "bRegex",  "value": oSettings.oPreviousSearch.bRegex } );
+					for ( i=0 ; i<iColumns ; i++ )
+					{
+						aoData.push( { "name": "sSearch_"+i,     "value": oSettings.aoPreSearchCols[i].sSearch } );
+						aoData.push( { "name": "bRegex_"+i,      "value": oSettings.aoPreSearchCols[i].bRegex } );
+						aoData.push( { "name": "bSearchable_"+i, "value": oSettings.aoColumns[i].bSearchable } );
+					}
+				}
+				
+				/* Sorting */
+				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.call( oSettings.oInstance, oSettings.sAjaxSource, aoData,
+					function(json) {
+						_fnAjaxUpdateDraw( oSettings, json );
+					} );
+				return false;
+			}
+			else
+			{
+				return true;
+			}
+		}
+		
+		/*
+		 * Function: _fnAjaxUpdateDraw
+		 * Purpose:  Data the data from the server (nuking the old) and redraw the table
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           object:json - json data return from the server.
+		 *             The following must be defined:
+		 *               iTotalRecords, iTotalDisplayRecords, aaData
+		 *             The following may be defined:
+		 *               sColumns
+		 */
+		function _fnAjaxUpdateDraw ( oSettings, json )
+		{
+			if ( typeof json.sEcho != 'undefined' )
+			{
+				/* Protect against old returns over-writing a new one. Possible when you get
+				 * very fast interaction, and later queires are completed much faster
+				 */
+				if ( json.sEcho*1 < oSettings.iDraw )
+				{
+					return;
+				}
+				else
+				{
+					oSettings.iDraw = json.sEcho * 1;
+				}
+			}
+			
+			if ( !oSettings.oScroll.bInfinite ||
+				   (oSettings.oScroll.bInfinite && (oSettings.bSorted || oSettings.bFiltered)) )
+			{
+				_fnClearTable( oSettings );
+			}
+			oSettings._iRecordsTotal = json.iTotalRecords;
+			oSettings._iRecordsDisplay = json.iTotalDisplayRecords;
+			
+			/* Determine if reordering is required */
+			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 )
+				{
+					/* If we need to re-order, then create a new array with the correct order and add it */
+					var aData = [];
+					for ( var j=0, jLen=oSettings.aoColumns.length ; j<jLen ; j++ )
+					{
+						aData.push( json.aaData[i][ aiIndex[j] ] );
+					}
+					_fnAddData( oSettings, aData );
+				}
+				else
+				{
+					/* No re-order required, sever got it "right" - just straight add */
+					_fnAddData( oSettings, json.aaData[i] );
+				}
+			}
+			oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
+			
+			oSettings.bAjaxDataGet = false;
+			_fnDraw( oSettings );
+			oSettings.bAjaxDataGet = true;
+			_fnProcessingDisplay( oSettings, false );
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Options (features) HTML
+		 */
+		
+		/*
+		 * Function: _fnAddOptionsHtml
+		 * Purpose:  Add the options to the page HTML for the table
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnAddOptionsHtml ( oSettings )
+		{
+			/*
+			 * Create a temporary, empty, div which we can later on replace with what we have generated
+			 * we do it this way to rendering the 'options' html offline - speed :-)
+			 */
+			var nHolding = document.createElement( 'div' );
+			oSettings.nTable.parentNode.insertBefore( nHolding, oSettings.nTable );
+			
+			/* 
+			 * All DataTables are wrapped in a div - this is not currently optional - backwards 
+			 * compatability. It can be removed if you don't want it.
+			 */
+			oSettings.nTableWrapper = document.createElement( 'div' );
+			oSettings.nTableWrapper.className = oSettings.oClasses.sWrapper;
+			if ( oSettings.sTableId !== '' )
+			{
+				oSettings.nTableWrapper.setAttribute( 'id', oSettings.sTableId+'_wrapper' );
+			}
+			
+			/* Track where we want to insert the option */
+			var nInsertNode = oSettings.nTableWrapper;
+			
+			/* Loop over the user set positioning and place the elements as needed */
+			var aDom = oSettings.sDom.split('');
+			var nTmp, iPushFeature, cOption, nNewNode, cNext, sAttr, j;
+			for ( var i=0 ; i<aDom.length ; i++ )
+			{
+				iPushFeature = 0;
+				cOption = aDom[i];
+				
+				if ( cOption == '<' )
+				{
+					/* New container div */
+					nNewNode = document.createElement( 'div' );
+					
+					/* Check to see if we should append an id and/or a class name to the container */
+					cNext = aDom[i+1];
+					if ( cNext == "'" || cNext == '"' )
+					{
+						sAttr = "";
+						j = 2;
+						while ( aDom[i+j] != cNext )
+						{
+							sAttr += aDom[i+j];
+							j++;
+						}
+						
+						/* Replace jQuery UI constants */
+						if ( sAttr == "H" )
+						{
+							sAttr = "fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix";
+						}
+						else if ( sAttr == "F" )
+						{
+							sAttr = "fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix";
+						}
+						
+						/* The attribute can be in the format of "#id.class", "#id" or "class" This logic
+						 * breaks the string into parts and applies them as needed
+						 */
+						if ( sAttr.indexOf('.') != -1 )
+						{
+							var aSplit = sAttr.split('.');
+							nNewNode.setAttribute('id', aSplit[0].substr(1, aSplit[0].length-1) );
+							nNewNode.className = aSplit[1];
+						}
+						else if ( sAttr.charAt(0) == "#" )
+						{
+							nNewNode.setAttribute('id', sAttr.substr(1, sAttr.length-1) );
+						}
+						else
+						{
+							nNewNode.className = sAttr;
+						}
+						
+						i += j; /* Move along the position array */
+					}
+					
+					nInsertNode.appendChild( nNewNode );
+					nInsertNode = nNewNode;
+				}
+				else if ( cOption == '>' )
+				{
+					/* End container div */
+					nInsertNode = nInsertNode.parentNode;
+				}
+				else if ( cOption == 'l' && oSettings.oFeatures.bPaginate && oSettings.oFeatures.bLengthChange )
+				{
+					/* Length */
+					nTmp = _fnFeatureHtmlLength( oSettings );
+					iPushFeature = 1;
+				}
+				else if ( cOption == 'f' && oSettings.oFeatures.bFilter )
+				{
+					/* Filter */
+					nTmp = _fnFeatureHtmlFilter( oSettings );
+					iPushFeature = 1;
+				}
+				else if ( cOption == 'r' && oSettings.oFeatures.bProcessing )
+				{
+					/* pRocessing */
+					nTmp = _fnFeatureHtmlProcessing( oSettings );
+					iPushFeature = 1;
+				}
+				else if ( cOption == 't' )
+				{
+					/* Table */
+					nTmp = _fnFeatureHtmlTable( oSettings );
+					iPushFeature = 1;
+				}
+				else if ( cOption ==  'i' && oSettings.oFeatures.bInfo )
+				{
+					/* Info */
+					nTmp = _fnFeatureHtmlInfo( oSettings );
+					iPushFeature = 1;
+				}
+				else if ( cOption == 'p' && oSettings.oFeatures.bPaginate )
+				{
+					/* Pagination */
+					nTmp = _fnFeatureHtmlPaginate( oSettings );
+					iPushFeature = 1;
+				}
+				else if ( _oExt.aoFeatures.length !== 0 )
+				{
+					/* Plug-in features */
+					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;
+						}
+					}
+				}
+				
+				/* Add to the 2D features array */
+				if ( iPushFeature == 1 && nTmp !== null )
+				{
+					if ( typeof oSettings.aanFeatures[cOption] != 'object' )
+					{
+						oSettings.aanFeatures[cOption] = [];
+					}
+					oSettings.aanFeatures[cOption].push( nTmp );
+					nInsertNode.appendChild( nTmp );
+				}
+			}
+			
+			/* Built our DOM structure - replace the holding div with what we want */
+			nHolding.parentNode.replaceChild( oSettings.nTableWrapper, nHolding );
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Feature: Filtering
+		 */
+		
+		/*
+		 * Function: _fnFeatureHtmlTable
+		 * Purpose:  Add any control elements for the table - specifically scrolling
+		 * Returns:  node: - Node to add to the DOM
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnFeatureHtmlTable ( oSettings )
+		{
+			/* Chack if scrolling is enabled or not - if not then leave the DOM unaltered */
+			if ( oSettings.oScroll.sX === "" && oSettings.oScroll.sY === "" )
+			{
+				return oSettings.nTable;
+			}
+			
+			/*
+			 * The HTML structure that we want to generate in this function is:
+			 *  div - nScroller
+			 *    div - nScrollHead
+			 *      div - nScrollHeadInner
+			 *        table - nScrollHeadTable
+			 *          thead - nThead
+			 *    div - nScrollBody
+			 *      table - oSettings.nTable
+			 *        thead - nTheadSize
+			 *        tbody - nTbody
+			 *    div - nScrollFoot
+			 *      div - nScrollFootInner
+			 *        table - nScrollFootTable
+			 *          tfoot - nTfoot
+			 */
+			var
+			 	nScroller = document.createElement('div'),
+			 	nScrollHead = document.createElement('div'),
+			 	nScrollHeadInner = document.createElement('div'),
+			 	nScrollBody = document.createElement('div'),
+			 	nScrollFoot = document.createElement('div'),
+			 	nScrollFootInner = document.createElement('div'),
+			 	nScrollHeadTable = oSettings.nTable.cloneNode(false),
+			 	nScrollFootTable = oSettings.nTable.cloneNode(false),
+				nThead = oSettings.nTable.getElementsByTagName('thead')[0],
+			 	nTfoot = oSettings.nTable.getElementsByTagName('tfoot').length === 0 ? null : 
+					oSettings.nTable.getElementsByTagName('tfoot')[0],
+				oClasses = (typeof oInit.bJQueryUI != 'undefined' && oInit.bJQueryUI) ?
+			 		_oExt.oJUIClasses : _oExt.oStdClasses;
+			
+			nScrollHead.appendChild( nScrollHeadInner );
+			nScrollFoot.appendChild( nScrollFootInner );
+			nScrollBody.appendChild( oSettings.nTable );
+			nScroller.appendChild( nScrollHead );
+			nScroller.appendChild( nScrollBody );
+			nScrollHeadInner.appendChild( nScrollHeadTable );
+			nScrollHeadTable.appendChild( nThead );
+			if ( nTfoot !== null )
+			{
+				nScroller.appendChild( nScrollFoot );
+				nScrollFootInner.appendChild( nScrollFootTable );
+				nScrollFootTable.appendChild( nTfoot );
+			}
+			
+			nScroller.className = oClasses.sScrollWrapper;
+			nScrollHead.className = oClasses.sScrollHead;
+			nScrollHeadInner.className = oClasses.sScrollHeadInner;
+			nScrollBody.className = oClasses.sScrollBody;
+			nScrollFoot.className = oClasses.sScrollFoot;
+			nScrollFootInner.className = oClasses.sScrollFootInner;
+			
+			if ( oSettings.oScroll.bAutoCss )
+			{
+				nScrollHead.style.overflow = "hidden";
+				nScrollHead.style.position = "relative";
+				nScrollFoot.style.overflow = "hidden";
+				nScrollBody.style.overflow = "auto";
+			}
+			
+			nScrollHead.style.border = "0";
+			nScrollHead.style.width = "100%";
+			nScrollFoot.style.border = "0";
+			nScrollHeadInner.style.width = "150%"; /* will be overwritten */
+			
+			/* Modify attributes to respect the clones */
+			nScrollHeadTable.removeAttribute('id');
+			nScrollHeadTable.style.marginLeft = "0";
+			oSettings.nTable.style.marginLeft = "0";
+			if ( nTfoot !== null )
+			{
+				nScrollFootTable.removeAttribute('id');
+				nScrollFootTable.style.marginLeft = "0";
+			}
+			
+			/* Move any caption elements from the body to the header */
+			var nCaptions = $('>caption', oSettings.nTable);
+			for ( var i=0, iLen=nCaptions.length ; i<iLen ; i++ )
+			{
+				nScrollHeadTable.appendChild( nCaptions[i] );
+			}
+			
+			/*
+			 * Sizing
+			 */
+			/* When xscrolling add the width and a scroller to move the header with the body */
+			if ( oSettings.oScroll.sX !== "" )
+			{
+				nScrollHead.style.width = _fnStringToCss( oSettings.oScroll.sX );
+				nScrollBody.style.width = _fnStringToCss( oSettings.oScroll.sX );
+				
+				if ( nTfoot !== null )
+				{
+					nScrollFoot.style.width = _fnStringToCss( oSettings.oScroll.sX );	
+				}
+				
+				/* When the body is scrolled, then we also want to scroll the headers */
+				$(nScrollBody).scroll( function (e) {
+					nScrollHead.scrollLeft = this.scrollLeft;
+					
+					if ( nTfoot !== null )
+					{
+						nScrollFoot.scrollLeft = this.scrollLeft;
+					}
+				} );
+			}
+			
+			/* When yscrolling, add the height */
+			if ( oSettings.oScroll.sY !== "" )
+			{
+				nScrollBody.style.height = _fnStringToCss( oSettings.oScroll.sY );
+			}
+			
+			/* Redraw - align columns across the tables */
+			oSettings.aoDrawCallback.push( {
+				"fn": _fnScrollDraw,
+				"sName": "scrolling"
+			} );
+			
+			/* Infinite scrolling event handlers */
+			if ( oSettings.oScroll.bInfinite )
+			{
+				$(nScrollBody).scroll( function() {
+					/* Use a blocker to stop scrolling from loading more data while other data is still loading */
+					if ( !oSettings.bDrawing )
+					{
+						/* Check if we should load the next data set */
+						if ( $(this).scrollTop() + $(this).height() > 
+							$(oSettings.nTable).height() - oSettings.oScroll.iLoadGap )
+						{
+							/* Only do the redraw if we have to - we might be at the end of the data */
+							if ( oSettings.fnDisplayEnd() < oSettings.fnRecordsDisplay() )
+							{
+								_fnPageChange( oSettings, 'next' );
+								_fnCalculateEnd( oSettings );
+								_fnDraw( oSettings );
+							}
+						}
+					}
+				} );
+			}
+			
+			oSettings.nScrollHead = nScrollHead;
+			oSettings.nScrollFoot = nScrollFoot;
+			
+			return nScroller;
+		}
+		
+		/*
+		 * Function: _fnScrollDraw
+		 * Purpose:  Update the various tables for resizing
+		 * Returns:  node: - Node to add to the DOM
+		 * Inputs:   object:o - dataTables settings object
+		 * Notes:    It's a bit of a pig this function, but basically the idea to:
+		 *   1. Re-create the table inside the scrolling div
+		 *   2. Take live measurements from the DOM
+		 *   3. Apply the measurements
+		 *   4. Clean up
+		 */
+		function _fnScrollDraw ( o )
+		{
+			var
+				nScrollHeadInner = o.nScrollHead.getElementsByTagName('div')[0],
+				nScrollHeadTable = nScrollHeadInner.getElementsByTagName('table')[0],
+				nScrollBody = o.nTable.parentNode,
+				i, iLen, j, jLen, anHeadToSize, anHeadSizers, anFootSizers, anFootToSize, oStyle, iVis,
+				iWidth, aApplied=[], iSanityWidth;
+			
+			/*
+			 * 1. Re-create the table inside the scrolling div
+			 */
+			
+			/* Remove the old minimised thead and tfoot elements in the inner table */
+			var nTheadSize = o.nTable.getElementsByTagName('thead');
+			if ( nTheadSize.length > 0 )
+			{
+				o.nTable.removeChild( nTheadSize[0] );
+			}
+			
+			if ( o.nTFoot !== null )
+			{
+				/* Remove the old minimised footer element in the cloned header */
+				var nTfootSize = o.nTable.getElementsByTagName('tfoot');
+				if ( nTfootSize.length > 0 )
+				{
+					o.nTable.removeChild( nTfootSize[0] );
+				}
+			}
+			
+			/* Clone the current header and footer elements and then place it into the inner table */
+			nTheadSize = o.nTHead.cloneNode(true);
+			o.nTable.insertBefore( nTheadSize, o.nTable.childNodes[0] );
+			
+			if ( o.nTFoot !== null )
+			{
+				nTfootSize = o.nTFoot.cloneNode(true);
+				o.nTable.insertBefore( nTfootSize, o.nTable.childNodes[1] );
+			}
+			
+			/*
+			 * 2. Take live measurements from the DOM - do not alter the DOM itself!
+			 */
+			
+			/* Remove old sizing and apply the calculated column widths
+			 * Get the unique column headers in the newly created (cloned) header. We want to apply the
+			 * calclated sizes to this header
+			 */
+			var nThs = _fnGetUniqueThs( nTheadSize );
+			for ( i=0, iLen=nThs.length ; i<iLen ; i++ )
+			{
+				iVis = _fnVisibleToColumnIndex( o, i );
+				nThs[i].style.width = o.aoColumns[iVis].sWidth;
+			}
+			
+			if ( o.nTFoot !== null )
+			{
+				_fnApplyToChildren( function(n) {
+					n.style.width = "";
+				}, nTfootSize.getElementsByTagName('tr') );
+			}
+			
+			/* Size the table as a whole */
+			iSanityWidth = $(o.nTable).outerWidth();
+			if ( o.oScroll.sX === "" )
+			{
+				/* No x scrolling */
+				o.nTable.style.width = "100%";
+				
+				/* I know this is rubbish - but IE7 will make the width of the table when 100% include
+				 * the scrollbar - which is shouldn't. This needs feature detection in future - to do
+				 */
+				if ( $.browser.msie && $.browser.version <= 7 )
+				{
+					o.nTable.style.width = _fnStringToCss( $(o.nTable).outerWidth()-o.oScroll.iBarWidth );
+				}
+			}
+			else
+			{
+				if ( o.oScroll.sXInner !== "" )
+				{
+					/* x scroll inner has been given - use it */
+					o.nTable.style.width = _fnStringToCss(o.oScroll.sXInner);
+				}
+				else if ( iSanityWidth == $(nScrollBody).width() &&
+				   $(nScrollBody).height() < $(o.nTable).height() )
+				{
+					/* There is y-scrolling - try to take account of the y scroll bar */
+					o.nTable.style.width = _fnStringToCss( iSanityWidth-o.oScroll.iBarWidth );
+					if ( $(o.nTable).outerWidth() > iSanityWidth-o.oScroll.iBarWidth )
+					{
+						/* Not possible to take account of it */
+						o.nTable.style.width = _fnStringToCss( iSanityWidth );
+					}
+				}
+				else
+				{
+					/* All else fails */
+					o.nTable.style.width = _fnStringToCss( iSanityWidth );
+				}
+			}
+			
+			/* Recalculate the sanity width - now that we've applied the required width, before it was
+			 * a temporary variable. This is required because the column width calculation is done
+			 * before this table DOM is created.
+			 */
+			iSanityWidth = $(o.nTable).outerWidth();
+			
+			/* We want the hidden header to have zero height, so remove padding and borders. Then
+			 * set the width based on the real headers
+			 */
+			anHeadToSize = o.nTHead.getElementsByTagName('tr');
+			anHeadSizers = nTheadSize.getElementsByTagName('tr');
+			
+			_fnApplyToChildren( function(nSizer, nToSize) {
+				oStyle = nSizer.style;
+				oStyle.paddingTop = "0";
+				oStyle.paddingBottom = "0";
+				oStyle.borderTopWidth = "0";
+				oStyle.borderBottomWidth = "0";
+				oStyle.height = 0;
+				
+				iWidth = $(nSizer).width();
+				nToSize.style.width = _fnStringToCss( iWidth );
+				aApplied.push( iWidth );
+			}, anHeadSizers, anHeadToSize );
+			$(anHeadSizers).height(0);
+			
+			if ( o.nTFoot !== null )
+			{
+				/* Clone the current footer and then place it into the body table as a "hidden header" */
+				anFootSizers = nTfootSize.getElementsByTagName('tr');
+				anFootToSize = o.nTFoot.getElementsByTagName('tr');
+				
+				_fnApplyToChildren( function(nSizer, nToSize) {
+					oStyle = nSizer.style;
+					oStyle.paddingTop = "0";
+					oStyle.paddingBottom = "0";
+					oStyle.borderTopWidth = "0";
+					oStyle.borderBottomWidth = "0";
+					oStyle.height = 0;
+					
+					iWidth = $(nSizer).width();
+					nToSize.style.width = _fnStringToCss( iWidth );
+					aApplied.push( iWidth );
+				}, anFootSizers, anFootToSize );
+				$(anFootSizers).height(0);
+			}
+			
+			/*
+			 * 3. Apply the measurements
+			 */
+			
+			/* "Hide" the header and footer that we used for the sizing. We want to also fix their width
+			 * to what they currently are
+			 */
+			_fnApplyToChildren( function(nSizer) {
+				nSizer.innerHTML = "";
+				nSizer.style.width = _fnStringToCss( aApplied.shift() );
+			}, anHeadSizers );
+			
+			if ( o.nTFoot !== null )
+			{
+				_fnApplyToChildren( function(nSizer) {
+					nSizer.innerHTML = "";
+					nSizer.style.width = _fnStringToCss( aApplied.shift() );
+				}, anFootSizers );
+			}
+			
+			/* Sanity check that the table is of a sensible width. If not then we are going to get
+			 * misalignment
+			 */
+			if ( $(o.nTable).outerWidth() < iSanityWidth )
+			{
+				if ( o.oScroll.sX === "" )
+				{
+					_fnLog( o, 1, "The table cannot fit into the current element which will cause column"+
+						" misalignment. It is suggested that you enable x-scrolling or increase the width"+
+						" the table has in which to be drawn" );
+				}
+				else if ( o.oScroll.sXInner !== "" )
+				{
+					_fnLog( o, 1, "The table cannot fit into the current element which will cause column"+
+						" misalignment. It is suggested that you increase the sScrollXInner property to"+
+						" allow it to draw in a larger area, or simply remove that parameter to allow"+
+						" automatic calculation" );
+				}
+			}
+			
+			
+			/*
+			 * 4. Clean up
+			 */
+			
+			if ( o.oScroll.sY === "" )
+			{
+				/* IE7< puts a vertical scrollbar in place (when it shouldn't be) due to subtracting
+				 * the scrollbar height from the visible display, rather than adding it on. We need to
+				 * set the height in order to sort this. Don't want to do it in any other browsers.
+				 */
+				if ( $.browser.msie && $.browser.version <= 7 )
+				{
+					nScrollBody.style.height = _fnStringToCss( o.nTable.offsetHeight+o.oScroll.iBarWidth );
+				}
+			}
+			
+			if ( o.oScroll.sY !== "" && o.oScroll.bCollapse )
+			{
+				nScrollBody.style.height = _fnStringToCss( o.oScroll.sY );
+				
+				var iExtra = (o.oScroll.sX !== "" && o.nTable.offsetWidth > nScrollBody.offsetWidth) ?
+				 	o.oScroll.iBarWidth : 0;
+				if ( o.nTable.offsetHeight < nScrollBody.offsetHeight )
+				{
+					nScrollBody.style.height = _fnStringToCss( $(o.nTable).height()+iExtra );
+				}
+			}
+			
+			/* Finally set the width's of the header and footer tables */
+			var iOuterWidth = $(o.nTable).outerWidth();
+			nScrollHeadTable.style.width = _fnStringToCss( iOuterWidth );
+			nScrollHeadInner.style.width = _fnStringToCss( iOuterWidth+o.oScroll.iBarWidth );
+			
+			if ( o.nTFoot !== null )
+			{
+				var
+					nScrollFootInner = o.nScrollFoot.getElementsByTagName('div')[0],
+					nScrollFootTable = nScrollFootInner.getElementsByTagName('table')[0];
+				
+				nScrollFootInner.style.width = _fnStringToCss( o.nTable.offsetWidth+o.oScroll.iBarWidth );
+				nScrollFootTable.style.width = _fnStringToCss( o.nTable.offsetWidth );
+			}
+			
+			/* If sorting or filtering has occured, jump the scrolling back to the top */
+			if ( o.bSorted || o.bFiltered )
+			{
+				nScrollBody.scrollTop = 0;
+			}
+		}
+		
+		/*
+		 * Function: _fnAjustColumnSizing
+		 * Purpose:  Ajust the table column widths for new data
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 * Notes:    You would probably want to do a redraw after calling this function!
+		 */
+		function _fnAjustColumnSizing ( oSettings )
+		{
+			/* Not interested in doing column width calculation if autowidth is disabled */
+			if ( oSettings.oFeatures.bAutoWidth === false )
+			{
+				return false;
+			}
+			
+			_fnCalculateColumnWidths( oSettings );
+			for ( var i=0 , iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
+			{
+				oSettings.aoColumns[i].nTh.style.width = oSettings.aoColumns[i].sWidth;
+			}
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Feature: Filtering
+		 */
+		
+		/*
+		 * Function: _fnFeatureHtmlFilter
+		 * Purpose:  Generate the node required for filtering text
+		 * Returns:  node
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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+'<input type="text" />';
+			
+			var jqFilter = $("input", nFilter);
+			jqFilter.val( oSettings.oPreviousSearch.sSearch.replace('"','&quot;') );
+			jqFilter.bind( 'keyup.DT', function(e) {
+				/* Update all other filter input elements for the new display */
+				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 );
+					}
+				}
+				
+				/* Now do the filter */
+				if ( this.value != oSettings.oPreviousSearch.sSearch )
+				{
+					_fnFilterComplete( oSettings, { 
+						"sSearch": this.value, 
+						"bRegex":  oSettings.oPreviousSearch.bRegex,
+						"bSmart":  oSettings.oPreviousSearch.bSmart 
+					} );
+				}
+			} );
+			
+			jqFilter.bind( 'keypress.DT', function(e) {
+				/* Prevent default */
+				if ( e.keyCode == 13 )
+				{
+					return false;
+				}
+			} );
+			
+			return nFilter;
+		}
+		
+		/*
+		 * Function: _fnFilterComplete
+		 * Purpose:  Filter the table using both the global filter and column based filtering
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           object:oSearch: search information
+		 *           int:iForce - optional - force a research of the master array (1) or not (undefined or 0)
+		 */
+		function _fnFilterComplete ( oSettings, oInput, iForce )
+		{
+			/* Filter on everything */
+			_fnFilter( oSettings, oInput.sSearch, iForce, oInput.bRegex, oInput.bSmart );
+			
+			/* Now do the individual column filter */
+			for ( var i=0 ; i<oSettings.aoPreSearchCols.length ; i++ )
+			{
+				_fnFilterColumn( oSettings, oSettings.aoPreSearchCols[i].sSearch, i, 
+					oSettings.aoPreSearchCols[i].bRegex, oSettings.aoPreSearchCols[i].bSmart );
+			}
+			
+			/* Custom filtering */
+			if ( _oExt.afnFiltering.length !== 0 )
+			{
+				_fnFilterCustom( oSettings );
+			}
+			
+			/* Tell the draw function we have been filtering */
+			oSettings.bFiltered = true;
+			
+			/* Redraw the table */
+			oSettings._iDisplayStart = 0;
+			_fnCalculateEnd( oSettings );
+			_fnDraw( oSettings );
+			
+			/* Rebuild search array 'offline' */
+			_fnBuildSearchArray( oSettings, 0 );
+		}
+		
+		/*
+		 * Function: _fnFilterCustom
+		 * Purpose:  Apply custom filtering functions
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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];
+					
+					/* Check if we should use this row based on the filtering function */
+					if ( !afnFilters[i]( oSettings, oSettings.aoData[iDisIndex]._aData, iDisIndex ) )
+					{
+						oSettings.aiDisplay.splice( j-iCorrector, 1 );
+						iCorrector++;
+					}
+				}
+			}
+		}
+		
+		/*
+		 * Function: _fnFilterColumn
+		 * Purpose:  Filter the table on a per-column basis
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           string:sInput - string to filter on
+		 *           int:iColumn - column to filter
+		 *           bool:bRegex - treat search string as a regular expression or not
+		 *           bool:bSmart - use smart filtering or not
+		 */
+		function _fnFilterColumn ( oSettings, sInput, iColumn, bRegex, bSmart )
+		{
+			if ( sInput === "" )
+			{
+				return;
+			}
+			
+			var iIndexCorrector = 0;
+			var rpSearch = _fnFilterCreateSearch( sInput, bRegex, bSmart );
+			
+			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
+		 * Purpose:  Filter the data table based on user input and draw the table
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           string:sInput - string to filter on
+		 *           int:iForce - optional - force a research of the master array (1) or not (undefined or 0)
+		 *           bool:bRegex - treat as a regular expression or not
+		 *           bool:bSmart - perform smart filtering or not
+		 */
+		function _fnFilter( oSettings, sInput, iForce, bRegex, bSmart )
+		{
+			var i;
+			var rpSearch = _fnFilterCreateSearch( sInput, bRegex, bSmart );
+			
+			/* Check if we are forcing or not - optional parameter */
+			if ( typeof iForce == 'undefined' || iForce === null )
+			{
+				iForce = 0;
+			}
+			
+			/* Need to take account of custom filtering functions - always filter */
+			if ( _oExt.afnFiltering.length !== 0 )
+			{
+				iForce = 1;
+			}
+			
+			/*
+			 * If the input is blank - we want the full data set
+			 */
+			if ( sInput.length <= 0 )
+			{
+				oSettings.aiDisplay.splice( 0, oSettings.aiDisplay.length);
+				oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
+			}
+			else
+			{
+				/*
+				 * We are starting a new search or the new search string is smaller 
+				 * then the old one (i.e. delete). Search from the master array
+			 	 */
+				if ( oSettings.aiDisplay.length == oSettings.aiDisplayMaster.length ||
+					   oSettings.oPreviousSearch.sSearch.length > sInput.length || iForce == 1 ||
+					   sInput.indexOf(oSettings.oPreviousSearch.sSearch) !== 0 )
+				{
+					/* Nuke the old display array - we are going to rebuild it */
+					oSettings.aiDisplay.splice( 0, oSettings.aiDisplay.length);
+					
+					/* Force a rebuild of the search array */
+					_fnBuildSearchArray( oSettings, 1 );
+					
+					/* Search through all records to populate the search array
+					 * The the oSettings.aiDisplayMaster and asDataSearch arrays have 1 to 1 
+					 * mapping
+					 */
+					for ( i=0 ; i<oSettings.aiDisplayMaster.length ; i++ )
+					{
+						if ( rpSearch.test(oSettings.asDataSearch[i]) )
+						{
+							oSettings.aiDisplay.push( oSettings.aiDisplayMaster[i] );
+						}
+					}
+			  }
+			  else
+				{
+			  	/* Using old search array - refine it - do it this way for speed
+			  	 * Don't have to search the whole master array again
+			 		 */
+			  	var iIndexCorrector = 0;
+			  	
+			  	/* Search the current results */
+			  	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.bRegex = bRegex;
+			oSettings.oPreviousSearch.bSmart = bSmart;
+		}
+		
+		/*
+		 * Function: _fnBuildSearchArray
+		 * Purpose:  Create an array which can be quickly search through
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           int:iMaster - use the master data array - optional
+		 */
+		function _fnBuildSearchArray ( oSettings, iMaster )
+		{
+			/* Clear out the old data */
+			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] = _fnBuildSearchRow( oSettings, 
+					oSettings.aoData[ aArray[i] ]._aData );
+			}
+		}
+		
+		/*
+		 * Function: _fnBuildSearchRow
+		 * Purpose:  Create a searchable string from a single data row
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           array:aData - aoData[]._aData array to use for the data to search
+		 */
+		function _fnBuildSearchRow( oSettings, aData )
+		{
+			var sSearch = '';
+			var nTmp = document.createElement('div');
+			
+			for ( var j=0, jLen=oSettings.aoColumns.length ; j<jLen ; j++ )
+			{
+				if ( oSettings.aoColumns[j].bSearchable )
+				{
+					var sData = aData[j];
+					sSearch += _fnDataToSearch( sData, oSettings.aoColumns[j].sType )+'  ';
+				}
+			}
+			
+			/* If it looks like there is an HTML entity in the string, attempt to decode it */
+			if ( sSearch.indexOf('&') !== -1 )
+			{
+				nTmp.innerHTML = sSearch;
+				sSearch = nTmp.textContent ? nTmp.textContent : nTmp.innerText;
+				
+				/* IE and Opera appear to put an newline where there is a <br> tag - remove it */
+				sSearch = sSearch.replace(/\n/g," ").replace(/\r/g,"");
+			}
+			
+			return sSearch;
+		}
+		
+		/*
+		 * Function: _fnFilterCreateSearch
+		 * Purpose:  Build a regular expression object suitable for searching a table
+		 * Returns:  RegExp: - constructed object
+		 * Inputs:   string:sSearch - string to search for
+		 *           bool:bRegex - treat as a regular expression or not
+		 *           bool:bSmart - perform smart filtering or not
+		 */
+		function _fnFilterCreateSearch( sSearch, bRegex, bSmart )
+		{
+			var asSearch, sRegExpString;
+			
+			if ( bSmart )
+			{
+				/* Generate the regular expression to use. Something along the lines of:
+				 * ^(?=.*?\bone\b)(?=.*?\btwo\b)(?=.*?\bthree\b).*$
+				 */
+				asSearch = bRegex ? sSearch.split( ' ' ) : _fnEscapeRegex( sSearch ).split( ' ' );
+				sRegExpString = '^(?=.*?'+asSearch.join( ')(?=.*?' )+').*$';
+				return new RegExp( sRegExpString, "i" );
+			}
+			else
+			{
+				sSearch = bRegex ? sSearch : _fnEscapeRegex( sSearch );
+				return new RegExp( sSearch, "i" );
+			}
+		}
+		
+		/*
+		 * Function: _fnDataToSearch
+		 * Purpose:  Convert raw data into something that the user can search on
+		 * Returns:  string: - search string
+		 * Inputs:   string:sData - data to be modified
+		 *           string:sType - data type
+		 */
+		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;
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Feature: Sorting
+		 */
+		
+		/*
+	 	 * Function: _fnSort
+		 * Purpose:  Change the order of the table
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           bool:bApplyClasses - optional - should we apply classes or not
+		 * Notes:    We always sort the master array and then apply a filter again
+		 *   if it is needed. This probably isn't optimal - but atm I can't think
+		 *   of any other way which is (each has disadvantages). we want to sort aiDisplayMaster - 
+		 *   but according to aoData[]._aData
+		 */
+		function _fnSort ( oSettings, bApplyClasses )
+		{
+			var
+				iDataSort, iDataType,
+				i, iLen, j, jLen,
+				aaSort = [],
+			 	aiOrig = [],
+				oSort = _oExt.oSort,
+				aoData = oSettings.aoData,
+				aoColumns = oSettings.aoColumns;
+			
+			/* No sorting required if server-side or no sorting array */
+			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();
+				}
+				
+				/* If there is a sorting data type, and a fuction belonging to it, then we need to
+				 * get the data from the developer's function and apply it for this column
+				 */
+				for ( i=0 ; i<aaSort.length ; i++ )
+				{
+					var iColumn = aaSort[i][0];
+					var iVisColumn = _fnColumnIndexToVisible( oSettings, iColumn );
+					var sDataType = oSettings.aoColumns[ iColumn ].sSortDataType;
+					if ( typeof _oExt.afnSortData[sDataType] != 'undefined' )
+					{
+						var aData = _oExt.afnSortData[sDataType]( oSettings, iColumn, iVisColumn );
+						for ( j=0, jLen=aoData.length ; j<jLen ; j++ )
+						{
+							aoData[j]._aData[iColumn] = aData[j];
+						}
+					}
+				}
+				
+				/* Create a value - key array of the current row positions such that we can use their
+				 * current position during the sort, if values match, in order to perform stable sorting
+				 */
+				for ( i=0, iLen=oSettings.aiDisplayMaster.length ; i<iLen ; i++ )
+				{
+					aiOrig[ oSettings.aiDisplayMaster[i] ] = i;
+				}
+				
+				/* Do the sort - here we want multi-column sorting based on a given data source (column)
+				 * and sorting function (from oSort) in a certain direction. It's reasonably complex to
+				 * follow on it's own, but this is what we want (example two column sorting):
+				 *  fnLocalSorting = function(a,b){
+				 *  	var iTest;
+				 *  	iTest = oSort['string-asc']('data11', 'data12');
+				 *  	if (iTest !== 0)
+				 *  		return iTest;
+				 *    iTest = oSort['numeric-desc']('data21', 'data22');
+				 *    if (iTest !== 0)
+				 *  		return iTest;
+				 *  	return oSort['numeric-asc']( aiOrig[a], aiOrig[b] );
+				 *  }
+				 * Basically we have a test for each sorting column, if the data in that column is equal,
+				 * test the next column. If all columns match, then we use a numeric sort on the row 
+				 * positions in the original data array to provide a stable sort.
+				 */
+				var iSortLen = aaSort.length;
+				oSettings.aiDisplayMaster.sort( function ( a, b ) {
+					var iTest;
+					for ( i=0 ; i<iSortLen ; i++ )
+					{
+						iDataSort = aoColumns[ aaSort[i][0] ].iDataSort;
+						iDataType = aoColumns[ iDataSort ].sType;
+						iTest = oSort[ iDataType+"-"+aaSort[i][1] ](
+							aoData[a]._aData[iDataSort],
+							aoData[b]._aData[iDataSort]
+						);
+						
+						if ( iTest !== 0 )
+						{
+							return iTest;
+						}
+					}
+					
+					return oSort['numeric-asc']( aiOrig[a], aiOrig[b] );
+				} );
+			}
+			
+			/* Alter the sorting classes to take account of the changes */
+			if ( typeof bApplyClasses == 'undefined' || bApplyClasses )
+			{
+				_fnSortingClasses( oSettings );
+			}
+			
+			/* Tell the draw function that we have sorted the data */
+			oSettings.bSorted = true;
+			
+			/* Copy the master data into the draw array and re-draw */
+			if ( oSettings.oFeatures.bFilter )
+			{
+				/* _fnFilter() will redraw the table for us */
+				_fnFilterComplete( oSettings, oSettings.oPreviousSearch, 1 );
+			}
+			else
+			{
+				oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
+				oSettings._iDisplayStart = 0; /* reset display back to page 0 */
+				_fnCalculateEnd( oSettings );
+				_fnDraw( oSettings );
+			}
+		}
+		
+		/*
+		 * Function: _fnSortAttachListener
+		 * Purpose:  Attach a sort handler (click) to a node
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           node:nNode - node to attach the handler to
+		 *           int:iDataIndex - column sorting index
+		 *           function:fnCallback - callback function - optional
+		 */
+		function _fnSortAttachListener ( oSettings, nNode, iDataIndex, fnCallback )
+		{
+			$(nNode).bind( 'click.DT', function (e) {
+				/* If the column is not sortable - don't to anything */
+				if ( oSettings.aoColumns[iDataIndex].bSortable === false )
+				{
+					return;
+				}
+				
+				/*
+				 * This is a little bit odd I admit... I declare a temporary function inside the scope of
+				 * _fnDrawHead and the click handler in order that the code presented here can be used 
+				 * twice - once for when bProcessing is enabled, and another time for when it is 
+				 * disabled, as we need to perform slightly different actions.
+				 *   Basically the issue here is that the Javascript engine in modern browsers don't 
+				 * appear to allow the rendering engine to update the display while it is still excuting
+				 * it's thread (well - it does but only after long intervals). This means that the 
+				 * 'processing' display doesn't appear for a table sort. To break the js thread up a bit
+				 * I force an execution break by using setTimeout - but this breaks the expected 
+				 * thread continuation for the end-developer's point of view (their code would execute
+				 * too early), so we on;y do it when we absolutely have to.
+				 */
+				var fnInnerSorting = function () {
+					var iColumn, iNextSort;
+					
+					/* If the shift key is pressed then we are multipe column sorting */
+					if ( e.shiftKey )
+					{
+						/* Are we already doing some kind of sort on this column? */
+						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' )
+								{
+									/* Reached the end of the sorting options, remove from multi-col sort */
+									oSettings.aaSorting.splice( i, 1 );
+								}
+								else
+								{
+									/* Move onto next sorting direction */
+									oSettings.aaSorting[i][1] = oSettings.aoColumns[iColumn].asSorting[iNextSort];
+									oSettings.aaSorting[i][2] = iNextSort;
+								}
+								break;
+							}
+						}
+						
+						/* No sort yet - add it in */
+						if ( bFound === false )
+						{
+							oSettings.aaSorting.push( [ iDataIndex, 
+								oSettings.aoColumns[iDataIndex].asSorting[0], 0 ] );
+						}
+					}
+					else
+					{
+						/* If no shift key then single column sort */
+						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 ] );
+						}
+					}
+					
+					/* Run the sort */
+					_fnSort( oSettings );
+				}; /* /fnInnerSorting */
+				
+				if ( !oSettings.oFeatures.bProcessing )
+				{
+					fnInnerSorting();
+				}
+				else
+				{
+					_fnProcessingDisplay( oSettings, true );
+					setTimeout( function() {
+						fnInnerSorting();
+						if ( !oSettings.oFeatures.bServerSide )
+						{
+							_fnProcessingDisplay( oSettings, false );
+						}
+					}, 0 );
+				}
+				
+				/* Call the user specified callback function - used for async user interaction */
+				if ( typeof fnCallback == 'function' )
+				{
+					fnCallback( oSettings );
+				}
+			} );
+		}
+		
+		/*
+		 * Function: _fnSortingClasses
+		 * Purpose:  Set the sortting classes on the header
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 * Notes:    It is safe to call this function when bSort and bSortClasses are false
+		 */
+		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();
+			}
+			
+			/* Apply the required classes to the header */
+			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 )
+					{
+						/* jQuery UI uses extra markup */
+						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
+				{
+					/* No sorting on this column, so add the base class. This will have been assigned by
+					 * _fnAddColumn
+					 */
+					$(oSettings.aoColumns[i].nTh).addClass( oSettings.aoColumns[i].sSortingClass );
+				}
+			}
+			
+			/* 
+			 * Apply the required classes to the table body
+			 * Note that this is given as a feature switch since it can significantly slow down a sort
+			 * on large data sets (adding and removing of classes is always slow at the best of times..)
+			 * Further to this, note that this code is admitadly fairly ugly. It could be made a lot 
+			 * simpiler using jQuery selectors and add/removeClass, but that is significantly slower
+			 * (on the order of 5 times slower) - hence the direct DOM manipulation here.
+			 */
+			sClass = oClasses.sSortColumn;
+			
+			if ( oSettings.oFeatures.bSort && oSettings.oFeatures.bSortClasses )
+			{
+				var nTds = _fnGetTdNodes( oSettings );
+				
+				/* Remove the old classes */
+				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 = 
+									$.trim( 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 = 
+									$.trim( 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 = 
+									$.trim( nTds[(iColumns*j)+i].className.replace( " "+sClass+"3", "" ) );
+							}
+						}
+					}
+				}
+				
+				/* Add the new classes to the table */
+				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++;
+					}
+				}
+			}
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Feature: Pagination. Note that most of the paging logic is done in 
+		 * _oExt.oPagination
+		 */
+		
+		/*
+		 * Function: _fnFeatureHtmlPaginate
+		 * Purpose:  Generate the node required for default pagination
+		 * Returns:  node
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnFeatureHtmlPaginate ( oSettings )
+		{
+			if ( oSettings.oScroll.bInfinite )
+			{
+				return null;
+			}
+			
+			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 );
+				}
+			);
+			
+			/* Add a draw callback for the pagination on first instance, to update the paging display */
+			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
+		 * Purpose:  Alter the display settings to change the page
+		 * Returns:  bool:true - page has changed, false - no change (no effect) eg 'first' on page 1
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           string:sAction - paging action to take: "first", "previous", "next" or "last"
+		 */
+		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;
+				
+				/* Correct for underrun */
+				if ( oSettings._iDisplayStart < 0 )
+				{
+				  oSettings._iDisplayStart = 0;
+				}
+			}
+			else if ( sAction == "next" )
+			{
+				if ( oSettings._iDisplayLength >= 0 )
+				{
+					/* Make sure we are not over running the display array */
+					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
+			{
+				_fnLog( oSettings, 0, "Unknown paging action: "+sAction );
+			}
+			
+			return iOldStart != oSettings._iDisplayStart;
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Feature: HTML info
+		 */
+		
+		/*
+		 * Function: _fnFeatureHtmlInfo
+		 * Purpose:  Generate the node required for the info display
+		 * Returns:  node
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnFeatureHtmlInfo ( oSettings )
+		{
+			var nInfo = document.createElement( 'div' );
+			nInfo.className = oSettings.oClasses.sInfo;
+			
+			/* Actions that are to be taken once only for this feature */
+			if ( typeof oSettings.aanFeatures.i == "undefined" )
+			{
+				/* Add draw callback */
+				oSettings.aoDrawCallback.push( {
+					"fn": _fnUpdateInfo,
+					"sName": "information"
+				} );
+				
+				/* Add id */
+				if ( oSettings.sTableId !== '' )
+				{
+					nInfo.setAttribute( 'id', oSettings.sTableId+'_info' );
+				}
+			}
+			
+			return nInfo;
+		}
+		
+		/*
+		 * Function: _fnUpdateInfo
+		 * Purpose:  Update the information elements in the display
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnUpdateInfo ( oSettings )
+		{
+			/* Show information about the table */
+			if ( !oSettings.oFeatures.bInfo || oSettings.aanFeatures.i.length === 0 )
+			{
+				return;
+			}
+			
+			var
+				iStart = oSettings._iDisplayStart+1, iEnd = oSettings.fnDisplayEnd(),
+				iMax = oSettings.fnRecordsTotal(), iTotal = oSettings.fnRecordsDisplay(),
+				sStart = oSettings.fnFormatNumber( iStart ), sEnd = oSettings.fnFormatNumber( iEnd ),
+				sMax = oSettings.fnFormatNumber( iMax ), sTotal = oSettings.fnFormatNumber( iTotal ),
+				sOut;
+			
+			/* When infinite scrolling, we are always starting at 1. _iDisplayStart is used only
+			 * internally
+			 */
+			if ( oSettings.oScroll.bInfinite )
+			{
+				sStart = oSettings.fnFormatNumber( 1 );
+			}
+			
+			if ( oSettings.fnRecordsDisplay() === 0 && 
+				   oSettings.fnRecordsDisplay() == oSettings.fnRecordsTotal() )
+			{
+				/* Empty record set */
+				sOut = oSettings.oLanguage.sInfoEmpty+ oSettings.oLanguage.sInfoPostFix;
+			}
+			else if ( oSettings.fnRecordsDisplay() === 0 )
+			{
+				/* Rmpty record set after filtering */
+				sOut = oSettings.oLanguage.sInfoEmpty +' '+ 
+					oSettings.oLanguage.sInfoFiltered.replace('_MAX_', sMax)+
+						oSettings.oLanguage.sInfoPostFix;
+			}
+			else if ( oSettings.fnRecordsDisplay() == oSettings.fnRecordsTotal() )
+			{
+				/* Normal record set */
+				sOut = oSettings.oLanguage.sInfo.
+						replace('_START_', sStart).
+						replace('_END_',   sEnd).
+						replace('_TOTAL_', sTotal)+ 
+					oSettings.oLanguage.sInfoPostFix;
+			}
+			else
+			{
+				/* Record set after filtering */
+				sOut = oSettings.oLanguage.sInfo.
+						replace('_START_', sStart).
+						replace('_END_',   sEnd).
+						replace('_TOTAL_', sTotal) +' '+ 
+					oSettings.oLanguage.sInfoFiltered.replace('_MAX_', 
+						oSettings.fnFormatNumber(oSettings.fnRecordsTotal()))+ 
+					oSettings.oLanguage.sInfoPostFix;
+			}
+			
+			if ( oSettings.oLanguage.fnInfoCallback !== null )
+			{
+				sOut = oSettings.oLanguage.fnInfoCallback( oSettings, iStart, iEnd, iMax, iTotal, sOut );
+			}
+			
+			var n = oSettings.aanFeatures.i;
+			for ( var i=0, iLen=n.length ; i<iLen ; i++ )
+			{
+				$(n[i]).html( sOut );
+			}
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Feature: Length change
+		 */
+		
+		/*
+		 * Function: _fnFeatureHtmlLength
+		 * Purpose:  Generate the node required for user display length changing
+		 * Returns:  node
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnFeatureHtmlLength ( oSettings )
+		{
+			if ( oSettings.oScroll.bInfinite )
+			{
+				return null;
+			}
+			
+			/* This can be overruled by not using the _MENU_ var/macro in the language variable */
+			var sName = (oSettings.sTableId === "") ? "" : 'name="'+oSettings.sTableId+'_length"';
+			var sStdMenu = '<select size="1" '+sName+'>';
+			var i, iLen;
+			
+			if ( oSettings.aLengthMenu.length == 2 && typeof oSettings.aLengthMenu[0] == 'object' && 
+					typeof oSettings.aLengthMenu[1] == 'object' )
+			{
+				for ( i=0, iLen=oSettings.aLengthMenu[0].length ; i<iLen ; i++ )
+				{
+					sStdMenu += '<option value="'+oSettings.aLengthMenu[0][i]+'">'+
+						oSettings.aLengthMenu[1][i]+'</option>';
+				}
+			}
+			else
+			{
+				for ( i=0, iLen=oSettings.aLengthMenu.length ; i<iLen ; i++ )
+				{
+					sStdMenu += '<option value="'+oSettings.aLengthMenu[i]+'">'+
+						oSettings.aLengthMenu[i]+'</option>';
+				}
+			}
+			sStdMenu += '</select>';
+			
+			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 );
+			
+			/*
+			 * Set the length to the current display length - thanks to Andrea Pavlovic for this fix,
+			 * and Stefan Skopnik for fixing the fix!
+			 */
+			$('select option[value="'+oSettings._iDisplayLength+'"]',nLength).attr("selected",true);
+			
+			$('select', nLength).bind( 'change.DT', function(e) {
+				var iVal = $(this).val();
+				
+				/* Update all other length options for the new display */
+				var n = oSettings.aanFeatures.l;
+				for ( i=0, iLen=n.length ; i<iLen ; i++ )
+				{
+					if ( n[i] != this.parentNode )
+					{
+						$('select', n[i]).val( iVal );
+					}
+				}
+				
+				/* Redraw the table */
+				oSettings._iDisplayLength = parseInt(iVal, 10);
+				_fnCalculateEnd( oSettings );
+				
+				/* If we have space to show extra rows (backing up from the end point - then do so */
+				if ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() )
+				{
+					oSettings._iDisplayStart = oSettings.fnDisplayEnd() - oSettings._iDisplayLength;
+					if ( oSettings._iDisplayStart < 0 )
+					{
+						oSettings._iDisplayStart = 0;
+					}
+				}
+				
+				if ( oSettings._iDisplayLength == -1 )
+				{
+					oSettings._iDisplayStart = 0;
+				}
+				
+				_fnDraw( oSettings );
+			} );
+			
+			return nLength;
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Feature: Processing incidator
+		 */
+		
+		/*
+		 * Function: _fnFeatureHtmlProcessing
+		 * Purpose:  Generate the node required for the processing node
+		 * Returns:  node
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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
+		 * Purpose:  Display or hide the processing indicator
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           bool:
+		 *   true - show the processing indicator
+		 *   false - don't show
+		 */
+		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";
+				}
+			}
+		}
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Support functions
+		 */
+		
+		/*
+		 * Function: _fnVisibleToColumnIndex
+		 * Purpose:  Covert the index of a visible column to the index in the data array (take account
+		 *   of hidden columns)
+		 * Returns:  int:i - the data index
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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
+		 * Purpose:  Covert the index of an index in the data array and convert it to the visible
+		 *   column index (take account of hidden columns)
+		 * Returns:  int:i - the data index
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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
+		 * Purpose:  Take a TR element and convert it to an index in aoData
+		 * Returns:  int:i - index if found, null if not
+		 * Inputs:   object:s - dataTables settings object
+		 *           node:n - the TR element to find
+		 */
+		function _fnNodeToDataIndex( s, n )
+		{
+			var i, iLen;
+			
+			/* Optimisation - see if the nodes which are currently visible match, since that is
+			 * the most likely node to be asked for (a selector or event for example)
+			 */
+			for ( i=s._iDisplayStart, iLen=s._iDisplayEnd ; i<iLen ; i++ )
+			{
+				if ( s.aoData[ s.aiDisplay[i] ].nTr == n )
+				{
+					return s.aiDisplay[i];
+				}
+			}
+			
+			/* Otherwise we are in for a slog through the whole data cache */
+			for ( i=0, iLen=s.aoData.length ; i<iLen ; i++ )
+			{
+				if ( s.aoData[i].nTr == n )
+				{
+					return i;
+				}
+			}
+			return null;
+		}
+		
+		/*
+		 * Function: _fnVisbleColumns
+		 * Purpose:  Get the number of visible columns
+		 * Returns:  int:i - the number of visible columns
+		 * Inputs:   object:oS - dataTables settings object
+		 */
+		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
+		 * Purpose:  Rcalculate the end point based on the start point
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnCalculateEnd( oSettings )
+		{
+			if ( oSettings.oFeatures.bPaginate === false )
+			{
+				oSettings._iDisplayEnd = oSettings.aiDisplay.length;
+			}
+			else
+			{
+				/* Set the end point of the display - based on how many elements there are
+				 * still to display
+				 */
+				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
+		 * Purpose:  Convert a CSS unit width to pixels (e.g. 2em)
+		 * Returns:  int:iWidth - width in pixels
+		 * Inputs:   string:sWidth - width to be converted
+		 *           node:nParent - parent to get the with for (required for
+		 *             relative widths) - optional
+		 */
+		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
+		 * Purpose:  Calculate the width of columns for the table
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnCalculateColumnWidths ( oSettings )
+		{
+			var iTableWidth = oSettings.nTable.offsetWidth;
+			var iUserInputs = 0;
+			var iTmpWidth;
+			var iVisibleColumns = 0;
+			var iColums = oSettings.aoColumns.length;
+			var i;
+			var oHeaders = $('th', oSettings.nTHead);
+			
+			/* Convert any user input sizes into pixel sizes */
+			for ( i=0 ; i<iColums ; i++ )
+			{
+				if ( oSettings.aoColumns[i].bVisible )
+				{
+					iVisibleColumns++;
+					
+					if ( oSettings.aoColumns[i].sWidth !== null )
+					{
+						iTmpWidth = _fnConvertToWidth( oSettings.aoColumns[i].sWidthOrig, 
+							oSettings.nTable.parentNode );
+						if ( iTmpWidth !== null )
+						{
+							oSettings.aoColumns[i].sWidth = _fnStringToCss( iTmpWidth );
+						}
+							
+						iUserInputs++;
+					}
+				}
+			}
+			
+			/* If the number of columns in the DOM equals the number that we have to process in 
+			 * DataTables, then we can use the offsets that are created by the web-browser. No custom 
+			 * sizes can be set in order for this to happen, nor scrolling used
+			 */
+			if ( iColums == oHeaders.length && iUserInputs === 0 && iVisibleColumns == iColums &&
+				oSettings.oScroll.sX === "" && oSettings.oScroll.sY === "" )
+			{
+				for ( i=0 ; i<oSettings.aoColumns.length ; i++ )
+				{
+					iTmpWidth = $(oHeaders[i]).width();
+					if ( iTmpWidth !== null )
+					{
+						oSettings.aoColumns[i].sWidth = _fnStringToCss( iTmpWidth );
+					}
+				}
+			}
+			else
+			{
+				/* Otherwise we are going to have to do some calculations to get the width of each column.
+				 * Construct a 1 row table with the widest node in the data, and any user defined widths,
+				 * then insert it into the DOM and allow the browser to do all the hard work of
+				 * calculating table widths.
+				 */
+				var
+					nCalcTmp = oSettings.nTable.cloneNode( false ),
+					nBody = document.createElement( 'tbody' ),
+					nTr = document.createElement( 'tr' ),
+					nDivSizing;
+				
+				nCalcTmp.removeAttribute( "id" );
+				nCalcTmp.appendChild( oSettings.nTHead.cloneNode(true) );
+				if ( oSettings.nTFoot !== null )
+				{
+					nCalcTmp.appendChild( oSettings.nTFoot.cloneNode(true) );
+					_fnApplyToChildren( function(n) {
+						n.style.width = "";
+					}, nCalcTmp.getElementsByTagName('tr') );
+				}
+				
+				nCalcTmp.appendChild( nBody );
+				nBody.appendChild( nTr );
+				
+				/* Remove any sizing that was previously applied by the styles */
+				var jqColSizing = $('thead th', nCalcTmp);
+				if ( jqColSizing.length === 0 )
+				{
+					jqColSizing = $('tbody tr:eq(0)>td', nCalcTmp);
+				}
+				jqColSizing.each( function (i) {
+					this.style.width = "";
+					
+					var iIndex = _fnVisibleToColumnIndex( oSettings, i );
+					if ( iIndex !== null && oSettings.aoColumns[iIndex].sWidthOrig !== "" )
+					{
+						this.style.width = oSettings.aoColumns[iIndex].sWidthOrig;
+					}
+				} );
+				
+				/* Find the biggest td for each column and put it into the table */
+				for ( i=0 ; i<iColums ; i++ )
+				{
+					if ( oSettings.aoColumns[i].bVisible )
+					{
+						var nTd = _fnGetWidestNode( oSettings, i );
+						if ( nTd !== null )
+						{
+							nTd = nTd.cloneNode(true);
+							nTr.appendChild( nTd );
+						}
+					}
+				}
+				
+				/* Build the table and 'display' it */
+				var nWrapper = oSettings.nTable.parentNode;
+				nWrapper.appendChild( nCalcTmp );
+				
+				/* When scrolling (X or Y) we want to set the width of the table as appropriate. However,
+				 * when not scrolling leave the table width as it is. This results in slightly different,
+				 * but I think correct behaviour
+				 */
+				if ( oSettings.oScroll.sX !== "" && oSettings.oScroll.sXInner !== "" )
+				{
+					nCalcTmp.style.width = _fnStringToCss(oSettings.oScroll.sXInner);
+				}
+				else if ( oSettings.oScroll.sX !== "" )
+				{
+					nCalcTmp.style.width = "";
+					if ( $(nCalcTmp).width() < nWrapper.offsetWidth )
+					{
+						nCalcTmp.style.width = _fnStringToCss( nWrapper.offsetWidth );
+					}
+				}
+				else if ( oSettings.oScroll.sY !== "" )
+				{
+					nCalcTmp.style.width = _fnStringToCss( nWrapper.offsetWidth );
+				}
+				nCalcTmp.style.visibility = "hidden";
+				
+				/* Scrolling considerations */
+				_fnScrollingWidthAdjust( oSettings, nCalcTmp );
+				
+				/* Read the width's calculated by the browser and store them for use by the caller. We
+				 * first of all try to use the elements in the body, but it is possible that there are
+				 * no elements there, under which circumstances we use the header elements
+				 */
+				var oNodes = $("tbody tr:eq(0)>td", nCalcTmp);
+				if ( oNodes.length === 0 )
+				{
+					oNodes = $("thead tr:eq(0)>th", nCalcTmp);
+				}
+				
+				var iIndex, iCorrector = 0, iWidth;
+				for ( i=0 ; i<oSettings.aoColumns.length ; i++ )
+				{
+					if ( oSettings.aoColumns[i].bVisible )
+					{
+						iWidth = $(oNodes[iCorrector]).outerWidth();
+						if ( iWidth !== null && iWidth > 0 )
+						{
+							oSettings.aoColumns[i].sWidth = _fnStringToCss( iWidth );
+						}
+						iCorrector++;
+					}
+				}
+				
+				oSettings.nTable.style.width = _fnStringToCss( $(nCalcTmp).outerWidth() );
+				nCalcTmp.parentNode.removeChild( nCalcTmp );
+			}
+		}
+		
+		/*
+		 * Function: _fnScrollingWidthAdjust
+		 * Purpose:  Adjust a table's width to take account of scrolling
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           node:n - table node
+		 */
+		function _fnScrollingWidthAdjust ( oSettings, n )
+		{
+			if ( oSettings.oScroll.sX === "" && oSettings.oScroll.sY !== "" )
+			{
+				/* When y-scrolling only, we want to remove the width of the scroll bar so the table
+				 * + scroll bar will fit into the area avaialble.
+				 */
+				var iOrigWidth = $(n).width();
+				n.style.width = _fnStringToCss( $(n).outerWidth()-oSettings.oScroll.iBarWidth );
+			}
+			else if ( oSettings.oScroll.sX !== "" )
+			{
+				/* When x-scrolling both ways, fix the table at it's current size, without adjusting */
+				n.style.width = _fnStringToCss( $(n).outerWidth() );
+			}
+		}
+		
+		/*
+		 * Function: _fnGetWidestNode
+		 * Purpose:  Get the widest node
+		 * Returns:  string: - max strlens for each column
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           int:iCol - column of interest
+		 *           boolean:bFast - Should we use fast (but non-accurate) calculation - optional,
+		 *             default true
+		 * Notes:    This operation is _expensive_ (!!!). It requires a lot of DOM interaction, but
+		 *   this is the only way to reliably get the widest string. For example 'mmm' would be wider
+		 *   than 'iiii' so we can't just ocunt characters. If this can be optimised it would be good
+		 *   to do so!
+		 */
+		function _fnGetWidestNode( oSettings, iCol, bFast )
+		{
+			/* Use fast not non-accurate calculate based on the strlen */
+			if ( typeof bFast == 'undefined' || bFast )
+			{
+				var iMaxLen = _fnGetMaxLenString( oSettings, iCol );
+				var iFastVis = _fnColumnIndexToVisible( oSettings, iCol);
+				if ( iMaxLen < 0 )
+				{
+					return null;
+				}
+				return oSettings.aoData[iMaxLen].nTr.getElementsByTagName('td')[iFastVis];
+			}
+			
+			/* Use the slow approach, but get high quality answers - note that this code is not actually
+			 * used by DataTables by default. If you want to use it you can alter the call to 
+			 * _fnGetWidestNode to pass 'false' as the third argument
+			 */
+			var
+				iMax = -1, i, iLen,
+				iMaxIndex = -1,
+				n = document.createElement('div');
+			
+			n.style.visibility = "hidden";
+			n.style.position = "absolute";
+			document.body.appendChild( n );
+			
+			for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ )
+			{
+				n.innerHTML = oSettings.aoData[i]._aData[iCol];
+				if ( n.offsetWidth > iMax )
+				{
+					iMax = n.offsetWidth;
+					iMaxIndex = i;
+				}
+			}
+			document.body.removeChild( n );
+			
+			if ( iMaxIndex >= 0 )
+			{
+				var iVis = _fnColumnIndexToVisible( oSettings, iCol);
+				var nRet = oSettings.aoData[iMaxIndex].nTr.getElementsByTagName('td')[iVis];
+				if ( nRet )
+				{
+					return nRet;
+				}
+			}
+			return null;
+		}
+		
+		/*
+		 * Function: _fnGetMaxLenString
+		 * Purpose:  Get the maximum strlen for each data column
+		 * Returns:  string: - max strlens for each column
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           int:iCol - column of interest
+		 */
+		function _fnGetMaxLenString( oSettings, iCol )
+		{
+			var iMax = -1;
+			var iMaxIndex = -1;
+			
+			for ( var i=0 ; i<oSettings.aoData.length ; i++ )
+			{
+				var s = oSettings.aoData[i]._aData[iCol];
+				if ( s.length > iMax )
+				{
+					iMax = s.length;
+					iMaxIndex = i;
+				}
+			}
+			
+			return iMaxIndex;
+		}
+		
+		/*
+		 * Function: _fnStringToCss
+		 * Purpose:  Append a CSS unit (only if required) to a string
+		 * Returns:  0 if match, 1 if length is different, 2 if no match
+		 * Inputs:   array:aArray1 - first array
+		 *           array:aArray2 - second array
+		 */
+		function _fnStringToCss( s )
+		{
+			if ( s === null )
+			{
+				return "0px";
+			}
+			
+			if ( typeof s == 'number' )
+			{
+				if ( s < 0 )
+				{
+					return "0px";
+				}
+				return s+"px";
+			}
+			
+			/* Check if the last character is not 0-9 */
+			var c = s.charCodeAt( s.length-1 );
+			if (c < 0x30 || c > 0x39)
+			{
+				return s;
+			}
+			return s+"px";
+		}
+		
+		/*
+		 * Function: _fnArrayCmp
+		 * Purpose:  Compare two arrays
+		 * Returns:  0 if match, 1 if length is different, 2 if no match
+		 * Inputs:   array:aArray1 - first array
+		 *           array:aArray2 - second array
+		 */
+		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
+		 * Purpose:  Get the sort type based on an input string
+		 * Returns:  string: - type (defaults to 'string' if no type can be detected)
+		 * Inputs:   string:sData - data we wish to know the type of
+		 * Notes:    This function makes use of the DataTables plugin objct _oExt 
+		 *   (.aTypes) such that new types can easily be added.
+		 */
+		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
+		 * Purpose:  Return the settings object for a particular table
+		 * Returns:  object: Settings object - or null if not found
+		 * Inputs:   node:nTable - table we are using as a dataTable
+		 */
+		function _fnSettingsFromNode ( nTable )
+		{
+			for ( var i=0 ; i<_aoSettings.length ; i++ )
+			{
+				if ( _aoSettings[i].nTable == nTable )
+				{
+					return _aoSettings[i];
+				}
+			}
+			
+			return null;
+		}
+		
+		/*
+		 * Function: _fnGetDataMaster
+		 * Purpose:  Return an array with the full table data
+		 * Returns:  array array:aData - Master data array
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnGetDataMaster ( oSettings )
+		{
+			var aData = [];
+			var iLen = oSettings.aoData.length;
+			for ( var i=0 ; i<iLen; i++ )
+			{
+				aData.push( oSettings.aoData[i]._aData );
+			}
+			return aData;
+		}
+		
+		/*
+		 * Function: _fnGetTrNodes
+		 * Purpose:  Return an array with the TR nodes for the table
+		 * Returns:  array: - TR array
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnGetTrNodes ( oSettings )
+		{
+			var aNodes = [];
+			var iLen = oSettings.aoData.length;
+			for ( var i=0 ; i<iLen ; i++ )
+			{
+				aNodes.push( oSettings.aoData[i].nTr );
+			}
+			return aNodes;
+		}
+		
+		/*
+		 * Function: _fnGetTdNodes
+		 * Purpose:  Return an array with the TD nodes for the table
+		 * Returns:  array: - TD array
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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.toUpperCase() == "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
+		 * Purpose:  scape a string stuch that it can be used in a regular expression
+		 * Returns:  string: - escaped string
+		 * Inputs:   string:sVal - string to escape
+		 */
+		function _fnEscapeRegex ( sVal )
+		{
+			var acEscape = [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^' ];
+		  var reReplace = new RegExp( '(\\' + acEscape.join('|\\') + ')', 'g' );
+		  return sVal.replace(reReplace, '\\$1');
+		}
+		
+		/*
+		 * Function: _fnDeleteIndex
+		 * Purpose:  Take an array of integers (index array) and remove a target integer (value - not 
+		 *             the key!)
+		 * Returns:  -
+		 * Inputs:   a:array int - Index array to target
+		 *           int:iTarget - value to find
+		 */
+		function _fnDeleteIndex( a, iTarget )
+		{
+			var iTargetIndex = -1;
+			
+			for ( var i=0, iLen=a.length ; i<iLen ; i++ )
+			{
+				if ( a[i] == iTarget )
+				{
+					iTargetIndex = i;
+				}
+				else if ( a[i] > iTarget )
+				{
+					a[i]--;
+				}
+			}
+			
+			if ( iTargetIndex != -1 )
+			{
+				a.splice( iTargetIndex, 1 );
+			}
+		}
+		
+		/*
+		 * Function: _fnReOrderIndex
+		 * Purpose:  Figure out how to reorder a display list
+		 * Returns:  array int:aiReturn - index list for reordering
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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
+		 * Purpose:  Get the column ordering that DataTables expects
+		 * Returns:  string: - comma separated list of names
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		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: _fnLog
+		 * Purpose:  Log an error message
+		 * Returns:  -
+		 * Inputs:   int:iLevel - log error messages, or display them to the user
+		 *           string:sMesg - error message
+		 */
+		function _fnLog( oSettings, iLevel, sMesg )
+		{
+			var sAlert = oSettings.sTableId === "" ?
+			 	"DataTables warning: " +sMesg :
+			 	"DataTables warning (table id = '"+oSettings.sTableId+"'): " +sMesg;
+			
+			if ( iLevel === 0 )
+			{
+				if ( _oExt.sErrMode == 'alert' )
+				{
+					alert( sAlert );
+				}
+				else
+				{
+					throw sAlert;
+				}
+				return;
+			}
+			else if ( typeof console != 'undefined' && typeof console.log != 'undefined' )
+			{
+				console.log( sAlert );
+			}
+		}
+		
+		/*
+		 * Function: _fnClearTable
+		 * Purpose:  Nuke the table
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnClearTable( oSettings )
+		{
+			oSettings.aoData.splice( 0, oSettings.aoData.length );
+			oSettings.aiDisplayMaster.splice( 0, oSettings.aiDisplayMaster.length );
+			oSettings.aiDisplay.splice( 0, oSettings.aiDisplay.length );
+			_fnCalculateEnd( oSettings );
+		}
+		
+		/*
+		 * Function: _fnSaveState
+		 * Purpose:  Save the state of a table in a cookie such that the page can be reloaded
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 */
+		function _fnSaveState ( oSettings )
+		{
+			if ( !oSettings.oFeatures.bStateSave || typeof oSettings.bDestroying != 'undefined' )
+			{
+				return;
+			}
+			
+			/* Store the interesting variables */
+			var i, iLen, sTmp;
+			var sValue = "{";
+			sValue += '"iCreate":'+ new Date().getTime()+',';
+			sValue += '"iStart":'+ oSettings._iDisplayStart+',';
+			sValue += '"iEnd":'+ oSettings._iDisplayEnd+',';
+			sValue += '"iLength":'+ oSettings._iDisplayLength+',';
+			sValue += '"sFilter":"'+ encodeURIComponent(oSettings.oPreviousSearch.sSearch)+'",';
+			sValue += '"sFilterEsc":'+ !oSettings.oPreviousSearch.bRegex+',';
+			
+			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 += '["'+encodeURIComponent(oSettings.aoPreSearchCols[i].sSearch)+
+					'",'+!oSettings.aoPreSearchCols[i].bRegex+'],';
+			}
+			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 += "]";
+			
+			/* Save state from any plug-ins */
+			for ( i=0, iLen=oSettings.aoStateSave.length ; i<iLen ; i++ )
+			{
+				sTmp = oSettings.aoStateSave[i].fn( oSettings, sValue );
+				if ( sTmp !== "" )
+				{
+					sValue = sTmp;
+				}
+			}
+			
+			sValue += "}";
+			
+			_fnCreateCookie( oSettings.sCookiePrefix+oSettings.sInstance, sValue, 
+				oSettings.iCookieDuration, oSettings.sCookiePrefix, oSettings.fnCookieCallback );
+		}
+		
+		/*
+		 * Function: _fnLoadState
+		 * Purpose:  Attempt to load a saved table state from a cookie
+		 * Returns:  -
+		 * Inputs:   object:oSettings - dataTables settings object
+		 *           object:oInit - DataTables init object so we can override settings
+		 */
+		function _fnLoadState ( oSettings, oInit )
+		{
+			if ( !oSettings.oFeatures.bStateSave )
+			{
+				return;
+			}
+			
+			var oData, i, iLen;
+			var sData = _fnReadCookie( oSettings.sCookiePrefix+oSettings.sInstance );
+			if ( sData !== null && sData !== '' )
+			{
+				/* Try/catch the JSON eval - if it is bad then we ignore it - note that 1.7.0 and before
+				 * incorrectly used single quotes for some strings - hence the replace below
+				 */
+				try
+				{
+					oData = (typeof $.parseJSON == 'function') ? 
+						$.parseJSON( sData.replace(/'/g, '"') ) : eval( '('+sData+')' );
+				}
+				catch( e )
+				{
+					return;
+				}
+				
+				/* Allow custom and plug-in manipulation functions to alter the data set which was
+				 * saved, and also reject any saved state by returning false
+				 */
+				for ( i=0, iLen=oSettings.aoStateLoad.length ; i<iLen ; i++ )
+				{
+					if ( !oSettings.aoStateLoad[i].fn( oSettings, oData ) )
+					{
+						return;
+					}
+				}
+				
+				/* Store the saved state so it might be accessed at any time (particualrly a plug-in */
+				oSettings.oLoadedState = $.extend( true, {}, oData );
+				
+				/* Restore key features */
+				oSettings._iDisplayStart = oData.iStart;
+				oSettings.iInitDisplayStart = oData.iStart;
+				oSettings._iDisplayEnd = oData.iEnd;
+				oSettings._iDisplayLength = oData.iLength;
+				oSettings.oPreviousSearch.sSearch = decodeURIComponent(oData.sFilter);
+				oSettings.aaSorting = oData.aaSorting.slice();
+				oSettings.saved_aaSorting = oData.aaSorting.slice();
+				
+				/*
+				 * Search filtering - global reference added in 1.4.1
+				 * Note that we use a 'not' for the value of the regular expression indicator to maintain
+				 * compatibility with pre 1.7 versions, where this was basically inverted. Added in 1.7.0
+				 */
+				if ( typeof oData.sFilterEsc != 'undefined' )
+				{
+					oSettings.oPreviousSearch.bRegex = !oData.sFilterEsc;
+				}
+				
+				/* Column filtering - added in 1.5.0 beta 6 */
+				if ( typeof oData.aaSearchCols != 'undefined' )
+				{
+					for ( i=0 ; i<oData.aaSearchCols.length ; i++ )
+					{
+						oSettings.aoPreSearchCols[i] = {
+							"sSearch": decodeURIComponent(oData.aaSearchCols[i][0]),
+							"bRegex": !oData.aaSearchCols[i][1]
+						};
+					}
+				}
+				
+				/* Column visibility state - added in 1.5.0 beta 10 */
+				if ( typeof oData.abVisCols != 'undefined' )
+				{
+					/* Pass back visibiliy settings to the init handler, but to do not here override
+					 * the init object that the user might have passed in
+					 */
+					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
+		 * Purpose:  Create a new cookie with a value to store the state of a table
+		 * Returns:  -
+		 * Inputs:   string:sName - name of the cookie to create
+		 *           string:sValue - the value the cookie should take
+		 *           int:iSecs - duration of the cookie
+		 *           string:sBaseName - sName is made up of the base + file name - this is the base
+		 *           function:fnCallback - User definable function to modify the cookie
+		 */
+		function _fnCreateCookie ( sName, sValue, iSecs, sBaseName, fnCallback )
+		{
+			var date = new Date();
+			date.setTime( date.getTime()+(iSecs*1000) );
+			
+			/* 
+			 * Shocking but true - it would appear IE has major issues with having the path not having
+			 * a trailing slash on it. We need the cookie to be available based on the path, so we
+			 * have to append the file name to the cookie name. Appalling. Thanks to vex for adding the
+			 * patch to use at least some of the path
+			 */
+			var aParts = window.location.pathname.split('/');
+			var sNameFile = sName + '_' + aParts.pop().replace(/[\/:]/g,"").toLowerCase();
+			var sFullCookie, oData;
+			
+			if ( fnCallback !== null )
+			{
+				oData = (typeof $.parseJSON == 'function') ? 
+					$.parseJSON( sValue ) : eval( '('+sValue+')' );
+				sFullCookie = fnCallback( sNameFile, oData, date.toGMTString(),
+					aParts.join('/')+"/" );
+			}
+			else
+			{
+				sFullCookie = sNameFile + "=" + encodeURIComponent(sValue) +
+					"; expires=" + date.toGMTString() +"; path=" + aParts.join('/')+"/";
+			}
+			
+			/* Are we going to go over the cookie limit of 4KiB? If so, try to delete a cookies
+			 * belonging to DataTables. This is FAR from bullet proof
+			 */
+			var sOldName="", iOldTime=9999999999999;
+			var iLength = _fnReadCookie( sNameFile )!==null ? document.cookie.length : 
+				sFullCookie.length + document.cookie.length;
+			
+			if ( iLength+10 > 4096 ) /* Magic 10 for padding */
+			{
+				var aCookies =document.cookie.split(';');
+				for ( var i=0, iLen=aCookies.length ; i<iLen ; i++ )
+				{
+					if ( aCookies[i].indexOf( sBaseName ) != -1 )
+					{
+						/* It's a DataTables cookie, so eval it and check the time stamp */
+						var aSplitCookie = aCookies[i].split('=');
+						try { oData = eval( '('+decodeURIComponent(aSplitCookie[1])+')' ); }
+						catch( e ) { continue; }
+						
+						if ( typeof oData.iCreate != 'undefined' && oData.iCreate < iOldTime )
+						{
+							sOldName = aSplitCookie[0];
+							iOldTime = oData.iCreate;
+						}
+					}
+				}
+				
+				if ( sOldName !== "" )
+				{
+					document.cookie = sOldName+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+
+						aParts.join('/') + "/";
+				}
+			}
+			
+			document.cookie = sFullCookie;
+		}
+		
+		/*
+		 * Function: _fnReadCookie
+		 * Purpose:  Read an old cookie to get a cookie with an old table state
+		 * Returns:  string: - contents of the cookie - or null if no cookie with that name found
+		 * Inputs:   string:sName - name of the cookie to read
+		 */
+		function _fnReadCookie ( sName )
+		{
+			var
+				aParts = window.location.pathname.split('/'),
+				sNameEQ = sName + '_' + aParts[aParts.length-1].replace(/[\/:]/g,"").toLowerCase() + '=',
+			 	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
+		 * Purpose:  Get an array of unique th elements, one for each column
+		 * Returns:  array node:aReturn - list of unique ths
+		 * Inputs:   node:nThead - The thead element for the table
+		 */
+		function _fnGetUniqueThs ( nThead )
+		{
+			var nTrs = nThead.getElementsByTagName('tr');
+			
+			/* Nice simple case */
+			if ( nTrs.length == 1 )
+			{
+				return nTrs[0].getElementsByTagName('th');
+			}
+			
+			/* Otherwise we need to figure out the layout array to get the nodes */
+			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] = [];
+				}
+			};
+			
+			/* Calculate a layout array */
+			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.toUpperCase() == "TD" ||
+					     nTrs[i].childNodes[j].nodeName.toUpperCase() == "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.toUpperCase()=="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;
+					}
+				}
+			}
+			
+			/* Convert the layout array into a node array */
+			for ( i=0, iLen=aLayout.length ; i<iLen ; i++ )
+			{
+				for ( j=0, jLen=aLayout[i].length ; j<jLen ; j++ )
+				{
+					if ( typeof aLayout[i][j] == 'object' && typeof aReturn[j] == 'undefined' )
+					{
+						aReturn[j] = aLayout[i][j];
+					}
+				}
+			}
+			
+			return aReturn;
+		}
+		
+		/*
+		 * Function: _fnScrollBarWidth
+		 * Purpose:  Get the width of a scroll bar in this browser being used
+		 * Returns:  int: - width in pixels
+		 * Inputs:   -
+		 * Notes:    All credit for this function belongs to Alexandre Gomes. Thanks for sharing!
+		 *   http://www.alexandre-gomes.com/?p=115
+		 */
+		function _fnScrollBarWidth ()
+		{  
+			var inner = document.createElement('p');  
+			var style = inner.style;
+			style.width = "100%";  
+			style.height = "200px";  
+			
+			var outer = document.createElement('div');  
+			style = outer.style;
+			style.position = "absolute";  
+			style.top = "0px";  
+			style.left = "0px";  
+			style.visibility = "hidden";  
+			style.width = "200px";  
+			style.height = "150px";  
+			style.overflow = "hidden";  
+			outer.appendChild(inner);  
+			
+			document.body.appendChild(outer);  
+			var w1 = inner.offsetWidth;  
+			outer.style.overflow = 'scroll';  
+			var w2 = inner.offsetWidth;  
+			if ( w1 == w2 )
+			{
+				w2 = outer.clientWidth;  
+			}
+			
+			document.body.removeChild(outer); 
+			return (w1 - w2);  
+		}
+		
+		/*
+		 * Function: _fnApplyToChildren
+		 * Purpose:  Apply a given function to the display child nodes of an element array (typically
+		 *   TD children of TR rows
+		 * Returns:  - (done by reference)
+		 * Inputs:   function:fn - Method to apply to the objects
+		 *           array nodes:an1 - List of elements to look through for display children
+		 *           array nodes:an2 - Another list (identical structure to the first) - optional
+		 */
+		function _fnApplyToChildren( fn, an1, an2 )
+		{
+			for ( var i=0, iLen=an1.length ; i<iLen ; i++ )
+			{
+				for ( var j=0, jLen=an1[i].childNodes.length ; j<jLen ; j++ )
+				{
+					if ( an1[i].childNodes[j].nodeType == 1 )
+					{
+						if ( typeof an2 != 'undefined' )
+						{
+							fn( an1[i].childNodes[j], an2[i].childNodes[j] );
+						}
+						else
+						{
+							fn( an1[i].childNodes[j] );
+						}
+					}
+				}
+			}
+		}
+		
+		/*
+		 * Function: _fnMap
+		 * Purpose:  See if a property is defined on one object, if so assign it to the other object
+		 * Returns:  - (done by reference)
+		 * Inputs:   object:oRet - target object
+		 *           object:oSrc - source object
+		 *           string:sName - property
+		 *           string:sMappedName - name to map too - optional, sName used if not given
+		 */
+		function _fnMap( oRet, oSrc, sName, sMappedName )
+		{
+			if ( typeof sMappedName == 'undefined' )
+			{
+				sMappedName = sName;
+			}
+			if ( typeof oSrc[sName] != 'undefined' )
+			{
+				oRet[sMappedName] = oSrc[sName];
+			}
+		}
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - API
+		 * 
+		 * I'm not overly happy with this solution - I'd much rather that there was a way of getting
+		 * a list of all the private functions and do what we need to dynamically - but that doesn't
+		 * appear to be possible. Bonkers. A better solution would be to provide a 'bind' type object
+		 * To do - bind type method in DTs 2.x.
+		 */
+		this.oApi._fnExternApiFunc = _fnExternApiFunc;
+		this.oApi._fnInitalise = _fnInitalise;
+		this.oApi._fnLanguageProcess = _fnLanguageProcess;
+		this.oApi._fnAddColumn = _fnAddColumn;
+		this.oApi._fnColumnOptions = _fnColumnOptions;
+		this.oApi._fnAddData = _fnAddData;
+		this.oApi._fnGatherData = _fnGatherData;
+		this.oApi._fnDrawHead = _fnDrawHead;
+		this.oApi._fnDraw = _fnDraw;
+		this.oApi._fnReDraw = _fnReDraw;
+		this.oApi._fnAjaxUpdate = _fnAjaxUpdate;
+		this.oApi._fnAjaxUpdateDraw = _fnAjaxUpdateDraw;
+		this.oApi._fnAddOptionsHtml = _fnAddOptionsHtml;
+		this.oApi._fnFeatureHtmlTable = _fnFeatureHtmlTable;
+		this.oApi._fnScrollDraw = _fnScrollDraw;
+		this.oApi._fnAjustColumnSizing = _fnAjustColumnSizing;
+		this.oApi._fnFeatureHtmlFilter = _fnFeatureHtmlFilter;
+		this.oApi._fnFilterComplete = _fnFilterComplete;
+		this.oApi._fnFilterCustom = _fnFilterCustom;
+		this.oApi._fnFilterColumn = _fnFilterColumn;
+		this.oApi._fnFilter = _fnFilter;
+		this.oApi._fnBuildSearchArray = _fnBuildSearchArray;
+		this.oApi._fnBuildSearchRow = _fnBuildSearchRow;
+		this.oApi._fnFilterCreateSearch = _fnFilterCreateSearch;
+		this.oApi._fnDataToSearch = _fnDataToSearch;
+		this.oApi._fnSort = _fnSort;
+		this.oApi._fnSortAttachListener = _fnSortAttachListener;
+		this.oApi._fnSortingClasses = _fnSortingClasses;
+		this.oApi._fnFeatureHtmlPaginate = _fnFeatureHtmlPaginate;
+		this.oApi._fnPageChange = _fnPageChange;
+		this.oApi._fnFeatureHtmlInfo = _fnFeatureHtmlInfo;
+		this.oApi._fnUpdateInfo = _fnUpdateInfo;
+		this.oApi._fnFeatureHtmlLength = _fnFeatureHtmlLength;
+		this.oApi._fnFeatureHtmlProcessing = _fnFeatureHtmlProcessing;
+		this.oApi._fnProcessingDisplay = _fnProcessingDisplay;
+		this.oApi._fnVisibleToColumnIndex = _fnVisibleToColumnIndex;
+		this.oApi._fnColumnIndexToVisible = _fnColumnIndexToVisible;
+		this.oApi._fnNodeToDataIndex = _fnNodeToDataIndex;
+		this.oApi._fnVisbleColumns = _fnVisbleColumns;
+		this.oApi._fnCalculateEnd = _fnCalculateEnd;
+		this.oApi._fnConvertToWidth = _fnConvertToWidth;
+		this.oApi._fnCalculateColumnWidths = _fnCalculateColumnWidths;
+		this.oApi._fnScrollingWidthAdjust = _fnScrollingWidthAdjust;
+		this.oApi._fnGetWidestNode = _fnGetWidestNode;
+		this.oApi._fnGetMaxLenString = _fnGetMaxLenString;
+		this.oApi._fnStringToCss = _fnStringToCss;
+		this.oApi._fnArrayCmp = _fnArrayCmp;
+		this.oApi._fnDetectType = _fnDetectType;
+		this.oApi._fnSettingsFromNode = _fnSettingsFromNode;
+		this.oApi._fnGetDataMaster = _fnGetDataMaster;
+		this.oApi._fnGetTrNodes = _fnGetTrNodes;
+		this.oApi._fnGetTdNodes = _fnGetTdNodes;
+		this.oApi._fnEscapeRegex = _fnEscapeRegex;
+		this.oApi._fnDeleteIndex = _fnDeleteIndex;
+		this.oApi._fnReOrderIndex = _fnReOrderIndex;
+		this.oApi._fnColumnOrdering = _fnColumnOrdering;
+		this.oApi._fnLog = _fnLog;
+		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._fnScrollBarWidth = _fnScrollBarWidth;
+		this.oApi._fnApplyToChildren = _fnApplyToChildren;
+		this.oApi._fnMap = _fnMap;
+		
+		
+		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+		 * Section - Constructor
+		 */
+		
+		/* Want to be able to reference "this" inside the this.each function */
+		var _that = this;
+		return this.each(function()
+		{
+			var i=0, iLen, j, jLen, k, kLen;
+			
+			/* Check to see if we are re-initalising a table */
+			for ( i=0, iLen=_aoSettings.length ; i<iLen ; i++ )
+			{
+				/* Base check on table node */
+				if ( _aoSettings[i].nTable == this )
+				{
+					if ( typeof oInit == 'undefined' || 
+					   ( typeof oInit.bRetrieve != 'undefined' && oInit.bRetrieve === true ) )
+					{
+						return _aoSettings[i].oInstance;
+					}
+					else if ( typeof oInit.bDestroy != 'undefined' && oInit.bDestroy === true )
+					{
+						_aoSettings[i].oInstance.fnDestroy();
+						break;
+					}
+					else
+					{
+						_fnLog( _aoSettings[i], 0, "Cannot reinitialise DataTable.\n\n"+
+							"To retrieve the DataTables object for this table, please pass either no arguments "+
+							"to the dataTable() function, or set bRetrieve to true. Alternatively, to destory "+
+							"the old table and create a new one, set bDestroy to true (note that a lot of "+
+							"changes to the configuration can be made through the API which is usually much "+
+							"faster)." );
+						return;
+					}
+				}
+				
+				/* If the element we are initialising has the same ID as a table which was previously
+				 * initialised, but the table nodes don't match (from before) then we destory the old
+				 * instance by simply deleting it. This is under the assumption that the table has been
+				 * destroyed by other methods. Anyone using non-id selectors will need to do this manually
+				 */
+				if ( _aoSettings[i].sTableId !== "" && _aoSettings[i].sTableId == this.getAttribute('id') )
+				{
+					_aoSettings.splice( i, 1 );
+					break;
+				}
+			}
+			
+			/* Make a complete and independent copy of the settings object */
+			var oSettings = new classSettings();
+			_aoSettings.push( oSettings );
+			
+			var bInitHandedOff = false;
+			var bUsePassedData = false;
+			
+			/* Set the id */
+			var sId = this.getAttribute( 'id' );
+			if ( sId !== null )
+			{
+				oSettings.sTableId = sId;
+				oSettings.sInstance = sId;
+			}
+			else
+			{
+				oSettings.sInstance = _oExt._oExternConfig.iNextUnique ++;
+			}
+			
+			/* Sanity check */
+			if ( this.nodeName.toLowerCase() != 'table' )
+			{
+				_fnLog( oSettings, 0, "Attempted to initialise DataTables on a node which is not a "+
+					"table: "+this.nodeName );
+				return;
+			}
+			
+			/* Set the table node */
+			oSettings.nTable = this;
+			
+			/* Keep a reference to the 'this' instance for the table. Note that if this table is being
+			 * created with others, we retrieve a unique instance to ease API access.
+			 */
+			oSettings.oInstance = _that.length == 1 ? _that : $(this).dataTable();
+			
+			/* Bind the API functions to the settings, so we can perform actions whenever oSettings is
+			 * available
+			 */
+			oSettings.oApi = _that.oApi;
+			
+			/* State the table's width for if a destroy is called at a later time */
+			oSettings.sDestroyWidth = $(this).width();
+			
+			/* Store the features that we have available */
+			if ( typeof oInit != 'undefined' && oInit !== null )
+			{
+				oSettings.oInit = oInit;
+				_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.oScroll, oInit, "sScrollX", "sX" );
+				_fnMap( oSettings.oScroll, oInit, "sScrollXInner", "sXInner" );
+				_fnMap( oSettings.oScroll, oInit, "sScrollY", "sY" );
+				_fnMap( oSettings.oScroll, oInit, "bScrollCollapse", "bCollapse" );
+				_fnMap( oSettings.oScroll, oInit, "bScrollInfinite", "bInfinite" );
+				_fnMap( oSettings.oScroll, oInit, "iScrollLoadGap", "iLoadGap" );
+				_fnMap( oSettings.oScroll, oInit, "bScrollAutoCss", "bAutoCss" );
+				_fnMap( oSettings, oInit, "asStripClasses" );
+				_fnMap( oSettings, oInit, "fnRowCallback" );
+				_fnMap( oSettings, oInit, "fnHeaderCallback" );
+				_fnMap( oSettings, oInit, "fnFooterCallback" );
+				_fnMap( oSettings, oInit, "fnCookieCallback" );
+				_fnMap( oSettings, oInit, "fnInitComplete" );
+				_fnMap( oSettings, oInit, "fnServerData" );
+				_fnMap( oSettings, oInit, "fnFormatNumber" );
+				_fnMap( oSettings, oInit, "aaSorting" );
+				_fnMap( oSettings, oInit, "aaSortingFixed" );
+				_fnMap( oSettings, oInit, "aLengthMenu" );
+				_fnMap( oSettings, oInit, "sPaginationType" );
+				_fnMap( oSettings, oInit, "sAjaxSource" );
+				_fnMap( oSettings, oInit, "iCookieDuration" );
+				_fnMap( oSettings, oInit, "sCookiePrefix" );
+				_fnMap( oSettings, oInit, "sDom" );
+				_fnMap( oSettings, oInit, "oSearch", "oPreviousSearch" );
+				_fnMap( oSettings, oInit, "aoSearchCols", "aoPreSearchCols" );
+				_fnMap( oSettings, oInit, "iDisplayLength", "_iDisplayLength" );
+				_fnMap( oSettings, oInit, "bJQueryUI", "bJUI" );
+				_fnMap( oSettings.oLanguage, oInit, "fnInfoCallback" );
+				
+				/* Callback functions which are array driven */
+				if ( typeof oInit.fnDrawCallback == 'function' )
+				{
+					oSettings.aoDrawCallback.push( {
+						"fn": oInit.fnDrawCallback,
+						"sName": "user"
+					} );
+				}
+				
+				if ( typeof oInit.fnStateSaveCallback == 'function' )
+				{
+					oSettings.aoStateSave.push( {
+						"fn": oInit.fnStateSaveCallback,
+						"sName": "user"
+					} );
+				}
+				
+				if ( typeof oInit.fnStateLoadCallback == 'function' )
+				{
+					oSettings.aoStateLoad.push( {
+						"fn": oInit.fnStateLoadCallback,
+						"sName": "user"
+					} );
+				}
+				
+				if ( oSettings.oFeatures.bServerSide && oSettings.oFeatures.bSort &&
+					   oSettings.oFeatures.bSortClasses )
+				{
+					/* Enable sort classes for server-side processing. Safe to do it here, since server-side
+					 * processing must be enabled by the developer
+					 */
+					oSettings.aoDrawCallback.push( {
+						"fn": _fnSortingClasses,
+						"sName": "server_side_sort_classes"
+					} );
+				}
+				
+				if ( typeof oInit.bJQueryUI != 'undefined' && oInit.bJQueryUI )
+				{
+					/* Use the JUI classes object for display. You could clone the oStdClasses object if 
+					 * you want to have multiple tables with multiple independent classes 
+					 */
+					oSettings.oClasses = _oExt.oJUIClasses;
+					
+					if ( typeof oInit.sDom == 'undefined' )
+					{
+						/* Set the DOM to use a layout suitable for jQuery UI's theming */
+						oSettings.sDom = '<"H"lfr>t<"F"ip>';
+					}
+				}
+				
+				/* Calculate the scroll bar width and cache it for use later on */
+				if ( oSettings.oScroll.sX !== "" || oSettings.oScroll.sY !== "" )
+				{
+					oSettings.oScroll.iBarWidth = _fnScrollBarWidth();
+				}
+				
+				if ( typeof oInit.iDisplayStart != 'undefined' && 
+				     typeof oSettings.iInitDisplayStart == 'undefined' )
+				{
+					/* Display start point, taking into account the save saving */
+					oSettings.iInitDisplayStart = oInit.iDisplayStart;
+					oSettings._iDisplayStart = oInit.iDisplayStart;
+				}
+				
+				/* Must be done after everything which can be overridden by a cookie! */
+				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;
+				}
+				
+				/* Backwards compatability */
+				/* aoColumns / aoData - remove at some point... */
+				if ( typeof oInit != 'undefined' && typeof oInit.aoData != 'undefined' )
+				{
+					oInit.aoColumns = oInit.aoData;
+				}
+				
+				/* Language definitions */
+				if ( typeof oInit.oLanguage != 'undefined' )
+				{
+					if ( typeof oInit.oLanguage.sUrl != 'undefined' && oInit.oLanguage.sUrl !== "" )
+					{
+						/* Get the language definitions from a file */
+						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 );
+					}
+				}
+				/* Warning: The _fnLanguageProcess function is async to the remainder of this function due
+				 * to the XHR. We use _bInitialised in _fnLanguageProcess() to check this the processing 
+				 * below is complete. The reason for spliting it like this is optimisation - we can fire
+				 * off the XHR (if needed) and then continue processing the data.
+				 */
+			}
+			else
+			{
+				/* Create a dummy object for quick manipulation later on. */
+				oInit = {};
+			}
+			
+			/*
+			 * Stripes
+			 * Add the strip classes now that we know which classes to apply - unless overruled
+			 */
+			if ( typeof oInit.asStripClasses == 'undefined' )
+			{
+				oSettings.asStripClasses.push( oSettings.oClasses.sStripOdd );
+				oSettings.asStripClasses.push( oSettings.oClasses.sStripEven );
+			}
+			
+			/* Remove row stripe classes if they are already on the table row */
+			var bStripeRemove = false;
+			var anRows = $('>tbody>tr', this);
+			for ( i=0, iLen=oSettings.asStripClasses.length ; i<iLen ; i++ )
+			{
+				if ( anRows.filter(":lt(2)").hasClass( oSettings.asStripClasses[i]) )
+				{
+					bStripeRemove = true;
+					break;
+				}
+			}
+					
+			if ( bStripeRemove )
+			{
+				/* Store the classes which we are about to remove so they can be readded on destory */
+				oSettings.asDestoryStrips = [ '', '' ];
+				if ( $(anRows[0]).hasClass(oSettings.oClasses.sStripOdd) )
+				{
+					oSettings.asDestoryStrips[0] += oSettings.oClasses.sStripOdd+" ";
+				}
+				if ( $(anRows[0]).hasClass(oSettings.oClasses.sStripEven) )
+				{
+					oSettings.asDestoryStrips[0] += oSettings.oClasses.sStripEven;
+				}
+				if ( $(anRows[1]).hasClass(oSettings.oClasses.sStripOdd) )
+				{
+					oSettings.asDestoryStrips[1] += oSettings.oClasses.sStripOdd+" ";
+				}
+				if ( $(anRows[1]).hasClass(oSettings.oClasses.sStripEven) )
+				{
+					oSettings.asDestoryStrips[1] += oSettings.oClasses.sStripEven;
+				}
+				
+				anRows.removeClass( oSettings.asStripClasses.join(' ') );
+			}
+			
+			/*
+			 * Columns
+			 * See if we should load columns automatically or use defined ones
+			 */
+			var nThead = this.getElementsByTagName('thead');
+			var anThs = nThead.length===0 ? [] : _fnGetUniqueThs( nThead[0] );
+			var aoColumnsInit;
+			
+			/* If not given a column array, generate one with nulls */
+			if ( typeof oInit.aoColumns == 'undefined' )
+			{
+				aoColumnsInit = [];
+				for ( i=0, iLen=anThs.length ; i<iLen ; i++ )
+				{
+					aoColumnsInit.push( null );
+				}
+			}
+			else
+			{
+				aoColumnsInit = oInit.aoColumns;
+			}
+			
+			/* Add the columns */
+			for ( i=0, iLen=aoColumnsInit.length ; i<iLen ; i++ )
+			{
+				/* Check if we have column visibilty state to restore */
+				if ( typeof oInit.saved_aoColumns != 'undefined' && oInit.saved_aoColumns.length == iLen )
+				{
+					if ( aoColumnsInit[i] === null )
+					{
+						aoColumnsInit[i] = {};
+					}
+					aoColumnsInit[i].bVisible = oInit.saved_aoColumns[i].bVisible;
+				}
+				
+				_fnAddColumn( oSettings, anThs ? anThs[i] : null );
+			}
+			
+			/* Add options from column definations */
+			if ( typeof oInit.aoColumnDefs != 'undefined' )
+			{
+				/* Loop over the column defs array - loop in reverse so first instace has priority */
+				for ( i=oInit.aoColumnDefs.length-1 ; i>=0 ; i-- )
+				{
+					/* Each column def can target multiple columns, as it is an array */
+					var aTargets = oInit.aoColumnDefs[i].aTargets;
+					if ( !$.isArray( aTargets ) )
+					{
+						_fnLog( oSettings, 1, 'aTargets must be an array of targets, not a '+(typeof aTargets) );
+					}
+					for ( j=0, jLen=aTargets.length ; j<jLen ; j++ )
+					{
+						if ( typeof aTargets[j] == 'number' && aTargets[j] >= 0 )
+						{
+							/* 0+ integer, left to right column counting. We add columns which are unknown
+							 * automatically. Is this the right behaviour for this? We should at least
+							 * log it in future. We cannot do this for the negative or class targets, only here.
+							 */
+							while( oSettings.aoColumns.length <= aTargets[j] )
+							{
+								_fnAddColumn( oSettings );
+							}
+							_fnColumnOptions( oSettings, aTargets[j], oInit.aoColumnDefs[i] );
+						}
+						else if ( typeof aTargets[j] == 'number' && aTargets[j] < 0 )
+						{
+							/* Negative integer, right to left column counting */
+							_fnColumnOptions( oSettings, oSettings.aoColumns.length+aTargets[j], 
+								oInit.aoColumnDefs[i] );
+						}
+						else if ( typeof aTargets[j] == 'string' )
+						{
+							/* Class name matching on TH element */
+							for ( k=0, kLen=oSettings.aoColumns.length ; k<kLen ; k++ )
+							{
+								if ( aTargets[j] == "_all" ||
+								     oSettings.aoColumns[k].nTh.className.indexOf( aTargets[j] ) != -1 )
+								{
+									_fnColumnOptions( oSettings, k, oInit.aoColumnDefs[i] );
+								}
+							}
+						}
+					}
+				}
+			}
+			
+			/* Add options from column array - after the defs array so this has priority */
+			if ( typeof aoColumnsInit != 'undefined' )
+			{
+				for ( i=0, iLen=aoColumnsInit.length ; i<iLen ; i++ )
+				{
+					_fnColumnOptions( oSettings, i, aoColumnsInit[i] );
+				}
+			}
+			
+			/*
+			 * Sorting
+			 * Check the aaSorting array
+			 */
+			for ( i=0, iLen=oSettings.aaSorting.length ; i<iLen ; i++ )
+			{
+				if ( oSettings.aaSorting[i][0] >= oSettings.aoColumns.length )
+				{
+					oSettings.aaSorting[i][0] = 0;
+				}
+				var oColumn = oSettings.aoColumns[ oSettings.aaSorting[i][0] ];
+				
+				/* Add a default sorting index */
+				if ( typeof oSettings.aaSorting[i][2] == 'undefined' )
+				{
+					oSettings.aaSorting[i][2] = 0;
+				}
+				
+				/* If aaSorting is not defined, then we use the first indicator in asSorting */
+				if ( typeof oInit.aaSorting == "undefined" && 
+						 typeof oSettings.saved_aaSorting == "undefined" )
+				{
+					oSettings.aaSorting[i][1] = oColumn.asSorting[0];
+				}
+				
+				/* Set the current sorting index based on aoColumns.asSorting */
+				for ( j=0, jLen=oColumn.asSorting.length ; j<jLen ; j++ )
+				{
+					if ( oSettings.aaSorting[i][1] == oColumn.asSorting[j] )
+					{
+						oSettings.aaSorting[i][2] = j;
+						break;
+					}
+				}
+			}
+				
+			/* Do a first pass on the sorting classes (allows any size changes to be taken into
+			 * account, and also will apply sorting disabled classes if disabled
+			 */
+			_fnSortingClasses( oSettings );
+			
+			/*
+			 * Final init
+			 * Sanity check that there is a thead and tbody. If not let's just create them
+			 */
+			if ( this.getElementsByTagName('thead').length === 0 )
+			{
+				this.appendChild( document.createElement( 'thead' ) );
+			}
+			
+			if ( this.getElementsByTagName('tbody').length === 0 )
+			{
+				this.appendChild( document.createElement( 'tbody' ) );
+			}
+			
+			oSettings.nTHead = this.getElementsByTagName('thead')[0];
+			oSettings.nTBody = this.getElementsByTagName('tbody')[0];
+			if ( this.getElementsByTagName('tfoot').length > 0 )
+			{
+				oSettings.nTFoot = this.getElementsByTagName('tfoot')[0];
+			}
+			
+			/* Check if there is data passing into the constructor */
+			if ( bUsePassedData )
+			{
+				for ( i=0 ; i<oInit.aaData.length ; i++ )
+				{
+					_fnAddData( oSettings, oInit.aaData[ i ] );
+				}
+			}
+			else
+			{
+				/* Grab the data from the page */
+				_fnGatherData( oSettings );
+			}
+			
+			/* Copy the data index array */
+			oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
+			
+			/* Initialisation complete - table can be drawn */
+			oSettings.bInitialised = true;
+			
+			/* Check if we need to initialise the table (it might not have been handed off to the
+			 * language processor)
+			 */
+			if ( bInitHandedOff === false )
+			{
+				_fnInitalise( oSettings );
+			}
+		});
+	};
+})(jQuery, window, document);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.dataTables.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.dataTables.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.dataTables.min.js	(revision 6286)
@@ -0,0 +1,143 @@
+/*
+ * File:        jquery.dataTables.min.js
+ * Version:     1.7.6
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Info:        www.datatables.net
+ * 
+ * Copyright 2008-2011 Allan Jardine, all rights reserved.
+ *
+ * This source file is free software, under either the GPL v2 license or a
+ * BSD style license, as supplied with this software.
+ * 
+ * This source file is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ */
+(function(j,ra,p){j.fn.dataTableSettings=[];var D=j.fn.dataTableSettings;j.fn.dataTableExt={};var n=j.fn.dataTableExt;n.sVersion="1.7.6";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,m,r){var s,w,y;if(g.bJUI){s=p.createElement("a");w=p.createElement("a");y=p.createElement("span");y.className=g.oClasses.sPageJUINext;w.appendChild(y);y=p.createElement("span");y.className=g.oClasses.sPageJUIPrev;s.appendChild(y)}else{s=p.createElement("div");w=p.createElement("div")}s.className=
+g.oClasses.sPagePrevDisabled;w.className=g.oClasses.sPageNextDisabled;s.title=g.oLanguage.oPaginate.sPrevious;w.title=g.oLanguage.oPaginate.sNext;m.appendChild(s);m.appendChild(w);j(s).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&r(g)});j(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&r(g)});j(s).bind("selectstart.DT",function(){return false});j(w).bind("selectstart.DT",function(){return false});if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){m.setAttribute("id",
+g.sTableId+"_paginate");s.setAttribute("id",g.sTableId+"_previous");w.setAttribute("id",g.sTableId+"_next")}},fnUpdate:function(g){if(g.aanFeatures.p)for(var m=g.aanFeatures.p,r=0,s=m.length;r<s;r++)if(m[r].childNodes.length!==0){m[r].childNodes[0].className=g._iDisplayStart===0?g.oClasses.sPagePrevDisabled:g.oClasses.sPagePrevEnabled;m[r].childNodes[1].className=g.fnDisplayEnd()==g.fnRecordsDisplay()?g.oClasses.sPageNextDisabled:g.oClasses.sPageNextEnabled}}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(g,
+m,r){var s=p.createElement("span"),w=p.createElement("span"),y=p.createElement("span"),F=p.createElement("span"),x=p.createElement("span");s.innerHTML=g.oLanguage.oPaginate.sFirst;w.innerHTML=g.oLanguage.oPaginate.sPrevious;F.innerHTML=g.oLanguage.oPaginate.sNext;x.innerHTML=g.oLanguage.oPaginate.sLast;var u=g.oClasses;s.className=u.sPageButton+" "+u.sPageFirst;w.className=u.sPageButton+" "+u.sPagePrevious;F.className=u.sPageButton+" "+u.sPageNext;x.className=u.sPageButton+" "+u.sPageLast;m.appendChild(s);
+m.appendChild(w);m.appendChild(y);m.appendChild(F);m.appendChild(x);j(s).bind("click.DT",function(){g.oApi._fnPageChange(g,"first")&&r(g)});j(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&r(g)});j(F).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&r(g)});j(x).bind("click.DT",function(){g.oApi._fnPageChange(g,"last")&&r(g)});j("span",m).bind("mousedown.DT",function(){return false}).bind("selectstart.DT",function(){return false});if(g.sTableId!==""&&typeof g.aanFeatures.p==
+"undefined"){m.setAttribute("id",g.sTableId+"_paginate");s.setAttribute("id",g.sTableId+"_first");w.setAttribute("id",g.sTableId+"_previous");F.setAttribute("id",g.sTableId+"_next");x.setAttribute("id",g.sTableId+"_last")}},fnUpdate:function(g,m){if(g.aanFeatures.p){var r=n.oPagination.iFullNumbersShowPages,s=Math.floor(r/2),w=Math.ceil(g.fnRecordsDisplay()/g._iDisplayLength),y=Math.ceil(g._iDisplayStart/g._iDisplayLength)+1,F="",x,u=g.oClasses;if(w<r){s=1;x=w}else if(y<=s){s=1;x=r}else if(y>=w-s){s=
+w-r+1;x=w}else{s=y-Math.ceil(r/2)+1;x=s+r-1}for(r=s;r<=x;r++)F+=y!=r?'<span class="'+u.sPageButton+'">'+r+"</span>":'<span class="'+u.sPageButtonActive+'">'+r+"</span>";x=g.aanFeatures.p;var z,U=function(){g._iDisplayStart=(this.innerHTML*1-1)*g._iDisplayLength;m(g);return false},C=function(){return false};r=0;for(s=x.length;r<s;r++)if(x[r].childNodes.length!==0){z=j("span:eq(2)",x[r]);z.html(F);j("span",z).bind("click.DT",U).bind("mousedown.DT",C).bind("selectstart.DT",C);z=x[r].getElementsByTagName("span");
+z=[z[0],z[1],z[z.length-2],z[z.length-1]];j(z).removeClass(u.sPageButton+" "+u.sPageButtonActive+" "+u.sPageButtonStaticDisabled);if(y==1){z[0].className+=" "+u.sPageButtonStaticDisabled;z[1].className+=" "+u.sPageButtonStaticDisabled}else{z[0].className+=" "+u.sPageButton;z[1].className+=" "+u.sPageButton}if(w===0||y==w||g._iDisplayLength==-1){z[2].className+=" "+u.sPageButtonStaticDisabled;z[3].className+=" "+u.sPageButtonStaticDisabled}else{z[2].className+=" "+u.sPageButton;z[3].className+=" "+
+u.sPageButton}}}}}};n.oSort={"string-asc":function(g,m){g=g.toLowerCase();m=m.toLowerCase();return g<m?-1:g>m?1:0},"string-desc":function(g,m){g=g.toLowerCase();m=m.toLowerCase();return g<m?1:g>m?-1:0},"html-asc":function(g,m){g=g.replace(/<.*?>/g,"").toLowerCase();m=m.replace(/<.*?>/g,"").toLowerCase();return g<m?-1:g>m?1:0},"html-desc":function(g,m){g=g.replace(/<.*?>/g,"").toLowerCase();m=m.replace(/<.*?>/g,"").toLowerCase();return g<m?1:g>m?-1:0},"date-asc":function(g,m){g=Date.parse(g);m=Date.parse(m);
+if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(m)||m==="")m=Date.parse("01/01/1970 00:00:00");return g-m},"date-desc":function(g,m){g=Date.parse(g);m=Date.parse(m);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(m)||m==="")m=Date.parse("01/01/1970 00:00:00");return m-g},"numeric-asc":function(g,m){return(g=="-"||g===""?0:g*1)-(m=="-"||m===""?0:m*1)},"numeric-desc":function(g,m){return(m=="-"||m===""?0:m*1)-(g=="-"||g===""?0:g*1)}};n.aTypes=[function(g){if(g.length===
+0)return"numeric";var m,r=false;m=g.charAt(0);if("0123456789-".indexOf(m)==-1)return null;for(var s=1;s<g.length;s++){m=g.charAt(s);if("0123456789.".indexOf(m)==-1)return null;if(m=="."){if(r)return null;r=true}}return"numeric"},function(g){var m=Date.parse(g);if(m!==null&&!isNaN(m)||g.length===0)return"date";return null},function(g){if(g.indexOf("<")!=-1&&g.indexOf(">")!=-1)return"html";return null}];n.fnVersionCheck=function(g){var m=function(x,u){for(;x.length<u;)x+="0";return x},r=n.sVersion.split(".");
+g=g.split(".");for(var s="",w="",y=0,F=g.length;y<F;y++){s+=m(r[y],3);w+=m(g[y],3)}return parseInt(s,10)>=parseInt(w,10)};n._oExternConfig={iNextUnique:0};j.fn.dataTable=function(g){function m(){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,bAutoCss:true};
+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<b;d++){if(d%3===0&&d!==0)c=","+c;c=a[b-d-1]+c}}return c};this.aLengthMenu=[10,25,50,100];this.bDrawing=this.iDraw=0;this.iDrawError=-1;this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;this._iRecordsDisplay=this._iRecordsTotal=0;this.bJUI=false;this.oClasses=n.oStdClasses;this.bSorted=this.bFiltered=false;this.oInit=null}function r(a){return function(){var b=[A(this[n.iApiIndex])].concat(Array.prototype.slice.call(arguments));
+return n.oApi[a].apply(this,b)}}function s(a){var b,c;if(a.bInitialised===false)setTimeout(function(){s(a)},200);else{sa(a);U(a);K(a,true);a.oFeatures.bAutoWidth&&$(a);b=0;for(c=a.aoColumns.length;b<c;b++)if(a.aoColumns[b].sWidth!==null)a.aoColumns[b].nTh.style.width=v(a.aoColumns[b].sWidth);if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}if(a.sAjaxSource!==null&&!a.oFeatures.bServerSide)a.fnServerData.call(a.oInstance,a.sAjaxSource,[],function(d){for(b=0;b<d.aaData.length;b++)u(a,
+d.aaData[b]);a.iInitDisplayStart=a._iDisplayStart;if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();E(a);C(a)}K(a,false);w(a,d)});else if(!a.oFeatures.bServerSide){K(a,false);w(a)}}}function w(a,b){a._bInitComplete=true;if(typeof a.fnInitComplete=="function")typeof b!="undefined"?a.fnInitComplete.call(a.oInstance,a,b):a.fnInitComplete.call(a.oInstance,a)}function y(a,b,c){o(a.oLanguage,b,"sProcessing");o(a.oLanguage,b,"sLengthMenu");o(a.oLanguage,b,"sEmptyTable");o(a.oLanguage,
+b,"sZeroRecords");o(a.oLanguage,b,"sInfo");o(a.oLanguage,b,"sInfoEmpty");o(a.oLanguage,b,"sInfoFiltered");o(a.oLanguage,b,"sInfoPostFix");o(a.oLanguage,b,"sSearch");if(typeof b.oPaginate!="undefined"){o(a.oLanguage.oPaginate,b.oPaginate,"sFirst");o(a.oLanguage.oPaginate,b.oPaginate,"sPrevious");o(a.oLanguage.oPaginate,b.oPaginate,"sNext");o(a.oLanguage.oPaginate,b.oPaginate,"sLast")}typeof b.sEmptyTable=="undefined"&&typeof b.sZeroRecords!="undefined"&&o(a.oLanguage,b,"sZeroRecords","sEmptyTable");
+c&&s(a)}function F(a,b){a.aoColumns[a.aoColumns.length++]={sType:null,_bAutoType:true,bVisible:true,bSearchable:true,bSortable:true,asSorting:["asc","desc"],sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,sTitle:b?b.innerHTML:"",sName:"",sWidth:null,sWidthOrig:null,sClass:null,fnRender:null,bUseRendered:true,iDataSort:a.aoColumns.length-1,sSortDataType:"std",nTh:b?b:p.createElement("th"),nTf:null,anThExtra:[],anTfExtra:[]};b=a.aoColumns.length-1;if(typeof a.aoPreSearchCols[b]==
+"undefined"||a.aoPreSearchCols[b]===null)a.aoPreSearchCols[b]={sSearch:"",bRegex:false,bSmart:true};else{if(typeof a.aoPreSearchCols[b].bRegex=="undefined")a.aoPreSearchCols[b].bRegex=true;if(typeof a.aoPreSearchCols[b].bSmart=="undefined")a.aoPreSearchCols[b].bSmart=true}x(a,b,null)}function x(a,b,c){b=a.aoColumns[b];if(typeof c!="undefined"&&c!==null){if(typeof c.sType!="undefined"){b.sType=c.sType;b._bAutoType=false}o(b,c,"bVisible");o(b,c,"bSearchable");o(b,c,"bSortable");o(b,c,"sTitle");o(b,
+c,"sName");o(b,c,"sWidth");o(b,c,"sWidth","sWidthOrig");o(b,c,"sClass");o(b,c,"fnRender");o(b,c,"bUseRendered");o(b,c,"iDataSort");o(b,c,"asSorting");o(b,c,"sSortDataType")}if(!a.oFeatures.bSort)b.bSortable=false;if(!b.bSortable||j.inArray("asc",b.asSorting)==-1&&j.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableNone;b.sSortingClassJUI=""}else if(j.inArray("asc",b.asSorting)!=-1&&j.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableAsc;b.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed}else if(j.inArray("asc",
+b.asSorting)==-1&&j.inArray("desc",b.asSorting)!=-1){b.sSortingClass=a.oClasses.sSortableDesc;b.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed}}function u(a,b){if(b.length!=a.aoColumns.length&&a.iDrawError!=a.iDraw){H(a,0,"Added data (size "+b.length+") does not match known number of columns ("+a.aoColumns.length+")");a.iDrawError=a.iDraw;return-1}b=b.slice();var c=a.aoData.length;a.aoData.push({nTr:p.createElement("tr"),_iId:a.iNextId++,_aData:b,_anHidden:[],_sRowStripe:""});for(var d,f,e=0;e<b.length;e++){d=
+p.createElement("td");if(b[e]===null)b[e]="";if(typeof a.aoColumns[e].fnRender=="function"){f=a.aoColumns[e].fnRender({iDataRow:c,iDataColumn:e,aData:b,oSettings:a});d.innerHTML=f;if(a.aoColumns[e].bUseRendered)a.aoData[c]._aData[e]=f}else d.innerHTML=b[e];if(typeof b[e]!="string")b[e]+="";b[e]=j.trim(b[e]);if(a.aoColumns[e].sClass!==null)d.className=a.aoColumns[e].sClass;if(a.aoColumns[e]._bAutoType&&a.aoColumns[e].sType!="string"){f=aa(a.aoData[c]._aData[e]);if(a.aoColumns[e].sType===null)a.aoColumns[e].sType=
+f;else if(a.aoColumns[e].sType!=f)a.aoColumns[e].sType="string"}if(a.aoColumns[e].bVisible){a.aoData[c].nTr.appendChild(d);a.aoData[c]._anHidden[e]=null}else a.aoData[c]._anHidden[e]=d}a.aiDisplayMaster.push(c);return c}function z(a){var b,c,d,f,e,i,h,k;if(a.sAjaxSource===null){h=a.nTBody.childNodes;b=0;for(c=h.length;b<c;b++)if(h[b].nodeName.toUpperCase()=="TR"){i=a.aoData.length;a.aoData.push({nTr:h[b],_iId:a.iNextId++,_aData:[],_anHidden:[],_sRowStripe:""});a.aiDisplayMaster.push(i);k=a.aoData[i]._aData;
+i=h[b].childNodes;d=e=0;for(f=i.length;d<f;d++)if(i[d].nodeName.toUpperCase()=="TD"){k[e]=j.trim(i[d].innerHTML);e++}}}h=R(a);i=[];b=0;for(c=h.length;b<c;b++){d=0;for(f=h[b].childNodes.length;d<f;d++){e=h[b].childNodes[d];e.nodeName.toUpperCase()=="TD"&&i.push(e)}}i.length!=h.length*a.aoColumns.length&&H(a,1,"Unexpected number of TD elements. Expected "+h.length*a.aoColumns.length+" and got "+i.length+". DataTables does not support rowspan / colspan in the table body, and there must be one cell for each row/column combination.");
+h=0;for(d=a.aoColumns.length;h<d;h++){if(a.aoColumns[h].sTitle===null)a.aoColumns[h].sTitle=a.aoColumns[h].nTh.innerHTML;f=a.aoColumns[h]._bAutoType;e=typeof a.aoColumns[h].fnRender=="function";k=a.aoColumns[h].sClass!==null;var l=a.aoColumns[h].bVisible,q,t;if(f||e||k||!l){b=0;for(c=a.aoData.length;b<c;b++){q=i[b*d+h];if(f)if(a.aoColumns[h].sType!="string"){t=aa(a.aoData[b]._aData[h]);if(a.aoColumns[h].sType===null)a.aoColumns[h].sType=t;else if(a.aoColumns[h].sType!=t)a.aoColumns[h].sType="string"}if(e){t=
+a.aoColumns[h].fnRender({iDataRow:b,iDataColumn:h,aData:a.aoData[b]._aData,oSettings:a});q.innerHTML=t;if(a.aoColumns[h].bUseRendered)a.aoData[b]._aData[h]=t}if(k)q.className+=" "+a.aoColumns[h].sClass;if(l)a.aoData[b]._anHidden[h]=null;else{a.aoData[b]._anHidden[h]=q;q.parentNode.removeChild(q)}}}}}function U(a){var b,c,d,f,e,i=a.nTHead.getElementsByTagName("tr"),h=0,k;if(a.nTHead.getElementsByTagName("th").length!==0){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;a.aoColumns[b].sClass!==
+null&&j(c).addClass(a.aoColumns[b].sClass);f=1;for(e=i.length;f<e;f++){k=j(i[f]).children();a.aoColumns[b].anThExtra.push(k[b-h]);a.aoColumns[b].bVisible||i[f].removeChild(k[b-h])}if(a.aoColumns[b].bVisible){if(a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}else{c.parentNode.removeChild(c);h++}}}else{f=p.createElement("tr");b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;c.innerHTML=a.aoColumns[b].sTitle;a.aoColumns[b].sClass!==null&&j(c).addClass(a.aoColumns[b].sClass);
+a.aoColumns[b].bVisible&&f.appendChild(c)}j(a.nTHead).html("")[0].appendChild(f)}if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;f=p.createElement("div");f.className=a.oClasses.sSortJUIWrapper;j(c).contents().appendTo(f);f.appendChild(p.createElement("span"));c.appendChild(f)}}d=function(){this.onselectstart=function(){return false};return false};if(a.oFeatures.bSort)for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable!==false){ba(a,a.aoColumns[b].nTh,b);j(a.aoColumns[b].nTh).bind("mousedown.DT",
+d)}else j(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);if(a.nTFoot!==null){h=0;i=a.nTFoot.getElementsByTagName("tr");c=i[0].getElementsByTagName("th");b=0;for(d=c.length;b<d;b++)if(typeof a.aoColumns[b]!="undefined"){a.aoColumns[b].nTf=c[b-h];if(a.oClasses.sFooterTH!=="")a.aoColumns[b].nTf.className+=" "+a.oClasses.sFooterTH;f=1;for(e=i.length;f<e;f++){k=j(i[f]).children();a.aoColumns[b].anTfExtra.push(k[b-h]);a.aoColumns[b].bVisible||i[f].removeChild(k[b-h])}if(!a.aoColumns[b].bVisible){c[b-
+h].parentNode.removeChild(c[b-h]);h++}}}}function C(a){var b,c,d=[],f=0,e=false;b=a.asStripClasses.length;c=a.aoOpenRows.length;a.bDrawing=true;if(typeof a.iInitDisplayStart!="undefined"&&a.iInitDisplayStart!=-1){a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart;a.iInitDisplayStart=-1;E(a)}if(!(!a.bDestroying&&a.oFeatures.bServerSide&&!ta(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;i<h;i++){var k=a.aoData[a.aiDisplay[i]],l=k.nTr;if(b!==0){var q=a.asStripClasses[f%b];if(k._sRowStripe!=q){j(l).removeClass(k._sRowStripe).addClass(q);k._sRowStripe=q}}if(typeof a.fnRowCallback=="function"){l=a.fnRowCallback.call(a.oInstance,l,a.aoData[a.aiDisplay[i]]._aData,f,i);if(!l&&!e){H(a,0,"A node was not returned by fnRowCallback");e=true}}d.push(l);f++;if(c!==0)for(k=0;k<c;k++)l==a.aoOpenRows[k].nParent&&d.push(a.aoOpenRows[k].nTr)}}else{d[0]=
+p.createElement("tr");if(typeof a.asStripClasses[0]!="undefined")d[0].className=a.asStripClasses[0];e=p.createElement("td");e.setAttribute("valign","top");e.colSpan=S(a);e.className=a.oClasses.sRowEmpty;e.innerHTML=typeof a.oLanguage.sEmptyTable!="undefined"&&a.fnRecordsTotal()===0?a.oLanguage.sEmptyTable:a.oLanguage.sZeroRecords.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()));d[f].appendChild(e)}typeof a.fnHeaderCallback=="function"&&a.fnHeaderCallback.call(a.oInstance,j(">tr",a.nTHead)[0],
+V(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);typeof a.fnFooterCallback=="function"&&a.fnFooterCallback.call(a.oInstance,j(">tr",a.nTFoot)[0],V(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);f=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;b++)f.appendChild(d[b]);
+a.nTBody.appendChild(f);e!==null&&e.appendChild(a.nTBody)}for(b=a.aoDrawCallback.length-1;b>=0;b--)a.aoDrawCallback[b].fn.call(a.oInstance,a);a.bSorted=false;a.bFiltered=false;a.bDrawing=false;if(a.oFeatures.bServerSide){K(a,false);typeof a._bInitComplete=="undefined"&&w(a)}}}function W(a){if(a.oFeatures.bSort)O(a,a.oPreviousSearch);else if(a.oFeatures.bFilter)P(a,a.oPreviousSearch);else{E(a);C(a)}}function ta(a){if(a.bAjaxDataGet){K(a,true);var b=a.aoColumns.length,c=[],d;a.iDraw++;c.push({name:"sEcho",
+value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:ca(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength",value:a.oFeatures.bPaginate!==false?a._iDisplayLength:-1});if(a.oFeatures.bFilter!==false){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(d=0;d<b;d++){c.push({name:"sSearch_"+d,value:a.aoPreSearchCols[d].sSearch});c.push({name:"bRegex_"+d,value:a.aoPreSearchCols[d].bRegex});
+c.push({name:"bSearchable_"+d,value:a.aoColumns[d].bSearchable})}}if(a.oFeatures.bSort!==false){var f=a.aaSortingFixed!==null?a.aaSortingFixed.length:0,e=a.aaSorting.length;c.push({name:"iSortingCols",value:f+e});for(d=0;d<f;d++){c.push({name:"iSortCol_"+d,value:a.aaSortingFixed[d][0]});c.push({name:"sSortDir_"+d,value:a.aaSortingFixed[d][1]})}for(d=0;d<e;d++){c.push({name:"iSortCol_"+(d+f),value:a.aaSorting[d][0]});c.push({name:"sSortDir_"+(d+f),value:a.aaSorting[d][1]})}for(d=0;d<b;d++)c.push({name:"bSortable_"+
+d,value:a.aoColumns[d].bSortable})}a.fnServerData.call(a.oInstance,a.sAjaxSource,c,function(i){ua(a,i)});return false}else return true}function ua(a,b){if(typeof b.sEcho!="undefined")if(b.sEcho*1<a.iDraw)return;else a.iDraw=b.sEcho*1;if(!a.oScroll.bInfinite||a.oScroll.bInfinite&&(a.bSorted||a.bFiltered))da(a);a._iRecordsTotal=b.iTotalRecords;a._iRecordsDisplay=b.iTotalDisplayRecords;var c=ca(a);if(c=typeof b.sColumns!="undefined"&&c!==""&&b.sColumns!=c)var d=va(a,b.sColumns);for(var f=0,e=b.aaData.length;f<
+e;f++)if(c){for(var i=[],h=0,k=a.aoColumns.length;h<k;h++)i.push(b.aaData[f][d[h]]);u(a,i)}else u(a,b.aaData[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=false;C(a);a.bAjaxDataGet=true;K(a,false)}function sa(a){var b=p.createElement("div");a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=p.createElement("div");a.nTableWrapper.className=a.oClasses.sWrapper;a.sTableId!==""&&a.nTableWrapper.setAttribute("id",a.sTableId+"_wrapper");for(var c=a.nTableWrapper,d=a.sDom.split(""),
+f,e,i,h,k,l,q,t=0;t<d.length;t++){e=0;i=d[t];if(i=="<"){h=p.createElement("div");k=d[t+1];if(k=="'"||k=='"'){l="";for(q=2;d[t+q]!=k;){l+=d[t+q];q++}if(l=="H")l="fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix";else if(l=="F")l="fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix";if(l.indexOf(".")!=-1){k=l.split(".");h.setAttribute("id",k[0].substr(1,k[0].length-1));h.className=k[1]}else if(l.charAt(0)=="#")h.setAttribute("id",l.substr(1,
+l.length-1));else h.className=l;t+=q}c.appendChild(h);c=h}else if(i==">")c=c.parentNode;else if(i=="l"&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange){f=wa(a);e=1}else if(i=="f"&&a.oFeatures.bFilter){f=xa(a);e=1}else if(i=="r"&&a.oFeatures.bProcessing){f=ya(a);e=1}else if(i=="t"){f=za(a);e=1}else if(i=="i"&&a.oFeatures.bInfo){f=Aa(a);e=1}else if(i=="p"&&a.oFeatures.bPaginate){f=Ba(a);e=1}else if(n.aoFeatures.length!==0){h=n.aoFeatures;q=0;for(k=h.length;q<k;q++)if(i==h[q].cFeature){if(f=h[q].fnInit(a))e=
+1;break}}if(e==1&&f!==null){if(typeof a.aanFeatures[i]!="object")a.aanFeatures[i]=[];a.aanFeatures[i].push(f);c.appendChild(f)}}b.parentNode.replaceChild(a.nTableWrapper,b)}function za(a){if(a.oScroll.sX===""&&a.oScroll.sY==="")return a.nTable;var b=p.createElement("div"),c=p.createElement("div"),d=p.createElement("div"),f=p.createElement("div"),e=p.createElement("div"),i=p.createElement("div"),h=a.nTable.cloneNode(false),k=a.nTable.cloneNode(false),l=a.nTable.getElementsByTagName("thead")[0],q=a.nTable.getElementsByTagName("tfoot").length===
+0?null:a.nTable.getElementsByTagName("tfoot")[0],t=typeof g.bJQueryUI!="undefined"&&g.bJQueryUI?n.oJUIClasses:n.oStdClasses;c.appendChild(d);e.appendChild(i);f.appendChild(a.nTable);b.appendChild(c);b.appendChild(f);d.appendChild(h);h.appendChild(l);if(q!==null){b.appendChild(e);i.appendChild(k);k.appendChild(q)}b.className=t.sScrollWrapper;c.className=t.sScrollHead;d.className=t.sScrollHeadInner;f.className=t.sScrollBody;e.className=t.sScrollFoot;i.className=t.sScrollFootInner;if(a.oScroll.bAutoCss){c.style.overflow=
+"hidden";c.style.position="relative";e.style.overflow="hidden";f.style.overflow="auto"}c.style.border="0";c.style.width="100%";e.style.border="0";d.style.width="150%";h.removeAttribute("id");h.style.marginLeft="0";a.nTable.style.marginLeft="0";if(q!==null){k.removeAttribute("id");k.style.marginLeft="0"}d=j(">caption",a.nTable);i=0;for(k=d.length;i<k;i++)h.appendChild(d[i]);if(a.oScroll.sX!==""){c.style.width=v(a.oScroll.sX);f.style.width=v(a.oScroll.sX);if(q!==null)e.style.width=v(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=v(a.oScroll.sY);a.aoDrawCallback.push({fn:Ca,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()){ea(a,"next");E(a);C(a)}});a.nScrollHead=c;a.nScrollFoot=e;return b}function Ca(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],
+d=a.nTable.parentNode,f,e,i,h,k,l,q,t,G=[];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=fa(i);f=0;for(e=J.length;f<e;f++){q=ga(a,f);J[f].style.width=a.aoColumns[q].sWidth}a.nTFoot!==null&&L(function(B){B.style.width=
+""},k.getElementsByTagName("tr"));f=j(a.nTable).outerWidth();if(a.oScroll.sX===""){a.nTable.style.width="100%";if(j.browser.msie&&j.browser.version<=7)a.nTable.style.width=v(j(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sXInner!=="")a.nTable.style.width=v(a.oScroll.sXInner);else if(f==j(d).width()&&j(d).height()<j(a.nTable).height()){a.nTable.style.width=v(f-a.oScroll.iBarWidth);if(j(a.nTable).outerWidth()>f-a.oScroll.iBarWidth)a.nTable.style.width=v(f)}else a.nTable.style.width=
+v(f);f=j(a.nTable).outerWidth();e=a.nTHead.getElementsByTagName("tr");i=i.getElementsByTagName("tr");L(function(B,I){l=B.style;l.paddingTop="0";l.paddingBottom="0";l.borderTopWidth="0";l.borderBottomWidth="0";l.height=0;t=j(B).width();I.style.width=v(t);G.push(t)},i,e);j(i).height(0);if(a.nTFoot!==null){h=k.getElementsByTagName("tr");k=a.nTFoot.getElementsByTagName("tr");L(function(B,I){l=B.style;l.paddingTop="0";l.paddingBottom="0";l.borderTopWidth="0";l.borderBottomWidth="0";l.height=0;t=j(B).width();
+I.style.width=v(t);G.push(t)},h,k);j(h).height(0)}L(function(B){B.innerHTML="";B.style.width=v(G.shift())},i);a.nTFoot!==null&&L(function(B){B.innerHTML="";B.style.width=v(G.shift())},h);if(j(a.nTable).outerWidth()<f)if(a.oScroll.sX==="")H(a,1,"The table cannot fit into the current element which will cause column misalignment. It is suggested that you enable x-scrolling or increase the width the table has in which to be drawn");else a.oScroll.sXInner!==""&&H(a,1,"The table cannot fit into the current element which will cause column misalignment. It is suggested that you increase the sScrollXInner property to allow it to draw in a larger area, or simply remove that parameter to allow automatic calculation");
+if(a.oScroll.sY==="")if(j.browser.msie&&j.browser.version<=7)d.style.height=v(a.nTable.offsetHeight+a.oScroll.iBarWidth);if(a.oScroll.sY!==""&&a.oScroll.bCollapse){d.style.height=v(a.oScroll.sY);h=a.oScroll.sX!==""&&a.nTable.offsetWidth>d.offsetWidth?a.oScroll.iBarWidth:0;if(a.nTable.offsetHeight<d.offsetHeight)d.style.height=v(j(a.nTable).height()+h)}h=j(a.nTable).outerWidth();c.style.width=v(h);b.style.width=v(h+a.oScroll.iBarWidth);if(a.nTFoot!==null){b=a.nScrollFoot.getElementsByTagName("div")[0];
+c=b.getElementsByTagName("table")[0];b.style.width=v(a.nTable.offsetWidth+a.oScroll.iBarWidth);c.style.width=v(a.nTable.offsetWidth)}if(a.bSorted||a.bFiltered)d.scrollTop=0}function X(a){if(a.oFeatures.bAutoWidth===false)return false;$(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function xa(a){var b=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.f=="undefined"&&b.setAttribute("id",a.sTableId+"_filter");b.className=a.oClasses.sFilter;
+b.innerHTML=a.oLanguage.sSearch+(a.oLanguage.sSearch===""?"":" ")+'<input type="text" />';var c=j("input",b);c.val(a.oPreviousSearch.sSearch.replace('"',"&quot;"));c.bind("keyup.DT",function(){for(var d=a.aanFeatures.f,f=0,e=d.length;f<e;f++)d[f]!=this.parentNode&&j("input",d[f]).val(this.value);this.value!=a.oPreviousSearch.sSearch&&P(a,{sSearch:this.value,bRegex:a.oPreviousSearch.bRegex,bSmart:a.oPreviousSearch.bSmart})});c.bind("keypress.DT",function(d){if(d.keyCode==13)return false});return b}
+function P(a,b,c){Da(a,b.sSearch,c,b.bRegex,b.bSmart);for(b=0;b<a.aoPreSearchCols.length;b++)Ea(a,a.aoPreSearchCols[b].sSearch,b,a.aoPreSearchCols[b].bRegex,a.aoPreSearchCols[b].bSmart);n.afnFiltering.length!==0&&Fa(a);a.bFiltered=true;a._iDisplayStart=0;E(a);C(a);ha(a,0)}function Fa(a){for(var b=n.afnFiltering,c=0,d=b.length;c<d;c++)for(var f=0,e=0,i=a.aiDisplay.length;e<i;e++){var h=a.aiDisplay[e-f];if(!b[c](a,a.aoData[h]._aData,h)){a.aiDisplay.splice(e-f,1);f++}}}function Ea(a,b,c,d,f){if(b!==
+""){var e=0;b=ia(b,d,f);for(d=a.aiDisplay.length-1;d>=0;d--){f=ja(a.aoData[a.aiDisplay[d]]._aData[c],a.aoColumns[c].sType);if(!b.test(f)){a.aiDisplay.splice(d,1);e++}}}}function Da(a,b,c,d,f){var e=ia(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);ha(a,1);for(c=0;c<a.aiDisplayMaster.length;c++)e.test(a.asDataSearch[c])&&a.aiDisplay.push(a.aiDisplayMaster[c])}else{var i=0;for(c=0;c<a.asDataSearch.length;c++)if(!e.test(a.asDataSearch[c])){a.aiDisplay.splice(c-i,1);i++}}a.oPreviousSearch.sSearch=b;a.oPreviousSearch.bRegex=d;a.oPreviousSearch.bSmart=f}function ha(a,b){a.asDataSearch.splice(0,a.asDataSearch.length);b=typeof b!="undefined"&&b==1?a.aiDisplayMaster:a.aiDisplay;for(var c=0,d=b.length;c<d;c++)a.asDataSearch[c]=
+ka(a,a.aoData[b[c]]._aData)}function ka(a,b){for(var c="",d=p.createElement("div"),f=0,e=a.aoColumns.length;f<e;f++)if(a.aoColumns[f].bSearchable)c+=ja(b[f],a.aoColumns[f].sType)+"  ";if(c.indexOf("&")!==-1){d.innerHTML=c;c=d.textContent?d.textContent:d.innerText;c=c.replace(/\n/g," ").replace(/\r/g,"")}return c}function ia(a,b,c){if(c){a=b?a.split(" "):la(a).split(" ");a="^(?=.*?"+a.join(")(?=.*?")+").*$";return new RegExp(a,"i")}else{a=b?a:la(a);return new RegExp(a,"i")}}function ja(a,b){if(typeof n.ofnSearch[b]==
+"function")return n.ofnSearch[b](a);else if(b=="html")return a.replace(/\n/g," ").replace(/<.*?>/g,"");else if(typeof a=="string")return a.replace(/\n/g," ");return a}function O(a,b){var c,d,f,e,i,h,k=[],l=[],q=n.oSort,t=a.aoData,G=a.aoColumns;if(!a.oFeatures.bServerSide&&(a.aaSorting.length!==0||a.aaSortingFixed!==null)){k=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(f=0;f<k.length;f++){e=k[f][0];i=M(a,e);h=a.aoColumns[e].sSortDataType;if(typeof n.afnSortData[h]!=
+"undefined"){var J=n.afnSortData[h](a,e,i);i=0;for(h=t.length;i<h;i++)t[i]._aData[e]=J[i]}}f=0;for(e=a.aiDisplayMaster.length;f<e;f++)l[a.aiDisplayMaster[f]]=f;var B=k.length;a.aiDisplayMaster.sort(function(I,Y){var N;for(f=0;f<B;f++){c=G[k[f][0]].iDataSort;d=G[c].sType;N=q[d+"-"+k[f][1]](t[I]._aData[c],t[Y]._aData[c]);if(N!==0)return N}return q["numeric-asc"](l[I],l[Y])})}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;E(a);C(a)}}function ba(a,b,c,d){j(b).bind("click.DT",function(f){if(a.aoColumns[c].bSortable!==false){var e=function(){var i,h;if(f.shiftKey){for(var k=false,l=0;l<a.aaSorting.length;l++)if(a.aaSorting[l][0]==c){k=true;i=a.aaSorting[l][0];h=a.aaSorting[l][2]+1;if(typeof a.aoColumns[i].asSorting[h]=="undefined")a.aaSorting.splice(l,1);else{a.aaSorting[l][1]=a.aoColumns[i].asSorting[h];a.aaSorting[l][2]=h}break}k===false&&a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}else if(a.aaSorting.length==
+1&&a.aaSorting[0][0]==c){i=a.aaSorting[0][0];h=a.aaSorting[0][2]+1;if(typeof a.aoColumns[i].asSorting[h]=="undefined")h=0;a.aaSorting[0][1]=a.aoColumns[i].asSorting[h];a.aaSorting[0][2]=h}else{a.aaSorting.splice(0,a.aaSorting.length);a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}O(a)};if(a.oFeatures.bProcessing){K(a,true);setTimeout(function(){e();a.oFeatures.bServerSide||K(a,false)},0)}else e();typeof d=="function"&&d(a)}})}function T(a){var b,c,d,f,e,i=a.aoColumns.length,h=a.oClasses;for(b=
+0;b<i;b++)a.aoColumns[b].bSortable&&j(a.aoColumns[b].nTh).removeClass(h.sSortAsc+" "+h.sSortDesc+" "+a.aoColumns[b].sSortingClass);f=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){e=a.aoColumns[b].sSortingClass;d=-1;for(c=0;c<f.length;c++)if(f[c][0]==b){e=f[c][1]=="asc"?h.sSortAsc:h.sSortDesc;d=c;break}j(a.aoColumns[b].nTh).addClass(e);if(a.bJUI){c=j("span",a.aoColumns[b].nTh);c.removeClass(h.sSortJUIAsc+
+" "+h.sSortJUIDesc+" "+h.sSortJUI+" "+h.sSortJUIAscAllowed+" "+h.sSortJUIDescAllowed);c.addClass(d==-1?a.aoColumns[b].sSortingClassJUI:f[d][1]=="asc"?h.sSortJUIAsc:h.sSortJUIDesc)}}else j(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);e=h.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){d=Z(a);if(d.length>=i)for(b=0;b<i;b++)if(d[b].className.indexOf(e+"1")!=-1){c=0;for(a=d.length/i;c<a;c++)d[i*c+b].className=j.trim(d[i*c+b].className.replace(e+"1",""))}else if(d[b].className.indexOf(e+
+"2")!=-1){c=0;for(a=d.length/i;c<a;c++)d[i*c+b].className=j.trim(d[i*c+b].className.replace(e+"2",""))}else if(d[b].className.indexOf(e+"3")!=-1){c=0;for(a=d.length/i;c<a;c++)d[i*c+b].className=j.trim(d[i*c+b].className.replace(" "+e+"3",""))}h=1;var k;for(b=0;b<f.length;b++){k=parseInt(f[b][0],10);c=0;for(a=d.length/i;c<a;c++)d[i*c+k].className+=" "+e+h;h<3&&h++}}}function Ba(a){if(a.oScroll.bInfinite)return null;var b=p.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;n.oPagination[a.sPaginationType].fnInit(a,
+b,function(c){E(c);C(c)});typeof a.aanFeatures.p=="undefined"&&a.aoDrawCallback.push({fn:function(c){n.oPagination[c.sPaginationType].fnUpdate(c,function(d){E(d);C(d)})},sName:"pagination"});return b}function ea(a,b){var c=a._iDisplayStart;if(b=="first")a._iDisplayStart=0;else if(b=="previous"){a._iDisplayStart=a._iDisplayLength>=0?a._iDisplayStart-a._iDisplayLength:0;if(a._iDisplayStart<0)a._iDisplayStart=0}else if(b=="next")if(a._iDisplayLength>=0){if(a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay())a._iDisplayStart+=
+a._iDisplayLength}else a._iDisplayStart=0;else if(b=="last")if(a._iDisplayLength>=0){b=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(b-1)*a._iDisplayLength}else a._iDisplayStart=0;else H(a,0,"Unknown paging action: "+b);return c!=a._iDisplayStart}function Aa(a){var b=p.createElement("div");b.className=a.oClasses.sInfo;if(typeof a.aanFeatures.i=="undefined"){a.aoDrawCallback.push({fn:Ga,sName:"information"});a.sTableId!==""&&b.setAttribute("id",a.sTableId+"_info")}return b}
+function Ga(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;b++)j(a[b]).html(e)}}
+function wa(a){if(a.oScroll.bInfinite)return null;var b='<select size="1" '+(a.sTableId===""?"":'name="'+a.sTableId+'_length"')+">",c,d;if(a.aLengthMenu.length==2&&typeof a.aLengthMenu[0]=="object"&&typeof a.aLengthMenu[1]=="object"){c=0;for(d=a.aLengthMenu[0].length;c<d;c++)b+='<option value="'+a.aLengthMenu[0][c]+'">'+a.aLengthMenu[1][c]+"</option>"}else{c=0;for(d=a.aLengthMenu.length;c<d;c++)b+='<option value="'+a.aLengthMenu[c]+'">'+a.aLengthMenu[c]+"</option>"}b+="</select>";var f=p.createElement("div");
+a.sTableId!==""&&typeof a.aanFeatures.l=="undefined"&&f.setAttribute("id",a.sTableId+"_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).bind("change.DT",function(){var e=j(this).val(),i=a.aanFeatures.l;c=0;for(d=i.length;c<d;c++)i[c]!=this.parentNode&&j("select",i[c]).val(e);a._iDisplayLength=parseInt(e,10);E(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart=
+a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart<0)a._iDisplayStart=0}if(a._iDisplayLength==-1)a._iDisplayStart=0;C(a)});return f}function ya(a){var b=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.r=="undefined"&&b.setAttribute("id",a.sTableId+"_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function K(a,b){if(a.oFeatures.bProcessing){a=a.aanFeatures.r;for(var c=0,d=a.length;c<d;c++)a[c].style.visibility=
+b?"visible":"hidden"}}function ga(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++){a.aoColumns[d].bVisible===true&&c++;if(c==b)return d}return null}function M(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++){a.aoColumns[d].bVisible===true&&c++;if(d==b)return a.aoColumns[d].bVisible===true?c:null}return null}function Q(a,b){var c,d;c=a._iDisplayStart;for(d=a._iDisplayEnd;c<d;c++)if(a.aoData[a.aiDisplay[c]].nTr==b)return a.aiDisplay[c];c=0;for(d=a.aoData.length;c<d;c++)if(a.aoData[c].nTr==b)return c;
+return null}function S(a){for(var b=0,c=0;c<a.aoColumns.length;c++)a.aoColumns[c].bVisible===true&&b++;return b}function E(a){a._iDisplayEnd=a.oFeatures.bPaginate===false?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||a._iDisplayLength==-1?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Ha(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 $(a){var b=0,c,d=0,f=a.aoColumns.length,e,i=j("th",a.nTHead);for(e=0;e<f;e++)if(a.aoColumns[e].bVisible){d++;if(a.aoColumns[e].sWidth!==null){c=Ha(a.aoColumns[e].sWidthOrig,a.nTable.parentNode);if(c!==null)a.aoColumns[e].sWidth=v(c);b++}}if(f==i.length&&b===0&&d==f&&a.oScroll.sX===""&&a.oScroll.sY==="")for(e=0;e<a.aoColumns.length;e++){c=j(i[e]).width();if(c!==null)a.aoColumns[e].sWidth=v(c)}else{b=a.nTable.cloneNode(false);e=p.createElement("tbody");c=p.createElement("tr");
+b.removeAttribute("id");b.appendChild(a.nTHead.cloneNode(true));if(a.nTFoot!==null){b.appendChild(a.nTFoot.cloneNode(true));L(function(h){h.style.width=""},b.getElementsByTagName("tr"))}b.appendChild(e);e.appendChild(c);e=j("thead th",b);if(e.length===0)e=j("tbody tr:eq(0)>td",b);e.each(function(h){this.style.width="";h=ga(a,h);if(h!==null&&a.aoColumns[h].sWidthOrig!=="")this.style.width=a.aoColumns[h].sWidthOrig});for(e=0;e<f;e++)if(a.aoColumns[e].bVisible){d=Ia(a,e);if(d!==null){d=d.cloneNode(true);
+c.appendChild(d)}}e=a.nTable.parentNode;e.appendChild(b);if(a.oScroll.sX!==""&&a.oScroll.sXInner!=="")b.style.width=v(a.oScroll.sXInner);else if(a.oScroll.sX!==""){b.style.width="";if(j(b).width()<e.offsetWidth)b.style.width=v(e.offsetWidth)}else if(a.oScroll.sY!=="")b.style.width=v(e.offsetWidth);b.style.visibility="hidden";Ja(a,b);f=j("tbody tr:eq(0)>td",b);if(f.length===0)f=j("thead tr:eq(0)>th",b);for(e=c=0;e<a.aoColumns.length;e++)if(a.aoColumns[e].bVisible){d=j(f[c]).outerWidth();if(d!==null&&
+d>0)a.aoColumns[e].sWidth=v(d);c++}a.nTable.style.width=v(j(b).outerWidth());b.parentNode.removeChild(b)}}function Ja(a,b){if(a.oScroll.sX===""&&a.oScroll.sY!==""){j(b).width();b.style.width=v(j(b).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sX!=="")b.style.width=v(j(b).outerWidth())}function Ia(a,b,c){if(typeof c=="undefined"||c){c=Ka(a,b);b=M(a,b);if(c<0)return null;return a.aoData[c].nTr.getElementsByTagName("td")[b]}var d=-1,f,e;c=-1;var i=p.createElement("div");i.style.visibility="hidden";
+i.style.position="absolute";p.body.appendChild(i);f=0;for(e=a.aoData.length;f<e;f++){i.innerHTML=a.aoData[f]._aData[b];if(i.offsetWidth>d){d=i.offsetWidth;c=f}}p.body.removeChild(i);if(c>=0){b=M(a,b);if(a=a.aoData[c].nTr.getElementsByTagName("td")[b])return a}return null}function Ka(a,b){for(var c=-1,d=-1,f=0;f<a.aoData.length;f++){var e=a.aoData[f]._aData[b];if(e.length>c){c=e.length;d=f}}return d}function v(a){if(a===null)return"0px";if(typeof a=="number"){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 Oa(a,b){if(a.length!=b.length)return 1;for(var c=0;c<a.length;c++)if(a[c]!=b[c])return 2;return 0}function aa(a){for(var b=n.aTypes,c=b.length,d=0;d<c;d++){var f=b[d](a);if(f!==null)return f}return"string"}function A(a){for(var b=0;b<D.length;b++)if(D[b].nTable==a)return D[b];return null}function V(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function R(a){for(var b=[],c=a.aoData.length,d=0;d<
+c;d++)b.push(a.aoData[d].nTr);return b}function Z(a){var b=R(a),c=[],d,f=[],e,i,h,k;e=0;for(i=b.length;e<i;e++){c=[];h=0;for(k=b[e].childNodes.length;h<k;h++){d=b[e].childNodes[h];d.nodeName.toUpperCase()=="TD"&&c.push(d)}h=d=0;for(k=a.aoColumns.length;h<k;h++)if(a.aoColumns[h].bVisible)f.push(c[h-d]);else{f.push(a.aoData[e]._anHidden[h]);d++}}return f}function la(a){return a.replace(new RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^)","g"),"\\$1")}function ma(a,b){for(var c=
+-1,d=0,f=a.length;d<f;d++)if(a[d]==b)c=d;else a[d]>b&&a[d]--;c!=-1&&a.splice(c,1)}function va(a,b){b=b.split(",");for(var c=[],d=0,f=a.aoColumns.length;d<f;d++)for(var e=0;e<f;e++)if(a.aoColumns[d].sName==b[e]){c.push(e);break}return c}function ca(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";if(b.length==d)return"";return b.slice(0,-1)}function H(a,b,c){a=a.sTableId===""?"DataTables warning: "+c:"DataTables warning (table id = '"+a.sTableId+"'): "+c;if(b===0)if(n.sErrMode==
+"alert")alert(a);else throw a;else typeof console!="undefined"&&typeof console.log!="undefined"&&console.log(a)}function da(a){a.aoData.splice(0,a.aoData.length);a.aiDisplayMaster.splice(0,a.aiDisplayMaster.length);a.aiDisplay.splice(0,a.aiDisplay.length);E(a)}function na(a){if(!(!a.oFeatures.bStateSave||typeof a.bDestroying!="undefined")){var b,c,d,f="{";f+='"iCreate":'+(new Date).getTime()+",";f+='"iStart":'+a._iDisplayStart+",";f+='"iEnd":'+a._iDisplayEnd+",";f+='"iLength":'+a._iDisplayLength+
+",";f+='"sFilter":"'+encodeURIComponent(a.oPreviousSearch.sSearch)+'",';f+='"sFilterEsc":'+!a.oPreviousSearch.bRegex+",";f+='"aaSorting":[ ';for(b=0;b<a.aaSorting.length;b++)f+="["+a.aaSorting[b][0]+',"'+a.aaSorting[b][1]+'"],';f=f.substring(0,f.length-1);f+="],";f+='"aaSearchCols":[ ';for(b=0;b<a.aoPreSearchCols.length;b++)f+='["'+encodeURIComponent(a.aoPreSearchCols[b].sSearch)+'",'+!a.aoPreSearchCols[b].bRegex+"],";f=f.substring(0,f.length-1);f+="],";f+='"abVisCols":[ ';for(b=0;b<a.aoColumns.length;b++)f+=
+a.aoColumns[b].bVisible+",";f=f.substring(0,f.length-1);f+="]";b=0;for(c=a.aoStateSave.length;b<c;b++){d=a.aoStateSave[b].fn(a,f);if(d!=="")f=d}f+="}";La(a.sCookiePrefix+a.sInstance,f,a.iCookieDuration,a.sCookiePrefix,a.fnCookieCallback)}}function Ma(a,b){if(a.oFeatures.bStateSave){var c,d,f;d=oa(a.sCookiePrefix+a.sInstance);if(d!==null&&d!==""){try{c=typeof j.parseJSON=="function"?j.parseJSON(d.replace(/'/g,'"')):eval("("+d+")")}catch(e){return}d=0;for(f=a.aoStateLoad.length;d<f;d++)if(!a.aoStateLoad[d].fn(a,
+c))return;a.oLoadedState=j.extend(true,{},c);a._iDisplayStart=c.iStart;a.iInitDisplayStart=c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.oPreviousSearch.sSearch=decodeURIComponent(c.sFilter);a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();if(typeof c.sFilterEsc!="undefined")a.oPreviousSearch.bRegex=!c.sFilterEsc;if(typeof c.aaSearchCols!="undefined")for(d=0;d<c.aaSearchCols.length;d++)a.aoPreSearchCols[d]={sSearch:decodeURIComponent(c.aaSearchCols[d][0]),bRegex:!c.aaSearchCols[d][1]};
+if(typeof c.abVisCols!="undefined"){b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++){b.saved_aoColumns[d]={};b.saved_aoColumns[d].bVisible=c.abVisCols[d]}}}}}function La(a,b,c,d,f){var e=new Date;e.setTime(e.getTime()+c*1E3);c=ra.location.pathname.split("/");a=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase();var i;if(f!==null){i=typeof j.parseJSON=="function"?j.parseJSON(b):eval("("+b+")");b=f(a,i,e.toGMTString(),c.join("/")+"/")}else b=a+"="+encodeURIComponent(b)+"; expires="+e.toGMTString()+
+"; path="+c.join("/")+"/";f="";e=9999999999999;if((oa(a)!==null?p.cookie.length:b.length+p.cookie.length)+10>4096){a=p.cookie.split(";");for(var h=0,k=a.length;h<k;h++)if(a[h].indexOf(d)!=-1){var l=a[h].split("=");try{i=eval("("+decodeURIComponent(l[1])+")")}catch(q){continue}if(typeof i.iCreate!="undefined"&&i.iCreate<e){f=l[0];e=i.iCreate}}if(f!=="")p.cookie=f+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/"}p.cookie=b}function oa(a){var b=ra.location.pathname.split("/");a=a+"_"+
+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=";b=p.cookie.split(";");for(var c=0;c<b.length;c++){for(var d=b[c];d.charAt(0)==" ";)d=d.substring(1,d.length);if(d.indexOf(a)===0)return decodeURIComponent(d.substring(a.length,d.length))}return null}function fa(a){a=a.getElementsByTagName("tr");if(a.length==1)return a[0].getElementsByTagName("th");var b=[],c=[],d,f,e,i,h,k,l=function(I,Y,N){for(;typeof I[Y][N]!="undefined";)N++;return N},q=function(I){if(typeof b[I]=="undefined")b[I]=[]};d=0;for(i=
+a.length;d<i;d++){q(d);var t=0,G=[];f=0;for(h=a[d].childNodes.length;f<h;f++)if(a[d].childNodes[f].nodeName.toUpperCase()=="TD"||a[d].childNodes[f].nodeName.toUpperCase()=="TH")G.push(a[d].childNodes[f]);f=0;for(h=G.length;f<h;f++){var J=G[f].getAttribute("colspan")*1,B=G[f].getAttribute("rowspan")*1;if(!J||J===0||J===1){k=l(b,d,t);b[d][k]=G[f].nodeName.toUpperCase()=="TD"?4:G[f];if(B||B===0||B===1)for(e=1;e<B;e++){q(d+e);b[d+e][k]=2}t++}else{k=l(b,d,t);for(e=0;e<J;e++)b[d][k+e]=3;t+=J}}}d=0;for(i=
+b.length;d<i;d++){f=0;for(h=b[d].length;f<h;f++)if(typeof b[d][f]=="object"&&typeof c[f]=="undefined")c[f]=b[d][f]}return c}function Na(){var a=p.createElement("p"),b=a.style;b.width="100%";b.height="200px";var c=p.createElement("div");b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.overflow="hidden";c.appendChild(a);p.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;if(b==a)a=c.clientWidth;p.body.removeChild(c);
+return b-a}function L(a,b,c){for(var d=0,f=b.length;d<f;d++)for(var e=0,i=b[d].childNodes.length;e<i;e++)if(b[d].childNodes[e].nodeType==1)typeof c!="undefined"?a(b[d].childNodes[e],c[d].childNodes[e]):a(b[d].childNodes[e])}function o(a,b,c,d){if(typeof d=="undefined")d=c;if(typeof b[c]!="undefined")a[d]=b[c]}this.oApi={};this.fnDraw=function(a){var b=A(this[n.iApiIndex]);if(typeof a!="undefined"&&a===false){E(b);C(b)}else W(b)};this.fnFilter=function(a,b,c,d,f){var e=A(this[n.iApiIndex]);if(e.oFeatures.bFilter){if(typeof c==
+"undefined")c=false;if(typeof d=="undefined")d=true;if(typeof f=="undefined")f=true;if(typeof b=="undefined"||b===null){P(e,{sSearch:a,bRegex:c,bSmart:d},1);if(f&&typeof e.aanFeatures.f!="undefined"){b=e.aanFeatures.f;c=0;for(d=b.length;c<d;c++)j("input",b[c]).val(a)}}else{e.aoPreSearchCols[b].sSearch=a;e.aoPreSearchCols[b].bRegex=c;e.aoPreSearchCols[b].bSmart=d;P(e,e.oPreviousSearch,1)}}};this.fnSettings=function(){return A(this[n.iApiIndex])};this.fnVersionCheck=n.fnVersionCheck;this.fnSort=function(a){var b=
+A(this[n.iApiIndex]);b.aaSorting=a;O(b)};this.fnSortListener=function(a,b,c){ba(A(this[n.iApiIndex]),a,b,c)};this.fnAddData=function(a,b){if(a.length===0)return[];var c=[],d,f=A(this[n.iApiIndex]);if(typeof a[0]=="object")for(var e=0;e<a.length;e++){d=u(f,a[e]);if(d==-1)return c;c.push(d)}else{d=u(f,a);if(d==-1)return c;c.push(d)}f.aiDisplay=f.aiDisplayMaster.slice();if(typeof b=="undefined"||b)W(f);return c};this.fnDeleteRow=function(a,b,c){var d=A(this[n.iApiIndex]);a=typeof a=="object"?Q(d,a):
+a;var f=d.aoData.splice(a,1),e=j.inArray(a,d.aiDisplay);d.asDataSearch.splice(e,1);ma(d.aiDisplayMaster,a);ma(d.aiDisplay,a);typeof b=="function"&&b.call(this,d,f);if(d._iDisplayStart>=d.aiDisplay.length){d._iDisplayStart-=d._iDisplayLength;if(d._iDisplayStart<0)d._iDisplayStart=0}if(typeof c=="undefined"||c){E(d);C(d)}return f};this.fnClearTable=function(a){var b=A(this[n.iApiIndex]);da(b);if(typeof a=="undefined"||a)C(b)};this.fnOpen=function(a,b,c){var d=A(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=A(this[n.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a){(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr);b.aoOpenRows.splice(c,1);return 0}return 1};this.fnGetData=function(a){var b=A(this[n.iApiIndex]);if(typeof a!=
+"undefined"){a=typeof a=="object"?Q(b,a):a;return(aRowData=b.aoData[a])?aRowData._aData:null}return V(b)};this.fnGetNodes=function(a){var b=A(this[n.iApiIndex]);if(typeof a!="undefined")return(aRowData=b.aoData[a])?aRowData.nTr:null;return R(b)};this.fnGetPosition=function(a){var b=A(this[n.iApiIndex]);if(a.nodeName.toUpperCase()=="TR")return Q(b,a);else if(a.nodeName.toUpperCase()=="TD")for(var c=Q(b,a.parentNode),d=0,f=0;f<b.aoColumns.length;f++)if(b.aoColumns[f].bVisible){if(b.aoData[c].nTr.getElementsByTagName("td")[f-
+d]==a)return[c,f-d,f]}else d++;return null};this.fnUpdate=function(a,b,c,d,f){var e=A(this[n.iApiIndex]),i,h;b=typeof b=="object"?Q(e,b):b;if(typeof a!="object"){h=a;e.aoData[b]._aData[c]=h;if(e.aoColumns[c].fnRender!==null){h=e.aoColumns[c].fnRender({iDataRow:b,iDataColumn:c,aData:e.aoData[b]._aData,oSettings:e});if(e.aoColumns[c].bUseRendered)e.aoData[b]._aData[c]=h}i=M(e,c);if(i!==null)e.aoData[b].nTr.getElementsByTagName("td")[i].innerHTML=h;else e.aoData[b]._anHidden[c].innerHTML=h}else{if(a.length!=
+e.aoColumns.length){H(e,0,"An array passed to fnUpdate must have the same number of columns as the table in question - in this case "+e.aoColumns.length);return 1}for(c=0;c<a.length;c++){h=a[c];e.aoData[b]._aData[c]=h;if(e.aoColumns[c].fnRender!==null){h=e.aoColumns[c].fnRender({iDataRow:b,iDataColumn:c,aData:e.aoData[b]._aData,oSettings:e});if(e.aoColumns[c].bUseRendered)e.aoData[b]._aData[c]=h}i=M(e,c);if(i!==null)e.aoData[b].nTr.getElementsByTagName("td")[i].innerHTML=h;else e.aoData[b]._anHidden[c].innerHTML=
+h}}a=j.inArray(b,e.aiDisplay);e.asDataSearch[a]=ka(e,e.aoData[b]._aData);if(typeof f=="undefined"||f)X(e);if(typeof d=="undefined"||d)W(e);return 0};this.fnSetColumnVis=function(a,b,c){var d=A(this[n.iApiIndex]),f,e;e=d.aoColumns.length;var i,h,k,l,q;if(d.aoColumns[a].bVisible!=b){l=j(">tr",d.nTHead)[0];i=j(">tr",d.nTFoot)[0];q=[];h=[];for(f=0;f<e;f++){q.push(d.aoColumns[f].nTh);h.push(d.aoColumns[f].nTf)}if(b){for(f=b=0;f<a;f++)d.aoColumns[f].bVisible&&b++;if(b>=S(d)){l.appendChild(q[a]);l=j(">tr",
+d.nTHead);f=1;for(e=l.length;f<e;f++)l[f].appendChild(d.aoColumns[a].anThExtra[f-1]);if(i){i.appendChild(h[a]);l=j(">tr",d.nTFoot);f=1;for(e=l.length;f<e;f++)l[f].appendChild(d.aoColumns[a].anTfExtra[f-1])}f=0;for(e=d.aoData.length;f<e;f++){i=d.aoData[f]._anHidden[a];d.aoData[f].nTr.appendChild(i)}}else{for(f=a;f<e;f++){k=M(d,f);if(k!==null)break}l.insertBefore(q[a],l.getElementsByTagName("th")[k]);l=j(">tr",d.nTHead);f=1;for(e=l.length;f<e;f++){q=j(l[f]).children();l[f].insertBefore(d.aoColumns[a].anThExtra[f-
+1],q[k])}if(i){i.insertBefore(h[a],i.getElementsByTagName("th")[k]);l=j(">tr",d.nTFoot);f=1;for(e=l.length;f<e;f++){q=j(l[f]).children();l[f].insertBefore(d.aoColumns[a].anTfExtra[f-1],q[k])}}Z(d);f=0;for(e=d.aoData.length;f<e;f++){i=d.aoData[f]._anHidden[a];d.aoData[f].nTr.insertBefore(i,j(">td:eq("+k+")",d.aoData[f].nTr)[0])}}d.aoColumns[a].bVisible=true}else{l.removeChild(q[a]);f=0;for(e=d.aoColumns[a].anThExtra.length;f<e;f++){k=d.aoColumns[a].anThExtra[f];k.parentNode.removeChild(k)}if(i){i.removeChild(h[a]);
+f=0;for(e=d.aoColumns[a].anTfExtra.length;f<e;f++){k=d.aoColumns[a].anTfExtra[f];k.parentNode.removeChild(k)}}h=Z(d);f=0;for(e=d.aoData.length;f<e;f++){i=h[f*d.aoColumns.length+a*1];d.aoData[f]._anHidden[a]=i;i.parentNode.removeChild(i)}d.aoColumns[a].bVisible=false}f=0;for(e=d.aoOpenRows.length;f<e;f++)d.aoOpenRows[f].nTr.colSpan=S(d);if(typeof c=="undefined"||c){X(d);C(d)}na(d)}};this.fnPageChange=function(a,b){var c=A(this[n.iApiIndex]);ea(c,a);E(c);if(typeof b=="undefined"||b)C(c)};this.fnDestroy=
+function(){var a=A(this[n.iApiIndex]),b=a.nTableWrapper.parentNode,c=a.nTBody,d,f;a.bDestroying=true;j(a.nTableWrapper).find("*").andSelf().unbind(".DT");d=0;for(f=a.aoColumns.length;d<f;d++)a.aoColumns[d].bVisible===false&&this.fnSetColumnVis(d,true);j("tbody>tr>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;d<
+f;d++)c.appendChild(a.aoData[d].nTr);a.nTable.style.width=v(a.sDestroyWidth);j(">tr:even",c).addClass(a.asDestoryStrips[0]);j(">tr:odd",c).addClass(a.asDestoryStrips[1]);d=0;for(f=D.length;d<f;d++)D[d]==a&&D.splice(d,1)};this.fnAdjustColumnSizing=function(a){var b=A(this[n.iApiIndex]);X(b);if(typeof a=="undefined"||a)this.fnDraw(false);else if(b.oScroll.sX!==""||b.oScroll.sY!=="")this.oApi._fnScrollDraw(b)};for(var pa in n.oApi)if(pa)this[pa]=r(pa);this.oApi._fnExternApiFunc=r;this.oApi._fnInitalise=
+s;this.oApi._fnLanguageProcess=y;this.oApi._fnAddColumn=F;this.oApi._fnColumnOptions=x;this.oApi._fnAddData=u;this.oApi._fnGatherData=z;this.oApi._fnDrawHead=U;this.oApi._fnDraw=C;this.oApi._fnReDraw=W;this.oApi._fnAjaxUpdate=ta;this.oApi._fnAjaxUpdateDraw=ua;this.oApi._fnAddOptionsHtml=sa;this.oApi._fnFeatureHtmlTable=za;this.oApi._fnScrollDraw=Ca;this.oApi._fnAjustColumnSizing=X;this.oApi._fnFeatureHtmlFilter=xa;this.oApi._fnFilterComplete=P;this.oApi._fnFilterCustom=Fa;this.oApi._fnFilterColumn=
+Ea;this.oApi._fnFilter=Da;this.oApi._fnBuildSearchArray=ha;this.oApi._fnBuildSearchRow=ka;this.oApi._fnFilterCreateSearch=ia;this.oApi._fnDataToSearch=ja;this.oApi._fnSort=O;this.oApi._fnSortAttachListener=ba;this.oApi._fnSortingClasses=T;this.oApi._fnFeatureHtmlPaginate=Ba;this.oApi._fnPageChange=ea;this.oApi._fnFeatureHtmlInfo=Aa;this.oApi._fnUpdateInfo=Ga;this.oApi._fnFeatureHtmlLength=wa;this.oApi._fnFeatureHtmlProcessing=ya;this.oApi._fnProcessingDisplay=K;this.oApi._fnVisibleToColumnIndex=ga;
+this.oApi._fnColumnIndexToVisible=M;this.oApi._fnNodeToDataIndex=Q;this.oApi._fnVisbleColumns=S;this.oApi._fnCalculateEnd=E;this.oApi._fnConvertToWidth=Ha;this.oApi._fnCalculateColumnWidths=$;this.oApi._fnScrollingWidthAdjust=Ja;this.oApi._fnGetWidestNode=Ia;this.oApi._fnGetMaxLenString=Ka;this.oApi._fnStringToCss=v;this.oApi._fnArrayCmp=Oa;this.oApi._fnDetectType=aa;this.oApi._fnSettingsFromNode=A;this.oApi._fnGetDataMaster=V;this.oApi._fnGetTrNodes=R;this.oApi._fnGetTdNodes=Z;this.oApi._fnEscapeRegex=
+la;this.oApi._fnDeleteIndex=ma;this.oApi._fnReOrderIndex=va;this.oApi._fnColumnOrdering=ca;this.oApi._fnLog=H;this.oApi._fnClearTable=da;this.oApi._fnSaveState=na;this.oApi._fnLoadState=Ma;this.oApi._fnCreateCookie=La;this.oApi._fnReadCookie=oa;this.oApi._fnGetUniqueThs=fa;this.oApi._fnScrollBarWidth=Na;this.oApi._fnApplyToChildren=L;this.oApi._fnMap=o;var qa=this;return this.each(function(){var a=0,b,c,d,f;a=0;for(b=D.length;a<b;a++){if(D[a].nTable==this)if(typeof g=="undefined"||typeof g.bRetrieve!=
+"undefined"&&g.bRetrieve===true)return D[a].oInstance;else if(typeof g.bDestroy!="undefined"&&g.bDestroy===true){D[a].oInstance.fnDestroy();break}else{H(D[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, please pass either no arguments to the dataTable() function, or set bRetrieve to true. Alternatively, to destory the old table and create a new one, set bDestroy to true (note that a lot of changes to the configuration can be made through the API which is usually much faster).");
+return}if(D[a].sTableId!==""&&D[a].sTableId==this.getAttribute("id")){D.splice(a,1);break}}var e=new m;D.push(e);var i=false,h=false;a=this.getAttribute("id");if(a!==null){e.sTableId=a;e.sInstance=a}else e.sInstance=n._oExternConfig.iNextUnique++;if(this.nodeName.toLowerCase()!="table")H(e,0,"Attempted to initialise DataTables on a node which is not a table: "+this.nodeName);else{e.nTable=this;e.oInstance=qa.length==1?qa:j(this).dataTable();e.oApi=qa.oApi;e.sDestroyWidth=j(this).width();if(typeof g!=
+"undefined"&&g!==null){e.oInit=g;o(e.oFeatures,g,"bPaginate");o(e.oFeatures,g,"bLengthChange");o(e.oFeatures,g,"bFilter");o(e.oFeatures,g,"bSort");o(e.oFeatures,g,"bInfo");o(e.oFeatures,g,"bProcessing");o(e.oFeatures,g,"bAutoWidth");o(e.oFeatures,g,"bSortClasses");o(e.oFeatures,g,"bServerSide");o(e.oScroll,g,"sScrollX","sX");o(e.oScroll,g,"sScrollXInner","sXInner");o(e.oScroll,g,"sScrollY","sY");o(e.oScroll,g,"bScrollCollapse","bCollapse");o(e.oScroll,g,"bScrollInfinite","bInfinite");o(e.oScroll,
+g,"iScrollLoadGap","iLoadGap");o(e.oScroll,g,"bScrollAutoCss","bAutoCss");o(e,g,"asStripClasses");o(e,g,"fnRowCallback");o(e,g,"fnHeaderCallback");o(e,g,"fnFooterCallback");o(e,g,"fnCookieCallback");o(e,g,"fnInitComplete");o(e,g,"fnServerData");o(e,g,"fnFormatNumber");o(e,g,"aaSorting");o(e,g,"aaSortingFixed");o(e,g,"aLengthMenu");o(e,g,"sPaginationType");o(e,g,"sAjaxSource");o(e,g,"iCookieDuration");o(e,g,"sCookiePrefix");o(e,g,"sDom");o(e,g,"oSearch","oPreviousSearch");o(e,g,"aoSearchCols","aoPreSearchCols");
+o(e,g,"iDisplayLength","_iDisplayLength");o(e,g,"bJQueryUI","bJUI");o(e.oLanguage,g,"fnInfoCallback");typeof g.fnDrawCallback=="function"&&e.aoDrawCallback.push({fn:g.fnDrawCallback,sName:"user"});typeof g.fnStateSaveCallback=="function"&&e.aoStateSave.push({fn:g.fnStateSaveCallback,sName:"user"});typeof g.fnStateLoadCallback=="function"&&e.aoStateLoad.push({fn:g.fnStateLoadCallback,sName:"user"});e.oFeatures.bServerSide&&e.oFeatures.bSort&&e.oFeatures.bSortClasses&&e.aoDrawCallback.push({fn:T,sName:"server_side_sort_classes"});
+if(typeof g.bJQueryUI!="undefined"&&g.bJQueryUI){e.oClasses=n.oJUIClasses;if(typeof g.sDom=="undefined")e.sDom='<"H"lfr>t<"F"ip>'}if(e.oScroll.sX!==""||e.oScroll.sY!=="")e.oScroll.iBarWidth=Na();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;Ma(e,g);e.aoDrawCallback.push({fn:na,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){y(e,q,true)});i=true}else y(e,g.oLanguage,false)}else g={};if(typeof g.asStripClasses=="undefined"){e.asStripClasses.push(e.oClasses.sStripOdd);e.asStripClasses.push(e.oClasses.sStripEven)}c=false;d=j(">tbody>tr",this);a=0;for(b=e.asStripClasses.length;a<
+b;a++)if(d.filter(":lt(2)").hasClass(e.asStripClasses[a])){c=true;break}if(c){e.asDestoryStrips=["",""];if(j(d[0]).hasClass(e.oClasses.sStripOdd))e.asDestoryStrips[0]+=e.oClasses.sStripOdd+" ";if(j(d[0]).hasClass(e.oClasses.sStripEven))e.asDestoryStrips[0]+=e.oClasses.sStripEven;if(j(d[1]).hasClass(e.oClasses.sStripOdd))e.asDestoryStrips[1]+=e.oClasses.sStripOdd+" ";if(j(d[1]).hasClass(e.oClasses.sStripEven))e.asDestoryStrips[1]+=e.oClasses.sStripEven;d.removeClass(e.asStripClasses.join(" "))}a=this.getElementsByTagName("thead");
+c=a.length===0?[]:fa(a[0]);var k;if(typeof g.aoColumns=="undefined"){k=[];a=0;for(b=c.length;a<b;a++)k.push(null)}else k=g.aoColumns;a=0;for(b=k.length;a<b;a++){if(typeof g.saved_aoColumns!="undefined"&&g.saved_aoColumns.length==b){if(k[a]===null)k[a]={};k[a].bVisible=g.saved_aoColumns[a].bVisible}F(e,c?c[a]:null)}if(typeof g.aoColumnDefs!="undefined")for(a=g.aoColumnDefs.length-1;a>=0;a--){var l=g.aoColumnDefs[a].aTargets;j.isArray(l)||H(e,1,"aTargets must be an array of targets, not a "+typeof l);
+c=0;for(d=l.length;c<d;c++)if(typeof l[c]=="number"&&l[c]>=0){for(;e.aoColumns.length<=l[c];)F(e);x(e,l[c],g.aoColumnDefs[a])}else if(typeof l[c]=="number"&&l[c]<0)x(e,e.aoColumns.length+l[c],g.aoColumnDefs[a]);else if(typeof l[c]=="string"){b=0;for(f=e.aoColumns.length;b<f;b++)if(l[c]=="_all"||e.aoColumns[b].nTh.className.indexOf(l[c])!=-1)x(e,b,g.aoColumnDefs[a])}}if(typeof k!="undefined"){a=0;for(b=k.length;a<b;a++)x(e,a,k[a])}a=0;for(b=e.aaSorting.length;a<b;a++){if(e.aaSorting[a][0]>=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;c<d;c++)if(e.aaSorting[a][1]==k.asSorting[c]){e.aaSorting[a][2]=c;break}}T(e);this.getElementsByTagName("thead").length===0&&this.appendChild(p.createElement("thead"));this.getElementsByTagName("tbody").length===0&&this.appendChild(p.createElement("tbody"));e.nTHead=this.getElementsByTagName("thead")[0];
+e.nTBody=this.getElementsByTagName("tbody")[0];if(this.getElementsByTagName("tfoot").length>0)e.nTFoot=this.getElementsByTagName("tfoot")[0];if(h)for(a=0;a<g.aaData.length;a++)u(e,g.aaData[a]);else z(e);e.aiDisplay=e.aiDisplayMaster.slice();e.bInitialised=true;i===false&&s(e)}})}})(jQuery,window,document);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/js/jquery.js	(revision 6286)
@@ -0,0 +1,16 @@
+/*!
+ * jQuery JavaScript Library v1.5.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Wed Feb 23 13:55:29 2011 -0500
+ */
+(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h==="string"&&(f[h.toLowerCase()]=a.converters[h]);l=k,k=e[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=f[m]||f["* "+k];if(!n){p=b;for(o in f){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=f[j[1]+" "+k];if(p){o=f[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&d.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bP(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bO(a,b,c,e){if(d.isArray(b)&&b.length)d.each(b,function(b,f){c||bq.test(a)?e(a,f):bO(a+"["+(typeof f==="object"||d.isArray(f)?b:"")+"]",f,c,e)});else if(c||b==null||typeof b!=="object")e(a,b);else if(d.isArray(b)||d.isEmptyObject(b))e(a,"");else for(var f in b)bO(a+"["+f+"]",b[f],c,e)}function bN(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bH,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l==="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bN(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bN(a,c,d,e,"*",g));return l}function bM(a){return function(b,c){typeof b!=="string"&&(c=b,b="*");if(d.isFunction(c)){var e=b.toLowerCase().split(bB),f=0,g=e.length,h,i,j;for(;f<g;f++)h=e[f],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bo(a,b,c){var e=b==="width"?bi:bj,f=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return f;d.each(e,function(){c||(f-=parseFloat(d.css(a,"padding"+this))||0),c==="margin"?f+=parseFloat(d.css(a,"margin"+this))||0:f-=parseFloat(d.css(a,"border"+this+"Width"))||0});return f}function ba(a,b){b.src?d.ajax({url:b.src,async:!1,dataType:"script"}):d.globalEval(b.text||b.textContent||b.innerHTML||""),b.parentNode&&b.parentNode.removeChild(b)}function _(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function $(a,b){if(b.nodeType===1){var c=b.nodeName.toLowerCase();b.clearAttributes(),b.mergeAttributes(a);if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(d.expando)}}function Z(a,b){if(b.nodeType===1&&d.hasData(a)){var c=d.expando,e=d.data(a),f=d.data(b,e);if(e=e[c]){var g=e.events;f=f[c]=d.extend({},e);if(g){delete f.handle,f.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)d.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function Y(a,b){return d.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function O(a,b,c){if(d.isFunction(b))return d.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return d.grep(a,function(a,d){return a===b===c});if(typeof b==="string"){var e=d.grep(a,function(a){return a.nodeType===1});if(J.test(b))return d.filter(b,e,!c);b=d.filter(b,e)}return d.grep(a,function(a,e){return d.inArray(a,b)>=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;i<t.length;i++)g=t[i],g.origType.replace(p,"")===a.type?r.push(g.selector):t.splice(i--,1);f=d(a.target).closest(r,a.currentTarget);for(j=0,k=f.length;j<k;j++){m=f[j];for(i=0;i<t.length;i++){g=t[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,e=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,e=d(a.relatedTarget).closest(g.selector)[0];(!e||e!==h)&&q.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=q.length;j<k;j++){f=q[j];if(c&&f.level>c)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){e=i[c],f=a[c];if(i===f)continue;l&&f&&(d.isPlainObject(f)||(g=d.isArray(f)))?(g?(g=!1,h=e&&d.isArray(e)?e:[]):h=e&&d.isPlainObject(e)?e:{},i[c]=d.extend(l,h,f)):f!==b&&(i[c]=f)}return i},d.extend({noConflict:function(b){a.$=f,b&&(a.jQuery=e);return d},isReady:!1,readyWait:1,ready:function(a){a===!0&&d.readyWait--;if(!d.readyWait||a!==!0&&!d.isReady){if(!c.body)return setTimeout(d.ready,1);d.isReady=!0;if(a!==!0&&--d.readyWait>0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g<h;)if(c.apply(a[g++],e)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(var j=a[0];g<h&&c.call(j,g,j)!==!1;j=a[++g]){}return a},trim:F?function(a){return a==null?"":F.call(a)}:function(a){return a==null?"":(a+"").replace(j,"").replace(k,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var e=d.type(a);a.length==null||e==="string"||e==="function"||e==="regexp"||d.isWindow(a)?D.call(c,a):d.merge(c,a)}return c},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length==="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,b,c){var d=[],e;for(var f=0,g=a.length;f<g;f++)e=b(a[f],f,c),e!=null&&(d[d.length]=e);return d.concat.apply([],d)},guid:1,proxy:function(a,c,e){arguments.length===2&&(typeof c==="string"?(e=a,a=e[c],c=b):c&&!d.isFunction(c)&&(e=c,c=b)),!c&&a&&(c=function(){return a.apply(e||this,arguments)}),a&&(c.guid=a.guid=a.guid||c.guid||d.guid++);return c},access:function(a,c,e,f,g,h){var i=a.length;if(typeof c==="object"){for(var j in c)d.access(a,j,c[j],f,g,e);return a}if(e!==b){f=!h&&f&&d.isFunction(e);for(var k=0;k<i;k++)g(a[k],c,f?e.call(a[k],k,g(a[k],c)):e,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},_Deferred:function(){var a=[],b,c,e,f={done:function(){if(!e){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=d.type(i),j==="array"?f.done.apply(f,i):j==="function"&&a.push(i);k&&f.resolveWith(k[0],k[1])}return this},resolveWith:function(d,f){if(!e&&!b&&!c){c=1;try{while(a[0])a.shift().apply(d,f)}catch(g){throw g}finally{b=[d,f],c=0}}return this},resolve:function(){f.resolveWith(d.isFunction(this.promise)?this.promise():this,arguments);return this},isResolved:function(){return c||b},cancel:function(){e=1,a=[];return this}};return f},Deferred:function(a){var b=d._Deferred(),c=d._Deferred(),e;d.extend(b,{then:function(a,c){b.done(a).fail(c);return this},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,promise:function(a){if(a==null){if(e)return e;e=a={}}var c=z.length;while(c--)a[z[c]]=b[z[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){var b=arguments.length,c=b<=1&&a&&d.isFunction(a.promise)?a:d.Deferred(),e=c.promise();if(b>1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i<j;i++)h=g[i].name,h.indexOf("data-")===0&&(h=h.substr(5),f(this[0],h,e[h]))}}return e}if(typeof a==="object")return this.each(function(){d.data(this,a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(c===b){e=this.triggerHandler("getData"+k[1]+"!",[k[0]]),e===b&&this.length&&(e=d.data(this[0],a),e=f(this[0],a,e));return e===b&&k[1]?this.data(k[0]):e}return this.each(function(){var b=d(this),e=[k[0],c];b.triggerHandler("setData"+k[1]+"!",e),d.data(this,a,c),b.triggerHandler("changeData"+k[1]+"!",e)})},removeData:function(a){return this.each(function(){d.removeData(this,a)})}}),d.extend({queue:function(a,b,c){if(a){b=(b||"fx")+"queue";var e=d._data(a,b);if(!c)return e||[];!e||d.isArray(c)?e=d._data(a,b,d.makeArray(c)):e.push(c);return e}},dequeue:function(a,b){b=b||"fx";var c=d.queue(a,b),e=c.shift();e==="inprogress"&&(e=c.shift()),e&&(b==="fx"&&c.unshift("inprogress"),e.call(a,function(){d.dequeue(a,b)})),c.length||d.removeData(a,b+"queue",!0)}}),d.fn.extend({queue:function(a,c){typeof a!=="string"&&(c=a,a="fx");if(c===b)return d.queue(this[0],a);return this.each(function(b){var e=d.queue(this,a,c);a==="fx"&&e[0]!=="inprogress"&&d.dequeue(this,a)})},dequeue:function(a){return this.each(function(){d.dequeue(this,a)})},delay:function(a,b){a=d.fx?d.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){d.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var h=/[\n\t\r]/g,i=/\s+/,j=/\r/g,k=/^(?:href|src|style)$/,l=/^(?:button|input)$/i,m=/^(?:button|input|object|select|textarea)$/i,n=/^a(?:rea)?$/i,o=/^(?:radio|checkbox)$/i;d.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"},d.fn.extend({attr:function(a,b){return d.access(this,a,b,!0,d.attr)},removeAttr:function(a,b){return this.each(function(){d.attr(this,a,""),this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.addClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"){var b=(a||"").split(i);for(var c=0,e=this.length;c<e;c++){var f=this[c];if(f.nodeType===1)if(f.className){var g=" "+f.className+" ",h=f.className;for(var j=0,k=b.length;j<k;j++)g.indexOf(" "+b[j]+" ")<0&&(h+=" "+b[j]);f.className=d.trim(h)}else f.className=a}}return this},removeClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"||a===b){var c=(a||"").split(i);for(var e=0,f=this.length;e<f;e++){var g=this[e];if(g.nodeType===1&&g.className)if(a){var j=(" "+g.className+" ").replace(h," ");for(var k=0,l=c.length;k<l;k++)j=j.replace(" "+c[k]+" "," ");g.className=d.trim(j)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,e=typeof b==="boolean";if(d.isFunction(a))return this.each(function(c){var e=d(this);e.toggleClass(a.call(this,c,e.attr("class"),b),b)});return this.each(function(){if(c==="string"){var f,g=0,h=d(this),j=b,k=a.split(i);while(f=k[g++])j=e?j:!h.hasClass(f),h[j?"addClass":"removeClass"](f)}else if(c==="undefined"||c==="boolean")this.className&&d._data(this,"__className__",this.className),this.className=this.className||a===!1?"":d._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(h," ").indexOf(b)>-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k<l;k++){var m=h[k];if(m.selected&&(d.support.optDisabled?!m.disabled:m.getAttribute("disabled")===null)&&(!m.parentNode.disabled||!d.nodeName(m.parentNode,"optgroup"))){a=d(m).val();if(i)return a;g.push(a)}}if(i&&!g.length&&h.length)return d(h[f]).val();return g}if(o.test(c.type)&&!d.support.checkOn)return c.getAttribute("value")===null?"on":c.value;return(c.value||"").replace(j,"")}return b}var n=d.isFunction(a);return this.each(function(b){var c=d(this),e=a;if(this.nodeType===1){n&&(e=a.call(this,b,c.val())),e==null?e="":typeof e==="number"?e+="":d.isArray(e)&&(e=d.map(e,function(a){return a==null?"":a+""}));if(d.isArray(e)&&o.test(this.type))this.checked=d.inArray(c.val(),e)>=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))d.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=d.event.special[h]||{};for(j=f||0;j<p.length;j++){q=p[j];if(e.guid===q.guid){if(l||n.test(q.namespace))f==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(f!=null)break}}if(p.length===0||f!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&d.removeEvent(a,h,s.handle),g=null,delete t[h]}if(d.isEmptyObject(t)){var w=s.handle;w&&(w.elem=null),delete s.events,delete s.handle,d.isEmptyObject(s)&&d.removeData(a,b,!0)}}},trigger:function(a,c,e){var f=a.type||a,g=arguments[3];if(!g){a=typeof a==="object"?a[d.expando]?a:d.extend(d.Event(f),a):d.Event(f),f.indexOf("!")>=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l<m;l++){var n=f[l];if(e||h.test(n.namespace)){c.handler=n.handler,c.data=n.data,c.handleObj=n;var o=n.handler.apply(this,k);o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[d.expando])return a;var e=a;a=d.Event(e);for(var f=this.props.length,g;f;)g=this.props[--f],a[g]=e[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=c.documentElement,i=c.body;a.pageX=a.clientX+(h&&h.scrollLeft||i&&i.scrollLeft||0)-(h&&h.clientLeft||i&&i.clientLeft||0),a.pageY=a.clientY+(h&&h.scrollTop||i&&i.scrollTop||0)-(h&&h.clientTop||i&&i.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:d.proxy,special:{ready:{setup:d.bindReady,teardown:d.noop},live:{add:function(a){d.event.add(this,F(a.origType,a.selector),d.extend({},a,{handler:E,guid:a.handler.guid}))},remove:function(a){d.event.remove(this,F(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){d.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},d.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},d.Event=function(a){if(!this.preventDefault)return new d.Event(a);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?w:v):this.type=a,this.timeStamp=d.now(),this[d.expando]=!0},d.Event.prototype={preventDefault:function(){this.isDefaultPrevented=w;var a=this.originalEvent;a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=w;var a=this.originalEvent;a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=w,this.stopPropagation()},isDefaultPrevented:v,isPropagationStopped:v,isImmediatePropagationStopped:v};var x=function(a){var b=a.relatedTarget;try{if(b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&(a.type=a.data,d.event.handle.apply(this,arguments))}catch(e){}},y=function(a){a.type=a.data,d.event.handle.apply(this,arguments)};d.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){d.event.special[a]={setup:function(c){d.event.add(this,b,c&&c.selector?y:x,a)},teardown:function(a){d.event.remove(this,b,a&&a.selector?y:x)}}}),d.support.submitBubbles||(d.event.special.submit={setup:function(a,b){if(this.nodeName&&this.nodeName.toLowerCase()!=="form")d.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&d(b).closest("form").length&&C("submit",this,arguments)}),d.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&d(b).closest("form").length&&a.keyCode===13&&C("submit",this,arguments)});else return!1},teardown:function(a){d.event.remove(this,".specialSubmit")}});if(!d.support.changeBubbles){var z,A=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i<j;i++)d.event.add(this[i],a,h,e);return this}}),d.fn.extend({unbind:function(a,b){if(typeof a!=="object"||a.preventDefault)for(var e=0,f=this.length;e<f;e++)d.event.remove(this[e],a,b);else for(var c in a)this.unbind(c,a[c]);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){d.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var c=d.Event(a);c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result}},toggle:function(a){var b=arguments,c=1;while(c<b.length)d.proxy(a,b[c++]);return this.click(d.proxy(a,function(e){var f=(d._data(this,"lastToggle"+a.guid)||0)%c;d._data(this,"lastToggle"+a.guid,f+1),e.preventDefault();return b[f].apply(this,arguments)||!1}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var D={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};d.each(["live","die"],function(a,c){d.fn[c]=function(a,e,f,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:d(this.context);if(typeof a==="object"&&!a.preventDefault){for(var o in a)n[c](o,e,a[o],m);return this}d.isFunction(e)&&(f=e,e=b),a=(a||"").split(" ");while((h=a[i++])!=null){j=p.exec(h),k="",j&&(k=j[0],h=h.replace(p,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,h==="focus"||h==="blur"?(a.push(D[h]+k),h=h+k):h=(D[h]||h)+k;if(c==="live")for(var q=0,r=n.length;q<r;q++)d.event.add(n[q],"live."+F(h,m),{data:e,selector:m,handler:f,origType:h,origHandler:f,preType:l});else n.unbind("live."+F(h,m),f)}return this}}),d.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){d.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!=="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!=="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(f){if(f===!0)continue}else g=o=!0}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b==="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1){}a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!=="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!=="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!=="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(a===b){g=!0;return 0}if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};d.find=k,d.expr=k.selectors,d.expr[":"]=d.expr.filters,d.unique=k.uniqueSort,d.text=k.getText,d.isXMLDoc=k.isXML,d.contains=k.contains}();var G=/Until$/,H=/^(?:parents|prevUntil|prevAll)/,I=/,/,J=/^.[^:#\[\.,]*$/,K=Array.prototype.slice,L=d.expr.match.POS,M={children:!0,contents:!0,next:!0,prev:!0};d.fn.extend({find:function(a){var b=this.pushStack("","find",a),c=0;for(var e=0,f=this.length;e<f;e++){c=b.length,d.find(a,this[e],b);if(e>0)for(var g=c;g<b.length;g++)for(var h=0;h<c;h++)if(b[h]===b[g]){b.splice(g--,1);break}}return b},has:function(a){var b=d(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(d.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(O(this,a,!1),"not",a)},filter:function(a){return this.pushStack(O(this,a,!0),"filter",a)},is:function(a){return!!a&&d.filter(a,this).length>0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e<f;e++)i=a[e],j[i]||(j[i]=d.expr.match.POS.test(i)?d(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e<f;e++){g=this[e];while(g){if(l?l.index(g)>-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/<tbody/i,U=/<|&#?\w+;/,V=/<(?:script|object|embed|option|style)/i,W=/checked\s*(?:[^=]|=\s*.checked.)/i,X={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div<div>","</div>"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1></$2>");try{for(var c=0,e=this.length;c<e;c++)this[c].nodeType===1&&(d.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(f){this.empty().append(a)}}return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(d.isFunction(a))return this.each(function(b){var c=d(this),e=c.html();c.replaceWith(a.call(this,b,e))});typeof a!=="string"&&(a=d(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;d(this).remove(),b?d(b).before(a):d(c).append(a)})}return this.pushStack(d(d.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,e){var f,g,h,i,j=a[0],k=[];if(!d.support.checkClone&&arguments.length===3&&typeof j==="string"&&W.test(j))return this.each(function(){d(this).domManip(a,c,e,!0)});if(d.isFunction(j))return this.each(function(f){var g=d(this);a[0]=j.call(this,f,c?g.html():b),g.domManip(a,c,e)});if(this[0]){i=j&&j.parentNode,d.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?f={fragment:i}:f=d.buildFragment(a,this,k),h=f.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&d.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)e.call(c?Y(this[l],g):this[l],f.cacheable||m>1&&l<n?d.clone(h,!0,!0):h)}k.length&&d.each(k,ba)}return this}}),d.buildFragment=function(a,b,e){var f,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]==="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!V.test(a[0])&&(d.support.checkClone||!W.test(a[0]))&&(g=!0,h=d.fragments[a[0]],h&&(h!==1&&(f=h))),f||(f=i.createDocumentFragment(),d.clean(a,i,f,e)),g&&(d.fragments[a[0]]=h?f:1);return{fragment:f,cacheable:g}},d.fragments={},d.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){d.fn[a]=function(c){var e=[],f=d(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&f.length===1){f[b](this[0]);return this}for(var h=0,i=f.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1></$2>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]==="<table>"&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("<div>").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)e=this[g],f=e.style.display,!d._data(e,"olddisplay")&&f==="none"&&(f=e.style.display=""),f===""&&d.css(e,"display")==="none"&&d._data(e,"olddisplay",cd(e.nodeName));for(g=0;g<h;g++){e=this[g],f=e.style.display;if(f===""||f==="none")e.style.display=d._data(e,"olddisplay")||""}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cc("hide",3),a,b,c);for(var e=0,f=this.length;e<f;e++){var g=d.css(this[e],"display");g!=="none"&&!d._data(this[e],"olddisplay")&&d._data(this[e],"olddisplay",g)}for(e=0;e<f;e++)this[e].style.display="none";return this},_toggle:d.fn.toggle,toggle:function(a,b,c){var e=typeof a==="boolean";d.isFunction(a)&&d.isFunction(b)?this._toggle.apply(this,arguments):a==null||e?this.each(function(){var b=e?a:d(this).is(":hidden");d(this)[b?"show":"hide"]()}):this.animate(cc("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,e){var f=d.speed(b,c,e);if(d.isEmptyObject(a))return this.each(f.complete);return this[f.queue===!1?"each":"queue"](function(){var b=d.extend({},f),c,e=this.nodeType===1,g=e&&d(this).is(":hidden"),h=this;for(c in a){var i=d.camelCase(c);c!==i&&(a[i]=a[c],delete a[c],c=i);if(a[c]==="hide"&&g||a[c]==="show"&&!g)return b.complete.call(this);if(e&&(c==="height"||c==="width")){b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(d.css(this,"display")==="inline"&&d.css(this,"float")==="none")if(d.support.inlineBlockNeedsLayout){var j=cd(this.nodeName);j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)}else this.style.display="inline-block"}d.isArray(a[c])&&((b.specialEasing=b.specialEasing||{})[c]=a[c][1],a[c]=a[c][0])}b.overflow!=null&&(this.style.overflow="hidden"),b.curAnim=d.extend({},a),d.each(a,function(c,e){var f=new d.fx(h,b,c);if(b$.test(e))f[e==="toggle"?g?"show":"hide":e](a);else{var i=b_.exec(e),j=f.cur();if(i){var k=parseFloat(i[2]),l=i[3]||(d.cssNumber[c]?"":"px");l!=="px"&&(d.style(h,c,(k||1)+l),j=(k||1)/f.cur()*j,d.style(h,c,j+l)),i[1]&&(k=(i[1]==="-="?-1:1)*k+j),f.custom(j,k,l)}else f.custom(j,e,"")}});return!0})},stop:function(a,b){var c=d.timers;a&&this.queue([]),this.each(function(){for(var a=c.length-1;a>=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||d.fx.stop()},interval:13,stop:function(){clearInterval(ca),ca=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){d.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),d.expr&&d.expr.filters&&(d.expr.filters.animated=function(a){return d.grep(d.timers,function(b){return a===b.elem}).length});var ce=/^t(?:able|d|h)$/i,cf=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?d.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,g=f.documentElement;if(!c||!d.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=f.body,i=cg(f),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||d.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||d.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:d.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);d.offset.initialize();var c,e=b.offsetParent,f=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(d.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===e&&(l+=b.offsetTop,m+=b.offsetLeft,d.offset.doesNotAddBorder&&(!d.offset.doesAddBorderForTableAndCells||!ce.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),f=e,e=b.offsetParent),d.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;d.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},d.offset={initialize:function(){var a=c.body,b=c.createElement("div"),e,f,g,h,i=parseFloat(d.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/controller.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/controller.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/controller.js	(revision 6286)
@@ -0,0 +1,94 @@
+var giTotalTestCount = 0;
+var giActiveModule = 0;
+var giModuleTests;
+var giStartTime;
+var giTest;
+var gbStop = false;
+var gtoTest;
+
+function fnTestStart ( sTestInfo )
+{
+	gaoTest[ giActiveModule ].iTests++;
+	document.getElementById('test_info').innerHTML += 
+		(giActiveModule+1)+'.'+(giModuleTests+1)+'. '+sTestInfo+'... ';
+	document.getElementById('test_number').innerHTML = giTotalTestCount+1;
+	giModuleTests++;
+	giTotalTestCount++;
+	
+	/* Set a timer to catch stalled script */
+	gtoTest = setTimeout( function () {
+		fnMessage( '<span class="error">WARNING - test script stalled. Likely a JS error</span>' );
+		gbStop = true;
+	}, 3000 );
+}
+
+function fnTestResult ( bResult )
+{
+	clearTimeout( gtoTest );
+	if ( bResult )
+	{
+		fnMessage( 'Passed' );
+	}
+	else
+	{
+		fnMessage( '<span class="error">FAILED</span>' );
+		gbStop = true;
+		fnEnd( false );
+	}
+}
+
+function fnUnitStart( iTest )
+{
+	if ( !gbStop )
+	{
+		giModuleTests = 0;
+		window.parent.test_arena.location.href = 
+			(iTest==0?"":"../")+'templates/'+gaoTest[iTest].sTemplate+'.php?scripts='+gaoTest[iTest].sTest;
+		giTest = iTest;
+	}
+}
+
+function fnStartMessage( sMessage )
+{
+	fnMessage( '<br><b>'+gaoTest[giTest].sGroup+' - '+sMessage+'</b>' );
+}
+
+function fnMessage( sMessage )
+{
+	var nInfo = document.getElementById('test_info');
+	nInfo.innerHTML += sMessage+'<br>';
+	nInfo.scrollTop = nInfo.scrollHeight;
+}
+
+function fnUnitComplete()
+{
+	if ( giActiveModule < gaoTest.length - 1 )
+	{
+		fnUnitStart( ++giActiveModule );
+	}
+	else
+	{
+		fnEnd( true );
+	}
+}
+
+function fnEnd( bSuccess )
+{ 
+	var iEndTime = new Date().getTime();
+	var sTime = '<br>This test run took '+parseInt((iEndTime-giStartTime)/1000, 10)+
+			' second(s) to complete.';
+	
+	if ( bSuccess )
+	{
+		$('#test_running').html( 'Tests complete. '+giTotalTestCount+' tests were run.'+sTime );
+	}
+	else
+	{
+		$('#test_running').html( 'Unit tests failed at test '+giTotalTestCount+'.'+sTime );
+	}
+}
+
+$(document).ready( function () {
+	giStartTime = new Date().getTime();
+	fnUnitStart( giActiveModule );
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/controller.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/controller.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/controller.php	(revision 6286)
@@ -0,0 +1,100 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+	"http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="Content-type" content="text/html; charset=utf-8">
+		<title>DataTables unit test controller</title>
+		
+		<style type="text/css" media="screen">
+			#controller {
+				font: 12px/1.45em "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
+				margin: 0;
+				padding: 0 0 0 0.5em;
+				color: #333;
+				background-color: #fff;
+			}
+			
+			#test_info {
+				position: absolute;
+				top: 0;
+				right: 0;
+				width: 50%;
+				height: 100%;
+				font-size: 11px;
+				overflow: auto;
+			}
+			
+			.error {
+				color: red;
+			}
+			
+			#controller h1 {
+				color: #4E6CA3;
+				font-size: 18px;
+			}
+		</style>
+		
+		<script type="text/javascript" language="javascript" src="../js/jquery.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			var gaoTest = [
+			<?php
+				function fnReadDir( &$aReturn, $path )
+				{
+					$rDir = opendir( $path );
+        	while ( ($file = readdir($rDir)) !== false )
+					{
+						if ( $file == "." || $file == ".." || $file == ".DS_Store" )
+						{
+							continue;
+						}
+						else if ( is_dir( $path.'/'.$file ) )
+						{
+							fnReadDir( $aReturn, $path.'/'.$file );
+						}
+						else
+						{
+							array_push( $aReturn, $path.'/'.$file );
+						}
+					}
+					closedir($rDir);
+				}
+				
+				/* Get the tests dynamically from the 'tests' directory, and their templates */
+				$aFiles = array();
+				fnReadDir( $aFiles, "tests" );
+				
+				for ( $i=0 ; $i<count($aFiles) ; $i++ )
+				{
+					$sTemplate;
+					$fp = fopen( $aFiles[$i], "r" );
+					fscanf( $fp, "// DATA_TEMPLATE: %s", $sTemplate );
+					fclose( $fp );
+					
+					$aPath = explode('/', $aFiles[$i]);
+					
+					echo '{ '.
+						'"sTemplate": "'.$sTemplate.'", '.
+						'"sTest": "'.$aFiles[$i].'", '.
+						'"sGroup": "'.$aPath[1].'"},'."\n";
+				}
+				
+			?>
+			null ];
+			gaoTest.pop(); /* No interest in the null */
+		</script>
+		<script type="text/javascript" language="javascript" src="controller.js"></script>
+	</head>
+	<body id="controller">
+		<h1>DataTables unit testing</h1>
+		<div id="test_running">Running test: <span id="test_number"></span></div>
+		<div id="test_info">
+			<b>Test information:</b><br>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/index.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/index.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/index.html	(revision 6286)
@@ -0,0 +1,7 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<html>
+	<frameset rows="20%,80%">
+		<frame name="controller" id="controller" src="controller.php">
+		<frame name="test_arena" id="test_arena">
+	</frameset>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/draw.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/draw.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/draw.html	(revision 6286)
@@ -0,0 +1,482 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable();
+				var oSettings = oTable.fnSettings();
+				var iStart = new Date().getTime();
+				
+				//console.profile();
+				//for ( var i=0, iLen=1000 ; i<iLen ; i++ )
+				//{
+				//	oSettings._iDisplayLength = 100;
+				//	oTable.oApi._fnCalculateEnd( oSettings );
+				//	oTable.oApi._fnDraw( oSettings );
+				//	
+				//	oSettings._iDisplayLength = 10;
+				//	oTable.oApi._fnCalculateEnd( oSettings );
+				//	oTable.oApi._fnDraw( oSettings );
+				//}
+				//console.profileEnd();
+				
+				var iEnd = new Date().getTime();
+				document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+"mS";
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> performance test - draw
+			</div>
+			<div id="output"></div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2009.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/large.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/large.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/large.php	(revision 6286)
@@ -0,0 +1,107 @@
+<?php
+  /* MySQL connection */
+	include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" ); /* ;-) */
+	
+	$gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
+		die( 'Could not open connection to server' );
+	
+	mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
+		die( 'Could not select database '. $gaSql['db'] );
+
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable();
+				var iStart = new Date().getTime();
+				
+				//if ( typeof console != 'undefined' ) {
+				//	console.profile();
+				//}
+				//for ( var i=0 ; i<1 ; i++ )
+				//{
+				//	var oTable = $('#example').dataTable({"bDestroy": true});
+				//}
+				//if ( typeof console != 'undefined' ) {
+				//	console.profileEnd();
+				//}
+				
+				oTable.fnSort( [[ 1, 'asc' ]] );
+				oTable.fnSort( [[ 2, 'asc' ]] );
+				oTable.fnSort( [[ 1, 'asc' ]] );
+				oTable.fnSort( [[ 2, 'asc' ]] );
+				
+				var iEnd = new Date().getTime();
+				document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+" mS";
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> performance test - draw
+			</div>
+			<div id="output"></div>
+
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>id</th>
+			<th>name</th>
+			<th>phone</th>
+			<th>email</th>
+			<th>city</th>
+			<th>zip</th>
+			<th>state</th>
+			<th>country</th>
+			<th>zip2</th>
+		</tr>
+	</thead>
+	<tbody>
+<?php
+	$sQuery = "
+		SELECT *
+		FROM   testData
+		LIMIT  2000
+	";
+	$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
+	while ( $aRow = mysql_fetch_array( $rResult ) )
+	{
+		echo '<tr>';
+		echo '<td><a href="1">'.$aRow['id'].'</a></td>';
+		echo '<td>'.$aRow['name'].'</td>';
+		echo '<td>'.$aRow['phone'].'</td>';
+		echo '<td>'.$aRow['email'].'</td>';
+		echo '<td>'.$aRow['city'].'</td>';
+		echo '<td>'.$aRow['zip'].'</td>';
+		echo '<td>'.$aRow['state'].'</td>';
+		echo '<td>'.$aRow['country'].'</td>';
+		echo '<td>'.$aRow['zip2'].'</td>';
+		echo '</tr>';
+	}
+?>
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2009.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/page.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/page.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/page.html	(revision 6286)
@@ -0,0 +1,477 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable();
+				var oSettings = oTable.fnSettings();
+				var iStart = new Date().getTime();
+				
+				//for ( var i=0, iLen=100 ; i<iLen ; i++ )
+				//{
+				console.profile( );
+					oTable.fnPageChange( "next" );
+					oTable.fnPageChange( "previous" );
+				console.profileEnd( );
+				//}
+				
+				var iEnd = new Date().getTime();
+				document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+"mS";
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> performance test - draw
+			</div>
+			<div id="output"></div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2009.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/sort.html
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/sort.html	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/performance/sort.html	(revision 6286)
@@ -0,0 +1,477 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
+		
+		<title>DataTables example</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready(function() {
+				var oTable = $('#example').dataTable();
+				var oSettings = oTable.fnSettings();
+				var iStart = new Date().getTime();
+				
+				for ( var i=0, iLen=100 ; i<iLen ; i++ )
+				{
+				console.profile( );
+					oTable.fnSort( [[1, 'asc']] );
+					oTable.fnSort( [[0, 'asc']] );
+				console.profileEnd( );
+				}
+				
+				var iEnd = new Date().getTime();
+				document.getElementById('output').innerHTML = "Test took "+(iEnd-iStart)+"mS";
+			} );
+		</script>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> performance test - draw
+			</div>
+			<div id="output"></div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+			
+			
+			<div id="footer" style="text-align:center;">
+				<span style="font-size:10px;">
+					DataTables &copy; Allan Jardine 2008-2009.
+				</span>
+			</div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/-complex_header.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/-complex_header.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/-complex_header.php	(revision 6286)
@@ -0,0 +1,469 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>DataTables unit testing</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
+		<?php
+			$aScripts = explode( ":", $_GET['scripts'] );
+			for ( $i=0 ; $i<count($aScripts) ; $i++ )
+			{
+				echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
+			}
+		?>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> unit test template for reading DOM data
+			</div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th rowspan="2" class="bl bt">Rendering engine</th>
+			<th colspan="3" class="bl br bt">Browser details</th>
+			<th class="br bt">CSS grade</th>
+		</tr>
+		<tr>
+			<th class="bl">Browser</th>
+			<th>Platform(s)</th>
+			<th class="br">Engine version</th>
+			<th class="br bt">CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/2512.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/2512.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/2512.php	(revision 6286)
@@ -0,0 +1,464 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>DataTables unit testing</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
+		<?php
+			$aScripts = explode( ":", $_GET['scripts'] );
+			for ( $i=0 ; $i<count($aScripts) ; $i++ )
+			{
+				echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
+			}
+		?>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> unit test template for reading DOM data
+			</div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>testsearchstring <br>html &amp; entity</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/dom_data.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/dom_data.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/dom_data.php	(revision 6286)
@@ -0,0 +1,465 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>DataTables unit testing</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
+		<?php
+			$aScripts = explode( ":", $_GET['scripts'] );
+			for ( $i=0 ; $i<count($aScripts) ; $i++ )
+			{
+				echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
+			}
+		?>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> unit test template for reading DOM data
+			</div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 4.0</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+			<td class="center">1.9</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.2</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.4</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">1.6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+			<td class="center">1.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.2</td>
+			<td>OSX.3</td>
+			<td class="center">125.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 1.3</td>
+			<td>OSX.3</td>
+			<td class="center">312.8</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 2.0</td>
+			<td>OSX.4+</td>
+			<td class="center">419.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>Safari 3.0</td>
+			<td>OSX.4+</td>
+			<td class="center">522.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>OmniWeb 5.5</td>
+			<td>OSX.4+</td>
+			<td class="center">420</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>iPod Touch / iPhone</td>
+			<td>iPod</td>
+			<td class="center">420.1</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Webkit</td>
+			<td>S60</td>
+			<td>S60</td>
+			<td class="center">413</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.0</td>
+			<td>Win 95+ / OSX.1+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 7.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.0</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 8.5</td>
+			<td>Win 95+ / OSX.2+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.0</td>
+			<td>Win 95+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.2</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera 9.5</td>
+			<td>Win 88+ / OSX.3+</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Opera for Wii</td>
+			<td>Wii</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nokia N800</td>
+			<td>N800</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Presto</td>
+			<td>Nintendo DS browser</td>
+			<td>Nintendo DS</td>
+			<td class="center">8.5</td>
+			<td class="center">C/A<sup>1</sup></td>
+		</tr>
+		<tr class="gradeC">
+			<td>KHTML</td>
+			<td>Konqureror 3.1</td>
+			<td>KDE 3.1</td>
+			<td class="center">3.1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.3</td>
+			<td>KDE 3.3</td>
+			<td class="center">3.3</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>KHTML</td>
+			<td>Konqureror 3.5</td>
+			<td>KDE 3.5</td>
+			<td class="center">3.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Tasman</td>
+			<td>Internet Explorer 4.5</td>
+			<td>Mac OS 8-9</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.1</td>
+			<td>Mac OS 7.6-9</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Tasman</td>
+			<td>Internet Explorer 5.2</td>
+			<td>Mac OS 8-X</td>
+			<td class="center">1</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.1</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Misc</td>
+			<td>NetFront 3.4</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Dillo 0.8</td>
+			<td>Embedded devices</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Links</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeX">
+			<td>Misc</td>
+			<td>Lynx</td>
+			<td>Text only</td>
+			<td class="center">-</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>IE Mobile</td>
+			<td>Windows Mobile 6</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Misc</td>
+			<td>PSP browser</td>
+			<td>PSP</td>
+			<td class="center">-</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeU">
+			<td>Other browsers</td>
+			<td>All others</td>
+			<td>-</td>
+			<td class="center">-</td>
+			<td class="center">U</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/dymanic_table.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/dymanic_table.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/dymanic_table.php	(revision 6286)
@@ -0,0 +1,45 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>DataTables unit testing</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			$(document).ready( function () {
+				$('#demo').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"></table>' );
+			} );
+		</script>
+		<?php
+			$aScripts = explode( ":", $_GET['scripts'] );
+			for ( $i=0 ; $i<count($aScripts) ; $i++ )
+			{
+				echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
+			}
+		?>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> dynamic table template
+			</div>
+			
+			<h1>Live example</h1>
+			<div id="demo"></div>
+			<div class="spacer"></div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/empty_table.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/empty_table.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/empty_table.php	(revision 6286)
@@ -0,0 +1,55 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>DataTables unit testing</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
+		<?php
+			$aScripts = explode( ":", $_GET['scripts'] );
+			for ( $i=0 ; $i<count($aScripts) ; $i++ )
+			{
+				echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
+			}
+		?>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> empty table template
+			</div>
+			
+			<h1>Live example</h1>
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		
+	</tbody>
+</table>
+			</div>
+			<div class="spacer"></div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/js_data.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/js_data.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/js_data.php	(revision 6286)
@@ -0,0 +1,124 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>DataTables unit testing</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
+		<script type="text/javascript" charset="utf-8">
+			/* Make the data source available for testing */
+			var gaaData = [
+				['Trident','Internet Explorer 4.0','Win 95+','4','X'],
+				['Trident','Internet Explorer 5.0','Win 95+','5','C'],
+				['Trident','Internet Explorer 5.5','Win 95+','5.5','A'],
+				['Trident','Internet Explorer 6','Win 98+','6','A'],
+				['Trident','Internet Explorer 7','Win XP SP2+','7','A'],
+				['Trident','AOL browser (AOL desktop)','Win XP','6','A'],
+				['Gecko','Firefox 1.0','Win 98+ / OSX.2+','1.7','A'],
+				['Gecko','Firefox 1.5','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Firefox 2.0','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Firefox 3.0','Win 2k+ / OSX.3+','1.9','A'],
+				['Gecko','Camino 1.0','OSX.2+','1.8','A'],
+				['Gecko','Camino 1.5','OSX.3+','1.8','A'],
+				['Gecko','Netscape 7.2','Win 95+ / Mac OS 8.6-9.2','1.7','A'],
+				['Gecko','Netscape Browser 8','Win 98SE+','1.7','A'],
+				['Gecko','Netscape Navigator 9','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Mozilla 1.0','Win 95+ / OSX.1+',1,'A'],
+				['Gecko','Mozilla 1.1','Win 95+ / OSX.1+',1.1,'A'],
+				['Gecko','Mozilla 1.2','Win 95+ / OSX.1+',1.2,'A'],
+				['Gecko','Mozilla 1.3','Win 95+ / OSX.1+',1.3,'A'],
+				['Gecko','Mozilla 1.4','Win 95+ / OSX.1+',1.4,'A'],
+				['Gecko','Mozilla 1.5','Win 95+ / OSX.1+',1.5,'A'],
+				['Gecko','Mozilla 1.6','Win 95+ / OSX.1+',1.6,'A'],
+				['Gecko','Mozilla 1.7','Win 98+ / OSX.1+',1.7,'A'],
+				['Gecko','Mozilla 1.8','Win 98+ / OSX.1+',1.8,'A'],
+				['Gecko','Seamonkey 1.1','Win 98+ / OSX.2+','1.8','A'],
+				['Gecko','Epiphany 2.20','Gnome','1.8','A'],
+				['Webkit','Safari 1.2','OSX.3','125.5','A'],
+				['Webkit','Safari 1.3','OSX.3','312.8','A'],
+				['Webkit','Safari 2.0','OSX.4+','419.3','A'],
+				['Webkit','Safari 3.0','OSX.4+','522.1','A'],
+				['Webkit','OmniWeb 5.5','OSX.4+','420','A'],
+				['Webkit','iPod Touch / iPhone','iPod','420.1','A'],
+				['Webkit','S60','S60','413','A'],
+				['Presto','Opera 7.0','Win 95+ / OSX.1+','-','A'],
+				['Presto','Opera 7.5','Win 95+ / OSX.2+','-','A'],
+				['Presto','Opera 8.0','Win 95+ / OSX.2+','-','A'],
+				['Presto','Opera 8.5','Win 95+ / OSX.2+','-','A'],
+				['Presto','Opera 9.0','Win 95+ / OSX.3+','-','A'],
+				['Presto','Opera 9.2','Win 88+ / OSX.3+','-','A'],
+				['Presto','Opera 9.5','Win 88+ / OSX.3+','-','A'],
+				['Presto','Opera for Wii','Wii','-','A'],
+				['Presto','Nokia N800','N800','-','A'],
+				['Presto','Nintendo DS browser','Nintendo DS','8.5','C/A<sup>1</sup>'],
+				['KHTML','Konqureror 3.1','KDE 3.1','3.1','C'],
+				['KHTML','Konqureror 3.3','KDE 3.3','3.3','A'],
+				['KHTML','Konqureror 3.5','KDE 3.5','3.5','A'],
+				['Tasman','Internet Explorer 4.5','Mac OS 8-9','-','X'],
+				['Tasman','Internet Explorer 5.1','Mac OS 7.6-9','1','C'],
+				['Tasman','Internet Explorer 5.2','Mac OS 8-X','1','C'],
+				['Misc','NetFront 3.1','Embedded devices','-','C'],
+				['Misc','NetFront 3.4','Embedded devices','-','A'],
+				['Misc','Dillo 0.8','Embedded devices','-','X'],
+				['Misc','Links','Text only','-','X'],
+				['Misc','Lynx','Text only','-','X'],
+				['Misc','IE Mobile','Windows Mobile 6','-','C'],
+				['Misc','PSP browser','PSP','-','C'],
+				['Other browsers','All others','-','-','U']
+			];
+		</script>
+		<?php
+			$aScripts = explode( ":", $_GET['scripts'] );
+			for ( $i=0 ; $i<count($aScripts) ; $i++ )
+			{
+				echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
+			}
+		?>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> unit test template for reading DOM data
+			</div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/two_tables.php
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/two_tables.php	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/templates/two_tables.php	(revision 6286)
@@ -0,0 +1,227 @@
+<?php
+	header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); 
+	header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); 
+	header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
+	header( 'Cache-Control: post-check=0, pre-check=0', false ); 
+	header( 'Pragma: no-cache' ); 
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+	<head>
+		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+		<link rel="shortcut icon" type="image/ico" href="http://www.sprymedia.co.uk/media/images/favicon.ico" />
+		
+		<title>DataTables unit testing</title>
+		<style type="text/css" title="currentStyle">
+			@import "../../css/demo_page.css";
+			@import "../../css/demo_table.css";
+		</style>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.js"></script>
+		<script type="text/javascript" language="javascript" src="../../js/jquery.dataTables.js"></script>
+		<script type="text/javascript" language="javascript" src="../unit_test.js"></script>
+		<?php
+			$aScripts = explode( ":", $_GET['scripts'] );
+			for ( $i=0 ; $i<count($aScripts) ; $i++ )
+			{
+				echo '<script type="text/javascript" language="javascript" src="../'.$aScripts[$i].'?rand='.rand().'"></script>'."\n";
+			}
+		?>
+	</head>
+	<body id="dt_example">
+		<div id="container">
+			<div class="full_width big">
+				<i>DataTables</i> unit test template for two tables
+			</div>
+			
+			<div id="demo">
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example1">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeX">
+			<td>Trident</td>
+			<td>testsearchstring <br>html &amp; entity</td>
+			<td>Win 95+</td>
+			<td class="center">4</td>
+			<td class="center">X</td>
+		</tr>
+		<tr class="gradeC">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.0</td>
+			<td>Win 95+</td>
+			<td class="center">5</td>
+			<td class="center">C</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 5.5</td>
+			<td>Win 95+</td>
+			<td class="center">5.5</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet
+				 Explorer 6</td>
+			<td>Win 98+</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>Internet Explorer 7</td>
+			<td>Win XP SP2+</td>
+			<td class="center">7</td>
+			<td class="center">A</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Trident</td>
+			<td>AOL browser (AOL desktop)</td>
+			<td>Win XP</td>
+			<td class="center">6</td>
+			<td class="center">A</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+			<th>Engine version</th>
+			<th>CSS grade</th>
+		</tr>
+	</tfoot>
+</table>
+
+
+<table cellpadding="0" cellspacing="0" border="0" class="display" id="example2">
+	<thead>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+		</tr>
+	</thead>
+	<tbody>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.0</td>
+			<td>Win 98+ / OSX.2+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 1.5</td>
+			<td>Win 98+ / OSX.2+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 2.0</td>
+			<td>Win 98+ / OSX.2+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Firefox 3.0</td>
+			<td>Win 2k+ / OSX.3+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.0</td>
+			<td>OSX.2+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Camino 1.5</td>
+			<td>OSX.3+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape 7.2</td>
+			<td>Win 95+ / Mac OS 8.6-9.2</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Browser 8</td>
+			<td>Win 98SE+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Netscape Navigator 9</td>
+			<td>Win 98+ / OSX.2+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.0</td>
+			<td>Win 95+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.1</td>
+			<td>Win 95+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.2</td>
+			<td>Win 95+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.3</td>
+			<td>Win 95+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.4</td>
+			<td>Win 95+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.5</td>
+			<td>Win 95+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.6</td>
+			<td>Win 95+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.7</td>
+			<td>Win 98+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Mozilla 1.8</td>
+			<td>Win 98+ / OSX.1+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Seamonkey 1.1</td>
+			<td>Win 98+ / OSX.2+</td>
+		</tr>
+		<tr class="gradeA">
+			<td>Gecko</td>
+			<td>Epiphany 2.20</td>
+			<td>Gnome</td>
+		</tr>
+	</tbody>
+	<tfoot>
+		<tr>
+			<th>Rendering engine</th>
+			<th>Browser</th>
+			<th>Platform(s)</th>
+		</tr>
+	</tfoot>
+</table>
+			</div>
+			<div class="spacer"></div>
+		</div>
+	</body>
+</html>
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests/1_dom/_zero_config.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests/1_dom/_zero_config.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests/1_dom/_zero_config.js	(revision 6286)
@@ -0,0 +1,437 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "Sanity checks for DataTables with DOM data" );
+
+oTest.fnTest( 
+	"jQuery.dataTable function",
+	null,
+	function () { return typeof jQuery().dataTable == "function"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableSettings storage array",
+	null,
+	function () { return typeof jQuery().dataTableSettings == "object"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableExt plugin object",
+	null,
+	function () { return typeof jQuery().dataTableExt == "object"; }
+);
+
+$(document).ready( function () {
+	$('#example').dataTable();
+	
+	/* Basic checks */
+	oTest.fnTest( 
+		"Length changing div exists",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Filtering div exists",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Information div exists",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Pagination div exists",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is off by default",
+		null,
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnTest( 
+		"10 rows shown on the first page",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Initial sort occured",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	/* Need to use the WaitTest for sorting due to the setTimeout datatables uses */
+	oTest.fnTest( 
+		"Sorting (first click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (third click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (first click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column (first click)",
+		function () { 
+			$('#example thead th:eq(0)').click();
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () { var b = 
+			$('#example tbody td:eq(0)').html() == "Gecko" && 
+			$('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - sorting second column only",
+		function () { 
+			$('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Basic paging */
+	oTest.fnTest( 
+		"Paging to second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "IE Mobile"; }
+	);
+	
+	oTest.fnTest( 
+		"Paging to first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Attempting to page back beyond the first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Changing length */
+	oTest.fnTest( 
+		"Changing table length to 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 50 records",
+		function () { $("select[name=example_length]").val('50').change(); },
+		function () { return $('#example tbody tr').length == 50; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 100 records",
+		function () { $("select[name=example_length]").val('100').change(); },
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 10 records",
+		function () { $("select[name=example_length]").val('10').change(); },
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	/*
+	 * Information element
+	 */
+	oTest.fnTest(
+		"Information on zero config",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on third page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back on first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 25 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records - second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 26 to 50 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 100 records - first page",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('100').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back to 10 records",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('10').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 31 to 31 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' back to first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - second time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter increased to 'Win 98'",
+		function () { $('#example_filter input').val("Win 98").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter decreased to 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - third time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter removed",
+		function () { $('#example_filter input').val("").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	/*
+	 * Filtering
+	 */
+	oTest.fnTest(
+		"Filter 'W' - rows",
+		function () { 
+			/* Reset the table such that the old sorting doesn't mess things up */
+			oSession.fnRestore();
+			$('#example').dataTable();
+			$('#example_filter input').val("W").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'W' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 42 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Wi'",
+		function () { $('#example_filter input').val("Wi").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 32 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "AOL browser (AOL desktop)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 reverse",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - maintaing reverse sorting col 1",
+		function () { $('#example_filter input').val("Win XP").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3 - reversed",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting col 3 - reversed info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 6 of 6 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere'",
+		function () { $('#example_filter input').val("nothinghere").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 
+			"No matching records found"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter back to blank and 1st column sorting",
+		function () {
+			$('#example_filter input').val("").keyup();
+			$('#example thead th:eq(0)').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry",
+		function () {
+			$('#example_filter input').val("Win").keyup();
+			$('#example_filter input').val("GeckoWin").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry with space",
+		function () {
+			$('#example_filter input').val("Gecko Win").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 17 entries (filtered from 57 total entries)"; }
+	);
+	
+	
+	
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/-complex_header.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/-complex_header.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/-complex_header.js	(revision 6286)
@@ -0,0 +1,52 @@
+// DATA_TEMPLATE: -complex_header
+oTest.fnStart( "Complex header" );
+
+
+$(document).ready( function () {
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Sorting on colspan has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on non-unique TH and first TH has no effect",
+		function () { $('#example thead th:eq(2)').click(); },
+		function () { return $('#example tbody tr td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on non-unique TH and second TH will not sort",
+		function () { $('#example thead th:eq(6)').click(); },
+		function () { return $('#example tbody tr td:eq(4)').html() == "A"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on non-unique TH and second TH will not sort - reserve",
+		function () { $('#example thead th:eq(6)').click(); },
+		function () { return $('#example tbody tr td:eq(4)').html() == "A"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on unique TH will sort",
+		function () { $('#example thead th:eq(5)').click(); },
+		function () { return $('#example tbody tr td:eq(3)').html() == "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on unique TH will sort - reserve",
+		function () { $('#example thead th:eq(5)').click(); },
+		function () { return $('#example tbody tr td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on unique rowspan TH will sort",
+		function () { $('#example thead th:eq(0)').click(); },
+		function () { return $('#example tbody tr td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/-iDraw.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/-iDraw.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/-iDraw.js	(revision 6286)
@@ -0,0 +1,41 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "iDraw - check that iDraw increments for each draw" );
+
+
+$(document).ready( function () {
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"After first draw, iDraw is 1",
+		null,
+		function () { return oSettings.iDraw == 1; }
+	);
+	
+	oTest.fnTest( 
+		"After second draw, iDraw is 2",
+		function () { oTable.fnDraw() },
+		function () { return oSettings.iDraw == 2; }
+	);
+	
+	oTest.fnTest( 
+		"After sort",
+		function () { oTable.fnSort([[1,'asc']]) },
+		function () { return oSettings.iDraw == 3; }
+	);
+	
+	oTest.fnTest( 
+		"After filter",
+		function () { oTable.fnFilter('gecko') },
+		function () { return oSettings.iDraw == 4; }
+	);
+	
+	oTest.fnTest( 
+		"After another filter",
+		function () { oTable.fnFilter('gec') },
+		function () { return oSettings.iDraw == 5; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2512.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2512.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2512.js	(revision 6286)
@@ -0,0 +1,17 @@
+// DATA_TEMPLATE: 2512
+oTest.fnStart( "Check filtering with BR and HTML entity" );
+
+
+$(document).ready( function () {
+	$('#example').dataTable();
+	
+	/* Basic checks */
+	oTest.fnTest( 
+		"Check filtering",
+		function () { $('#example').dataTable().fnFilter('testsearchstring'); },
+		function () { return $('#example tbody tr').length == 1; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2530-2.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2530-2.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2530-2.js	(revision 6286)
@@ -0,0 +1,15 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "User given with is left when no scrolling" );
+
+$(document).ready( function () {
+	$('#example')[0].style.width = "80%";
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Check user width is left",
+		null,
+		function () { return $('#example').width() == 640; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2530.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2530.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2530.js	(revision 6286)
@@ -0,0 +1,29 @@
+// DATA_TEMPLATE: dymanic_table
+oTest.fnStart( "2530 - Check width's when dealing with empty strings" );
+
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"aaData": [
+			['','Internet Explorer 4.0','Win 95+','4','X'],
+			['','Internet Explorer 5.0','Win 95+','5','C']
+		],
+		"aoColumns": [
+			{ "sTitle": "", "sWidth": "40px" },
+			{ "sTitle": "Browser" },
+			{ "sTitle": "Platform" },
+			{ "sTitle": "Version", "sClass": "center" },
+			{ "sTitle": "Grade", "sClass": "center" }
+		]
+	} );
+	
+	/* Basic checks */
+	oTest.fnTest( 
+		"Check calculated widths",
+		null,
+		function () { return $('#example tbody tr td:eq(0)').width() < 100; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2569.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2569.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2569.js	(revision 6286)
@@ -0,0 +1,36 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "Destroy with hidden columns" );
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"aoColumnDefs": [ 
+			{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
+			{ "bVisible": false, "aTargets": [ 3 ] }
+		]
+	} );
+	$('#example').dataTable().fnDestroy();
+	
+	oTest.fnTest( 
+		"Check that the number of columns in table is correct",
+		null,
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	
+	oTest.fnTest( 
+		"And with scrolling",
+		function () {
+			$('#example').dataTable( {
+				"sScrollY": 200,
+				"aoColumnDefs": [ 
+					{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
+					{ "bVisible": false, "aTargets": [ 3 ] }
+				]
+			} );
+			$('#example').dataTable().fnDestroy();
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2600.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2600.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2600.js	(revision 6286)
@@ -0,0 +1,44 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "2600 - Display rewind when changing length" );
+
+$(document).ready( function () {
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Info correct on init",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Page 2",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 11 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Page 3",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 21 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Page 4",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 31 to 40 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Page 5",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 41 to 50 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Rewind",
+		function () { $('#example_length select').val('100'); $('#example_length select').change(); },
+		function () { return $('#example_info').html() == "Showing 1 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2608.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2608.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2608.js	(revision 6286)
@@ -0,0 +1,54 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "2608 - State saving escaping filters" );
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"bStateSave": true
+	} );
+	
+	oTest.fnTest( 
+		"Set the filter",
+		function () {
+			$('#example_filter input').val( '\\s*CVM\\s*$' );
+			$('#example_filter input').keyup();
+		},
+		function () { return $('#example_filter input').val() == '\\s*CVM\\s*$'; }
+	);
+	
+	oTest.fnTest( 
+		"Destroy the table and remake it - checking the filter was saved",
+		function () {
+			$('#example').dataTable( {
+				"bStateSave": true,
+				"bDestroy": true
+			} );
+		},
+		function () { return $('#example_filter input').val() == '\\s*CVM\\s*$'; }
+	);
+	
+	oTest.fnTest( 
+		"Do it again without state saving and make sure filter is empty",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true
+			} );
+		},
+		function () { return $('#example_filter input').val() == ''; }
+	);
+	
+	oTest.fnTest( 
+		"Clean up",
+		function () {
+			$('#example').dataTable( {
+				"bStateSave": true,
+				"bDestroy": true
+			} );
+			$('#example_filter input').val( '' );
+			$('#example_filter input').keyup();
+		},
+		function () { return $('#example_filter input').val() == ''; }
+	);
+	
+	oTest.fnCookieDestroy( $('#example').dataTable() );
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2635.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2635.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2635.js	(revision 6286)
@@ -0,0 +1,40 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "2635 - Hiding column and state saving" );
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"bStateSave": true
+	} );
+	
+	oTest.fnTest( 
+		"Set the hidden column",
+		function () {
+			$('#example').dataTable().fnSetColumnVis( 2, false );
+		},
+		function () { return $('#example thead th').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"Destroy the table and remake it - checking one column was removed",
+		function () {
+			$('#example').dataTable( {
+				"bStateSave": true,
+				"bDestroy": true
+			} );
+		},
+		function () { return $('#example thead th').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"Do it again without state saving and make sure we are back to 5 columns",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true
+			} );
+		},
+		function () { return $('#example thead th').length == 5; }
+	);
+	
+	oTest.fnCookieDestroy( $('#example').dataTable() );
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2746-stable-sort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2746-stable-sort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2746-stable-sort.js	(revision 6286)
@@ -0,0 +1,199 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "2746 - Stable sorting" );
+
+$(document).ready( function () {
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Initial sort",
+		null,
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'Firefox 1.0' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Firefox 1.5' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Firefox 2.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Reserve initial sort",
+		function () {
+			$('#example thead th:eq(0)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Webkit' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Webkit' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'Safari 1.2' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Safari 1.3' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Safari 2.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Reserve to go back to initial sort sort",
+		function () {
+			$('#example thead th:eq(0)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'Firefox 1.0' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Firefox 1.5' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Firefox 2.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Reserve initial sort again",
+		function () {
+			$('#example thead th:eq(0)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Webkit' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Webkit' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'Safari 1.2' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Safari 1.3' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Safari 2.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"And once more back to the initial sort",
+		function () {
+			$('#example thead th:eq(0)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'Firefox 1.0' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Firefox 1.5' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Firefox 2.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sort on second column",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Trident' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'AOL browser (AOL desktop)' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Camino 1.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Reserve sort on second column",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Webkit' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Safari 3.0' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Safari 2.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"And back to asc sorting on second column",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Trident' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'AOL browser (AOL desktop)' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Camino 1.0';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sort on third column, having now sorted on second",
+		function () {
+			$('#example thead th:eq(2)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Misc' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Dillo 0.8' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'NetFront 3.1';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Reserve sort on third column",
+		function () {
+			$('#example thead th:eq(2)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Misc' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Trident' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'IE Mobile' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Internet Explorer 7' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'AOL browser (AOL desktop)';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Return sorting on third column to asc",
+		function () {
+			$('#example thead th:eq(2)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Other browsers' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Misc' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'All others' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Dillo 0.8' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'NetFront 3.1';
+			return ret;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sort on first column having sorted on second then third columns",
+		function () {
+			$('#example thead th:eq(0)').click();
+		},
+		function () {
+			var ret =
+				$('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(1) td:eq(0)').html() == 'Gecko' &&
+				$('#example tbody tr:eq(0) td:eq(1)').html() == 'Epiphany 2.20' &&
+				$('#example tbody tr:eq(1) td:eq(1)').html() == 'Camino 1.0' &&
+				$('#example tbody tr:eq(2) td:eq(1)').html() == 'Camino 1.5';
+			return ret;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2799.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2799.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2799.js	(revision 6286)
@@ -0,0 +1,14 @@
+// DATA_TEMPLATE: two_tables
+oTest.fnStart( "Initialise two tables" );
+
+$(document).ready( function () {
+	$('table.display').dataTable();
+	
+	oTest.fnTest( 
+		"Check that initialisation was okay",
+		null,
+		function () { return true; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2840-restore-table-width.js	(revision 6286)
@@ -0,0 +1,19 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "2840 - Restore table width on fnDestory" );
+
+$(document).ready( function () {
+	document.cookie = "";
+	$('#example').dataTable( {
+		"sScrollX": "100%",
+		"sScrollXInner": "110%"
+	} );
+	$('#example').dataTable().fnDestroy();
+	
+	oTest.fnTest( 
+		"Width after destroy",
+		null,
+		function () { return $('#example').width() == "800"; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/2914-state-save-sort.js	(revision 6286)
@@ -0,0 +1,39 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "2914 - State saving with an empty array" );
+
+$(document).ready( function () {
+	document.cookie = "";
+	$('#example').dataTable( {
+		"bStateSave": true,
+		"aaSorting": []
+	} );
+	
+	oTest.fnTest( 
+		"No sort",
+		null,
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest( 
+		"Next page",
+		function () {
+			$('#example').dataTable().fnPageChange( 'next' );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnTest( 
+		"Destroy the table and remake it - checking we are still on the next page",
+		function () {
+			$('#example').dataTable( {
+				"bStateSave": true,
+					"aaSorting": [],
+				"bDestroy": true
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnCookieDestroy( $('#example').dataTable() );
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/_zero_config.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/_zero_config.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/_zero_config.js	(revision 6286)
@@ -0,0 +1,437 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "Sanity checks for DataTables with DOM data" );
+
+oTest.fnTest( 
+	"jQuery.dataTable function",
+	null,
+	function () { return typeof jQuery().dataTable == "function"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableSettings storage array",
+	null,
+	function () { return typeof jQuery().dataTableSettings == "object"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableExt plugin object",
+	null,
+	function () { return typeof jQuery().dataTableExt == "object"; }
+);
+
+$(document).ready( function () {
+	$('#example').dataTable();
+	
+	/* Basic checks */
+	oTest.fnTest( 
+		"Length changing div exists",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Filtering div exists",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Information div exists",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Pagination div exists",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is off by default",
+		null,
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnTest( 
+		"10 rows shown on the first page",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Initial sort occured",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	/* Need to use the WaitTest for sorting due to the setTimeout datatables uses */
+	oTest.fnTest( 
+		"Sorting (first click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (third click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (first click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column (first click)",
+		function () { 
+			$('#example thead th:eq(0)').click();
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () { var b = 
+			$('#example tbody td:eq(0)').html() == "Gecko" && 
+			$('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - sorting second column only",
+		function () { 
+			$('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Basic paging */
+	oTest.fnTest( 
+		"Paging to second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "IE Mobile"; }
+	);
+	
+	oTest.fnTest( 
+		"Paging to first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Attempting to page back beyond the first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Changing length */
+	oTest.fnTest( 
+		"Changing table length to 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 50 records",
+		function () { $("select[name=example_length]").val('50').change(); },
+		function () { return $('#example tbody tr').length == 50; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 100 records",
+		function () { $("select[name=example_length]").val('100').change(); },
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 10 records",
+		function () { $("select[name=example_length]").val('10').change(); },
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	/*
+	 * Information element
+	 */
+	oTest.fnTest(
+		"Information on zero config",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on third page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back on first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 25 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records - second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 26 to 50 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 100 records - first page",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('100').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back to 10 records",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('10').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 31 to 31 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' back to first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - second time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter increased to 'Win 98'",
+		function () { $('#example_filter input').val("Win 98").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter decreased to 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - third time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter removed",
+		function () { $('#example_filter input').val("").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	/*
+	 * Filtering
+	 */
+	oTest.fnTest(
+		"Filter 'W' - rows",
+		function () { 
+			/* Reset the table such that the old sorting doesn't mess things up */
+			oSession.fnRestore();
+			$('#example').dataTable();
+			$('#example_filter input').val("W").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'W' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 42 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Wi'",
+		function () { $('#example_filter input').val("Wi").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 32 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "AOL browser (AOL desktop)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 reverse",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - maintaing reverse sorting col 1",
+		function () { $('#example_filter input').val("Win XP").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3 - reversed",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting col 3 - reversed info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 6 of 6 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere'",
+		function () { $('#example_filter input').val("nothinghere").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 
+			"No matching records found"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter back to blank and 1st column sorting",
+		function () {
+			$('#example_filter input').val("").keyup();
+			$('#example thead th:eq(0)').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry",
+		function () {
+			$('#example_filter input').val("Win").keyup();
+			$('#example_filter input').val("GeckoWin").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry with space",
+		function () {
+			$('#example_filter input').val("Gecko Win").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 17 entries (filtered from 57 total entries)"; }
+	);
+	
+	
+	
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aaSorting.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aaSorting.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aaSorting.js	(revision 6286)
@@ -0,0 +1,183 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aaSorting" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default sorting is single column",
+		null,
+		function () {
+			return oSettings.aaSorting.length == 1 && typeof oSettings.aaSorting[0] == 'object';
+		}
+	);
+	
+	oTest.fnTest( 
+		"Default sorting is first column asc",
+		null,
+		function () {
+			return oSettings.aaSorting[0].length == 3 && oSettings.aaSorting[0][0] == 0 &&
+				oSettings.aaSorting[0][1] == 'asc';
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting is applied",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single string column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single string column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single int column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single int column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','asc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','desc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "iPod Touch / iPhone"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','desc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Safari 3.0"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','asc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','asc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1.9"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','desc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "125.5"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','desc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (3 column) - string asc / int asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSorting": [['0','asc'], ['3','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(7) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aaSortingFixed.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aaSortingFixed.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aaSortingFixed.js	(revision 6286)
@@ -0,0 +1,60 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aaSortingFixed" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"No fixed sorting by default",
+		null,
+		function () {
+			return oSettings.aaSortingFixed == null;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSortingFixed": [['0','asc']]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaSortingFixed": [['3','asc']]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "PSP browser"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bSearchable.js	(revision 6286)
@@ -0,0 +1,67 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.bSeachable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Columns are searchable by default",
+		function () { oTable.fnFilter("Camino"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html().match(/Camino/); }
+	);
+	
+	oTest.fnTest( 
+		"Disabling sorting on a column removes it from the global filter",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "bSearchable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("Camino");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnTest( 
+		"Disabled on one column has no effect on other columns",
+		function () { oTable.fnFilter("Webkit"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Webkit"; }
+	);
+	
+	oTest.fnTest( 
+		"Disable filtering on multiple columns",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					{ "bSearchable": false },
+					{ "bSearchable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("Webkit");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnTest( 
+		"Filter on second disabled column",
+		function () { oTable.fnFilter("Camino"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bSortable.js	(revision 6286)
@@ -0,0 +1,105 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.bSortable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"All columns are sortable by default",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Can disable sorting from one column",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Disabled column has no sorting class",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; }
+	);
+	
+	oTest.fnTest( 
+		"Other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
+	);
+	
+	oTest.fnTest( 
+		"Disable sorting on multiple columns - no sorting classes",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					{ "bSortable": false },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example thead th:eq(1)').hasClass("sorting") ||
+				$('#example thead th:eq(3)').hasClass("sorting")
+			return bReturn == false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting on disabled column 1 has no effect",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Second sort on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Even with multiple disabled sorting columns other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bUseRendered.js	(revision 6286)
@@ -0,0 +1,145 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.bUseRendered" );
+
+/* bUseRendered is used to alter sorting data, if false then the original data is used for
+ * sorting rather than the rendered data
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	
+	var oTable = $('#example').dataTable( {
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				if ( mTmp == 0 ) {
+					mTmp++;
+					return "aaa";
+				} else
+					return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default for bUseRendered is true - rendered data is used for sorting",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
+	);
+	
+	oTest.fnTest( 
+		"When bUseRendered is false, original data is used for sorting",
+		function () {
+			mTmp = 0;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ 
+						"bUseRendered": false,
+						"fnRender": function (a) {
+							if ( mTmp == 0 ) {
+								mTmp++;
+								return "aaa";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					null,
+					null,
+					null
+				]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	
+	oTest.fnTest( 
+		"bUseRendered set to false on one columns and true (default) on two others",
+		function () {
+			mTmp = 0;
+			var mTmp2 = 0;
+			var mTmp3 = 0;
+			
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					{
+						"fnRender": function (a) {
+							if ( mTmp == 0 ) {
+								mTmp++;
+								return "aaa1";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					{ 
+						"bUseRendered": false,
+						"fnRender": function (a) {
+							if ( mTmp2 == 0 ) {
+								mTmp2++;
+								return "aaa2";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					{
+						"fnRender": function (a) {
+							if ( mTmp3 == 0 ) {
+								mTmp3++;
+								return "zzz3";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 2nd column sorting",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 3rd column sorting",
+		function () {
+			$('#example thead th:eq(2)').click();
+			$('#example thead th:eq(2)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 4th column sorting",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 5th column sorting",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.bVisible.js	(revision 6286)
@@ -0,0 +1,132 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.bVisible" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"All columns are visible by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	oTest.fnTest( 
+		"Can hide one column and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"Can hide one column and it removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"Can hide one column and it removes tfoot th column from DOM",
+		null,
+		function () { return $('#example tfoot tr:eq(0) th').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"The correct thead column has been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Platform(s)" &&
+				jqNodes[2].innerHTML == "Engine version" &&
+				jqNodes[3].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"The correct tbody column has been hidden",
+		function () {
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
+		},
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "Gnome" &&
+				jqNodes[2].innerHTML == "1.8" &&
+				jqNodes[3].innerHTML == "A";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Can hide multiple columns and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					{ "bVisible": false },
+					null,
+					{ "bVisible": false }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"Multiple hide - removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"Multiple hide - removes tfoot th column from DOM",
+		null,
+		function () { return $('#example tfoot tr:eq(0) th').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"Multiple hide - the correct thead columns have been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Engine version"
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Multiple hide - the correct tbody columns have been hidden",
+		function () {
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
+		},
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "1"
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.fnRender.js	(revision 6286)
@@ -0,0 +1,175 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.fnRender" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	var oTable = $('#example').dataTable( {
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				mTmp++;
+				return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Single column - fnRender is called once for each row",
+		null,
+		function () { return mTmp == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Confirm that fnRender passes one argument (an object) with three parameters",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( arguments.length != 1 || typeof a.iDataRow=='undefined' ||
+						 	typeof a.iDataColumn=='undefined' || typeof a.aData=='undefined' )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"fnRender iDataColumn is row number",
+		function () {
+			var iCount = 0;
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( iCount != a.iDataRow )
+						{
+							mTmp = false;
+						}
+						iCount++;
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"fnRender iDataColumn is the column",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.iDataColumn != 1 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"fnRender aData is data array of correct size",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.aData.length != 5 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest';
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'unittest'; }
+	);
+	
+	oTest.fnTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest1';
+					} },
+					{ "fnRender": function (a) {
+						return 'unittest2';
+					} },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(0) td:eq(2)').html() == 'unittest1' &&
+				$('#example tbody tr:eq(0) td:eq(3)').html() == 'unittest2';
+			return bReturn; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.iDataSort.js	(revision 6286)
@@ -0,0 +1,88 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.iDataSort" );
+
+$(document).ready( function () {
+	/* Should know that sorting already works by default from other tests, so we can jump
+	 * right in here
+	 */
+	var oTable = $('#example').dataTable( {
+		"aoColumns": [
+			null,
+			{ "iDataSort": 4 },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Sorting on first column is uneffected",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on second column is the order of the fifth",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnTest( 
+		"Reserve sorting on second column uses fifth column as well",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on 5th column retains it's own sorting",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Use 2nd col for sorting 5th col and via-versa - no effect on first col sorting",
+		function () {
+			mTmp = 0;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "iDataSort": 4 },
+					null,
+					null,
+					{ "iDataSort": 1 }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnTest( 
+		"2nd col sorting uses fifth col",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnTest( 
+		"2nd col sorting uses fifth col - reversed",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnTest( 
+		"5th col sorting uses 2nd col",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	oTest.fnTest( 
+		"5th col sorting uses 2nd col - reversed",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1'; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sClass.js	(revision 6286)
@@ -0,0 +1,111 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.sClass" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"By default the test class hasn't been applied to the column (sanity!)",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(2)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					null,
+					null,
+					{ "sClass": 'unittest' },
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - third row",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - last row",
+		null,
+		function () { return $('#example tbody tr:eq(9) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to other columns - 1st",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to other columns - 5th",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - seventh row - second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody tr:eq(6) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to header",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to footer",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Class defined for multiple columns - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					{ "sClass": 'unittest2' },
+					null,
+					null,
+					{ "sClass": 'unittest1' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest2') &&
+				$('#example tbody tr:eq(8) td:eq(3)').hasClass('unittest1');
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 1",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').hasClass('unittest1') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 2",
+		null,
+		function () { return $('#example tbody tr:eq(6) td:eq(4)').hasClass('unittest2') == false; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sName.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sName.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sName.js	(revision 6286)
@@ -0,0 +1,27 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.sName" );
+
+/* This has no effect at all in DOM methods - so we just check that it has applied the name */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aoColumns": [
+			null,
+			null,
+			null,
+			{ "sName": 'unit test' },
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Names are stored in the columns object",
+		null,
+		function () { return oSettings.aoColumns[3].sName =="unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sTitle.js	(revision 6286)
@@ -0,0 +1,78 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.sTitle" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Column names are read from the DOM by default",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Browser" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Can set a single column title - and others are read from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test' },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Can set multiple column titles",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test 1' },
+					null,
+					null,
+					{ "sTitle": 'unit test 2' }
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test 1" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "unit test 2";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoColumns.sWidth.js	(revision 6286)
@@ -0,0 +1,84 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoColumns.sWidth" );
+
+/* NOTE - we need to disable the auto width for the majority of these test in order to preform 
+ * these tests as the auto width will convert the width to a px value. We can do 'non-exact' tests
+ * with auto width enabled however to ensure it scales columns as required
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bAutoWidth": false,
+		"aoColumns": [
+			null,
+			{ "sWidth": '40%' },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"With auto width disabled the width for one column is appled",
+		null,
+		function () { return $('#example thead th:eq(1)')[0].style.width == "40%"; }
+	);
+	
+	oTest.fnTest( 
+		"With auto width disabled the width for one column is appled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bAutoWidth": false,
+				"aoColumns": [
+					null,
+					null,
+					{ "sWidth": '20%' },
+					{ "sWidth": '30%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn =
+				$('#example thead th:eq(2)')[0].style.width == "20%" &&
+				$('#example thead th:eq(3)')[0].style.width == "30%";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"With auto width, it will make the smallest column the largest with percentage width given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoColumns": [
+					null,
+					null,
+					null,
+					{ "sWidth": '40%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			
+			if ( a3>a0 && a3>a1 && a3>a2 && a3>a4 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoSearchCols.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoSearchCols.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/aoSearchCols.js	(revision 6286)
@@ -0,0 +1,112 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "aoSearchCols" );
+
+/* We could be here forever testing this one, so we test a limited subset on a couple of colums */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default should be to have a empty colums array",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.aoPreSearchCols[0].sSearch == 0 && !oSettings.aoPreSearchCols[0].bRegex &&
+				oSettings.aoPreSearchCols[1].sSearch == 0 && !oSettings.aoPreSearchCols[1].bRegex &&
+				oSettings.aoPreSearchCols[2].sSearch == 0 && !oSettings.aoPreSearchCols[2].bRegex &&
+				oSettings.aoPreSearchCols[3].sSearch == 0 && !oSettings.aoPreSearchCols[3].bRegex &&
+				oSettings.aoPreSearchCols[4].sSearch == 0 && !oSettings.aoPreSearchCols[4].bRegex;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Search on a single column - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example_info').html() == "Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on two columns - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1.5" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1.5"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on single column - escape regex false",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					null,
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example_info').html() == "Showing 1 to 3 of 3 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on two columns - escape regex false on first, true on second",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					{ "sSearch": "3.3", "bEscapeRegex": true },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Konqureror 3.3"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on two columns (no records) - escape regex false on first, true on second",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					{ "sSearch": "Allan", "bEscapeRegex": true },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/asStripClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/asStripClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/asStripClasses.js	(revision 6286)
@@ -0,0 +1,106 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "asStripClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Default row striping is applied",
+		null,
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Row striping does not effect current classes",
+		null,
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('gradeA') &&
+			       $('#example tbody tr:eq(1)').hasClass('gradeA') &&
+			       $('#example tbody tr:eq(2)').hasClass('gradeA') &&
+			       $('#example tbody tr:eq(3)').hasClass('gradeA');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Row striping on the second page",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	/* No striping */
+	oTest.fnTest( 
+		"No row striping",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"asStripClasses": []
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)')[0].className == "gradeA" &&
+			       $('#example tbody tr:eq(1)')[0].className == "gradeA" &&
+			       $('#example tbody tr:eq(2)')[0].className == "gradeA" &&
+			       $('#example tbody tr:eq(3)')[0].className == "gradeA";
+		}
+	);
+	
+	/* Custom striping */
+	oTest.fnTest( 
+		"Custom striping [2]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"asStripClasses": [ 'test1', 'test2' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test1') &&
+			       $('#example tbody tr:eq(3)').hasClass('test2');
+		}
+	);
+	
+	
+	/* long array of striping */
+	oTest.fnTest( 
+		"Custom striping [4]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"asStripClasses": [ 'test1', 'test2', 'test3', 'test4' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Custom striping is restarted on second page [2]",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bAutoWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bAutoWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bAutoWidth.js	(revision 6286)
@@ -0,0 +1,138 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bAutoWidth" );
+
+/* It's actually a little tricky to test this. We can't test absolute numbers because
+ * different browsers and different platforms will render the width of the columns slightly
+ * differently. However, we certainly can test the principle of what should happen (column 
+ * width doesn't change over pages)
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Auto width is enabled by default",
+		null,
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	oTest.fnTest( 
+		"First column has a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style').match(/width/i); }
+	);
+	
+	/*
+	This would seem like a better test - but there appear to be difficulties with tables
+	which are bigger (calculated) than there is actually room for. I suspect this is actually
+	a bug in datatables
+	oTest.fnTest( 
+		"Check column widths on first page match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			console.log( a0, b0, a1, b1, a2, b2, a3, b3 );
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check column widths on second page match thid page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	*/
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Auto width can be disabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bAutoWidth": false
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth == false; }
+	);
+	
+	oTest.fnTest( 
+		"First column does not have a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style') == null; }
+	);
+	
+	/*
+	oTest.fnTest( 
+		"Check column widths on first page do not match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return false;
+			else
+				return true;
+		}
+	);
+	*/
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Auto width enabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bAutoWidth": true
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bFilter.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bFilter.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bFilter.js	(revision 6286)
@@ -0,0 +1,40 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bFilter" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Filtering div exists by default",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Fltering can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bFilter": false
+			} );
+		},
+		function () { return document.getElementById('example_filter') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Filtering enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bFilter": true
+			} );
+		},
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bInfiniteScroll.js	(revision 6286)
@@ -0,0 +1,130 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bInfiniteScroll" );
+
+
+$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"bScrollInfinite": true,
+		"sScrollY": "200px"
+	} );
+	
+	oTest.fnTest( 
+		"10 rows by default",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Info",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes",
+		null,
+		function () { return $('#example tbody>tr').length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll on 20px adds 10 rows",
+		function () { $('div.dataTables_scrollBody').scrollTop(20); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Info after 20px scroll",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after 20px scroll",
+		null,
+		function () { return $('#example tbody>tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Scroll on 10px more results in the same number of rows",
+		function () { $('div.dataTables_scrollBody').scrollTop(30); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Info after 10 more px scroll",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll to 240px adds another 10 rows",
+		function () { $('div.dataTables_scrollBody').scrollTop(240); },
+		function () { return $('#example tbody tr').length == 30; }
+	);
+	
+	oTest.fnTest( 
+		"Info after 240px scroll",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after 240px scroll",
+		null,
+		function () { return $('#example tbody>tr').length == 30; }
+	);
+	
+	oTest.fnTest( 
+		"Filtering will drop back to 10 rows",
+		function () { 
+			$('div.dataTables_scrollBody').scrollTop(0);
+			oTable.fnFilter('gec')
+		},
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Info after filtering",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 10 of 20 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after filtering",
+		null,
+		function () { return $('#example tbody>tr').length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll after filtering adds 10",
+		function () { $('div.dataTables_scrollBody').scrollTop(20); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after filtering",
+		null,
+		function () { return $('#example tbody>tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting will drop back to 10 rows",
+		function () { oTable.fnSort([[1,'asc']]) },
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll after sorting adds 10",
+		function () { $('div.dataTables_scrollBody').scrollTop(20); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after scrolling",
+		null,
+		function () { return $('#example tbody>tr').length == 20; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bInfo.js	(revision 6286)
@@ -0,0 +1,40 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Info div exists by default",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Info can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bInfo": false
+			} );
+		},
+		function () { return document.getElementById('example_info') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Info enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bInfo": true
+			} );
+		},
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bJQueryUI.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bJQueryUI.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bJQueryUI.js	(revision 6286)
@@ -0,0 +1,40 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bJQueryUI" );
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"bJQueryUI": true
+	} );
+	
+	oTest.fnTest( 
+		"Header elements are fully wrapped by DIVs",
+		null,
+		function () {
+			var test = true;
+			$('#example thead th').each( function () {
+				if ( this.childNodes > 1 ) {
+					test = false;
+				}
+			} );
+			return test;
+		}
+	);
+	
+	oTest.fnTest( 
+		"One div for each header element",
+		null,
+		function () {
+			return $('#example thead th div').length == 5;
+		}
+	);
+	
+	oTest.fnTest( 
+		"One span for each header element, nested as child of div",
+		null,
+		function () {
+			return $('#example thead th div>span').length == 5;
+		}
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bLengthChange.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bLengthChange.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bLengthChange.js	(revision 6286)
@@ -0,0 +1,71 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bLengthChange" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Length div exists by default",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnTest(
+		"Four default options",
+		null,
+		function () { return $("select[name=example_length] option").length == 4; }
+	);
+	
+	oTest.fnTest(
+		"Default options",
+		null,
+		function () {
+			var opts = $("select[name='example_length'] option");
+			return opts[0].getAttribute('value') == 10 && opts[1].getAttribute('value') == 25 &&
+				opts[2].getAttribute('value') == 50 && opts[3].getAttribute('value') == 100;
+		}
+	);
+	
+	oTest.fnTest(
+		"Info takes length into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Change length can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bLengthChange": false
+			} );
+		},
+		function () { return document.getElementById('example_length') == null; }
+	);
+	
+	oTest.fnTest(
+		"Information takes length disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Length change enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bLengthChange": true
+			} );
+		},
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bPaginate.js	(revision 6286)
@@ -0,0 +1,55 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bPaginate" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Pagiantion div exists by default",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnTest(
+		"Information div takes paging into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bPaginate": false
+			} );
+		},
+		function () { return document.getElementById('example_paginate') == null; }
+	);
+	
+	oTest.fnTest(
+		"Information div takes paging disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 57 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Pagiantion enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bPaginate": true
+			} );
+		},
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bProcessing.js	(revision 6286)
@@ -0,0 +1,99 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bProcessing" );
+
+/* It's actually a bit hard to set this one due to the fact that it will only be shown
+ * when DataTables is doing some kind of processing. The server-side processing is a bit
+ * better to test this than here - so we just the interal functions to enable it and check
+ * that it is available
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Processing is off by default",
+		null,
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div cannot be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div cannot be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Processing can be enabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bProcessing": true
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == true; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing'); }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is hidden by default",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div can be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "visible"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div can be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Processing disabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bProcessing": false
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bServerSide.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bServerSide.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bServerSide.js	(revision 6286)
@@ -0,0 +1,18 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bServerSide" );
+
+/* Not interested in server-side processing here other than to check that it is off */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Server side is off by default",
+		null,
+		function () { return oSettings.oFeatures.bServerSide == false; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bSort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bSort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bSort.js	(revision 6286)
@@ -0,0 +1,101 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bSort" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Sorting is on by default",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting Asc by default class applied",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnTest(
+		"Click on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting class removed from first column",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting asc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnTest(
+		"Reverse on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting acs class removed from second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting desc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_desc"); }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bSort": false
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Disabled classes applied",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass('sorting_disabled'); }
+	);
+	
+	oTest.fnTest(
+		"Click on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Reverse on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Sorting enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bSort": true
+			} );
+		},
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bSortClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bSortClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/bSortClasses.js	(revision 6286)
@@ -0,0 +1,128 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "bSortClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Sorting classes are applied by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes are applied to all required cells",
+		null,
+		function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes are not applied to non-sorting columns",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - add column 1",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - add column 2",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - add column 3",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Remove sorting classes on single column sort",
+		function () { 
+			$('#example thead th:eq(4)').click();
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting class 1 was added",
+		null,
+		function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Sorting classes can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bSortClasses": false
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes disabled - add column 1 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes disabled - add column 2 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Sorting classes enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bSortClasses": true
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnCookieCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnCookieCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnCookieCallback.js	(revision 6286)
@@ -0,0 +1,97 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "Cookie callback" );
+
+
+$(document).ready( function () {
+	var mPass;
+	/* Note that in order to be fully effective here for saving state, there would need to be a
+	 * stringify function to serialise the data array
+	 */
+	
+	oTest.fnTest( 
+		"null by default",
+		function () {
+			$('#example').dataTable();
+		},
+		function () { return $('#example').dataTable().fnSettings().fnCookieCallback == null; }
+	);
+	
+	oTest.fnTest( 
+		"Number of arguments",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"bStateSave": true,
+				"fnCookieCallback": function (sName, oData, sExpires, sPath) {
+					mPass = arguments.length;
+					return sName + "=; expires=" + sExpires +"; path=" + sPath;
+				}
+			} );
+		},
+		function () { return mPass == 4; }
+	);
+	
+	oTest.fnTest( 
+		"Name",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"bStateSave": true,
+				"fnCookieCallback": function (sName, oData, sExpires, sPath) {
+					mPass = sName=="SpryMedia_DataTables_example_dom_data.php";
+					return sName + "=; expires=" + sExpires +"; path=" + sPath;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"bStateSave": true,
+				"fnCookieCallback": function (sName, oData, sExpires, sPath) {
+					mPass = typeof oData.iStart != 'undefined';
+					return sName + "=; expires=" + sExpires +"; path=" + sPath;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Expires",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"bStateSave": true,
+				"fnCookieCallback": function (sName, oData, sExpires, sPath) {
+					mPass = typeof sExpires == 'string';
+					return sName + "=; expires=" + sExpires +"; path=" + sPath;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Path",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"bStateSave": true,
+				"fnCookieCallback": function (sName, oData, sExpires, sPath) {
+					mPass = sPath.match(/media\/unit_testing\/templates/);
+					return sName + "=; expires=" + sExpires +"; path=" + sPath;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnCookieDestroy( $('#example').dataTable() );
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnDeleteRow.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnDeleteRow.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnDeleteRow.js	(revision 6286)
@@ -0,0 +1,30 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnDeleteRow" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Check that the default data is sane",
+		null,
+		function () { return oSettings.asDataSearch.join(' ').match(/4.0/g).length == 3; }
+	);
+	
+	oTest.fnTest( 
+		"Remove the first data row, and check that hte search data has been updated",
+		function () { oTable.fnDeleteRow( 0 ); },
+		function () { return oSettings.asDataSearch.join(' ').match(/4.0/g).length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"Check that the info element has been updated",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 10 of 56 entries"; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnDrawCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnDrawCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnDrawCallback.js	(revision 6286)
@@ -0,0 +1,80 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnDrawCallback" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnDrawCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"One argument passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"fnDrawCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			oTable = $('#example').dataTable( {
+				"fnDrawCallback": function ( oSettings ) {
+					mPass = oSettings;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"fnDrawCallback": function ( ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback called once on each draw there after as well",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass == 4; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnFooterCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnFooterCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnFooterCallback.js	(revision 6286)
@@ -0,0 +1,227 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnFooterCallback" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnFooterCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Five arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 5; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once per draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback called on paging (i.e. another draw)",
+		function () { $('#example_next').click(); },
+		function () { return mPass == 2; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					nFoot.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
+				}
+			} );
+		},
+		function () { return $('#example tfoot th:eq(0)').html() == "Displaying 10 records"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Data array has length matching original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aasData.length != 57 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data array's column lengths match original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					for ( var i=0, iLen=aasData.length ; i<iLen ; i++ )
+					{
+						if ( aasData[i].length != 5 )
+						{
+							mPass = false;
+						}
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart != 0 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart == 10 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd != 10 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd == 20 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"aiDisplay length is full data when not filtered",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 57 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"aiDisplay length is 9 when filtering on 'Mozilla'",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			oTable = $('#example').dataTable( {
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 9 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			oTable.fnFilter( "Mozilla" );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnHeaderCallback.js	(revision 6286)
@@ -0,0 +1,227 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnHeaderCallback" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnHeaderCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Five arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 5; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once per draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback called on paging (i.e. another draw)",
+		function () { $('#example_next').click(); },
+		function () { return mPass == 2; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
+				}
+			} );
+		},
+		function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Data array has length matching original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aasData.length != 57 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data array's column lengths match original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					for ( var i=0, iLen=aasData.length ; i<iLen ; i++ )
+					{
+						if ( aasData[i].length != 5 )
+						{
+							mPass = false;
+						}
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart != 0 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart == 10 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd != 10 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd == 20 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"aiDisplay length is full data when not filtered",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 57 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"aiDisplay length is 9 when filtering on 'Mozilla'",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			oTable = $('#example').dataTable( {
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 9 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			oTable.fnFilter( "Mozilla" );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnInfoCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnInfoCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnInfoCallback.js	(revision 6286)
@@ -0,0 +1,115 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnInfoCallback checks" );
+
+$(document).ready( function () {
+	var mPass;
+	
+	$('#example').dataTable();
+	
+	/* Basic checks */
+	oTest.fnTest( 
+		"null by default",
+		null,
+		function () { return $('#example').dataTable().fnSettings().oLanguage.fnInfoCallback == null; }
+	);
+	
+	oTest.fnTest( 
+		"Agrument length",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
+					mPass = arguments.length;
+					return sPre;
+				}
+			} );
+		},
+		function () { return mPass == 6; }
+	);
+	
+	oTest.fnTest( 
+		"Settings first",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
+					mPass = (oS == $('#example').dataTable().fnSettings()) ? true : false;
+					return sPre;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Start arg",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
+					return iStart;
+				}
+			} );
+		},
+		function () { return $('#example_info').html() == "1"; }
+	);
+	
+	oTest.fnTest( 
+		"End arg",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
+					return iEnd;
+				}
+			} );
+		},
+		function () { return $('#example_info').html() == "10"; }
+	);
+	
+	oTest.fnTest( 
+		"Max arg",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
+					return iMax;
+				}
+			} );
+		},
+		function () { return $('#example_info').html() == "57"; }
+	);
+	
+	oTest.fnTest( 
+		"Max arg - filter",
+		function () {
+			$('#example').dataTable().fnFilter("1.0");
+		},
+		function () { return $('#example_info').html() == "57"; }
+	);
+	
+	oTest.fnTest( 
+		"Total arg",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"fnInfoCallback": function( oS, iStart, iEnd, iMax, iTotal, sPre ) {
+					return iTotal;
+				}
+			} );
+		},
+		function () { return $('#example_info').html() == "57"; }
+	);
+	
+	oTest.fnTest( 
+		"Total arg - filter",
+		function () {
+			$('#example').dataTable().fnFilter("1.0");
+		},
+		function () { return $('#example_info').html() == "3"; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnInitComplete.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnInitComplete.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnInitComplete.js	(revision 6286)
@@ -0,0 +1,94 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnInitComplete" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnInitComplete == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"One argument passed (for DOM!)",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"fnInitComplete": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			oTable = $('#example').dataTable( {
+				"fnInitComplete": function ( oSettings ) {
+					mPass = oSettings;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnInitComplete called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"fnInitComplete": function ( ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnInitComplete never called there after",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"10 rows in the table on complete",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"fnInitComplete": function ( ) {
+					mPass = $('#example tbody tr').length;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnRowCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnRowCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/fnRowCallback.js	(revision 6286)
@@ -0,0 +1,105 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "fnRowCallback" );
+
+/* Note - fnRowCallback MUST return the first arguments (modified or not) */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnRowCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Four arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"fnRowCallback": function ( nTr ) {
+					mPass = arguments.length;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 4; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once for each drawn row",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					mPass++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					$(nTr).addClass('unit_test');
+					return nTr;
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); }
+	);
+	
+	oTest.fnTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( asData.length != 5 )
+						mPass = false;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			var iCount = 0;
+			$('#example').dataTable( {
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( iCount != iDrawIndex )
+						mPass = false;
+					iCount++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/iDisplayLength.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/iDisplayLength.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/iDisplayLength.js	(revision 6286)
@@ -0,0 +1,76 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "iDisplayLength" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable();
+	
+	oTest.fnTest( 
+		"Default length is ten",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 10",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Set initial length to 25",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"iDisplayLength": 25
+			} );
+		},
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 25; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Set initial length to 100",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"iDisplayLength": 100
+			} );
+		},
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 100; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Set initial length to 23 (unknown select menu length)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"iDisplayLength": 23
+			} );
+		},
+		function () { return $('#example tbody tr').length == 23; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 10 (since 23 is unknow)",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.oPaginate.js	(revision 6286)
@@ -0,0 +1,80 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.oPaginate" );
+
+/* Note that the paging language information only has relevence in full numbers */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( { "sPaginationType": "full_numbers" } );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate defaults",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "First" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "Previous" &&
+				oSettings.oLanguage.oPaginate.sNext == "Next" &&
+				oSettings.oLanguage.oPaginate.sLast == "Last";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate defaults are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "First" &&
+				$('#example_paginate .previous').html() == "Previous" &&
+				$('#example_paginate .next').html() == "Next" &&
+				$('#example_paginate .last').html() == "Last";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sPaginationType": "full_numbers",
+				"oLanguage": {
+					"oPaginate": {
+						"sFirst":    "unit1",
+						"sPrevious": "test2",
+						"sNext":     "unit3",
+						"sLast":     "test4"
+					}
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "unit1" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "test2" &&
+				oSettings.oLanguage.oPaginate.sNext == "unit3" &&
+				oSettings.oLanguage.oPaginate.sLast == "test4";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate definitions are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "unit1" &&
+				$('#example_paginate .previous').html() == "test2" &&
+				$('#example_paginate .next').html() == "unit3" &&
+				$('#example_paginate .last').html() == "test4";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfo.js	(revision 6286)
@@ -0,0 +1,109 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Info language is 'Showing _START_ to _END_ of _TOTAL_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sInfo == "Showing _START_ to _END_ of _TOTAL_ entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Info language can be defined - without any macros",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sInfo": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfo == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macro _START_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oLanguage": {
+					"sInfo": "unit _START_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macro _END_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 10 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macro _TOTAL_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 57 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macros _START_ and _END_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macros _START_, _END_ and _TOTAL_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 57 test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoEmpty.js	(revision 6286)
@@ -0,0 +1,75 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sInfoEmpty" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Info empty language is 'Showing 0 to 0 of 0 entries' by default",
+		function () { oTable.fnFilter("nothinghere"); },
+		function () { return oSettings.oLanguage.sInfoEmpty == "Showing 0 to 0 of 0 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"Showing 0 to 0 of 0 entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Info empty language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sInfoEmpty": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return oSettings.oLanguage.sInfoEmpty == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Macro's not replaced",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sInfoEmpty": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit _START_ _END_ _TOTAL_ test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sInfoPostFix.js	(revision 6286)
@@ -0,0 +1,73 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sInfoPostFix" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Info post fix language is '' (blank) by default",
+		null,
+		function () { return oSettings.oLanguage.sInfoPostFix == ""; }
+	);
+	
+	oTest.fnTest( 
+		"Width no post fix, the basic info shows",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Info post fix language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfoPostFix == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit test"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Macros have no effect in the post fix",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sInfoPostFix": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit _START_ _END_ _TOTAL_ test"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Post fix is applied after fintering info",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 0 to 0 of 0 entries unit (filtered from 57 total entries) test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sLengthMenu.js	(revision 6286)
@@ -0,0 +1,101 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sLengthMenu" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Menu language is 'Show _MENU_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sLengthMenu == "Show _MENU_ entries"; }
+	);
+	
+	oTest.fnTest(
+		"_MENU_ macro is replaced by select menu in DOM",
+		null,
+		function () { return $('select', oSettings.aanFeatures.l[0]).length == 1 }
+	);
+	
+	oTest.fnTest(
+		"Default is put into DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "Show " &&
+				anChildren[2].nodeValue == " entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Menu length language can be defined - no _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sLengthMenu": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sLengthMenu == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Menu length language definition is in the DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			return anChildren[0].nodeValue == "unit test";
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Menu length language can be defined - with _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sLengthMenu": "unit _MENU_ test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "unit " &&
+				anChildren[2].nodeValue == " test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Only the _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sLengthMenu": "_MENU_"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren.length == 1 &&
+				$('select', oSettings.aanFeatures.l[0]).length == 1;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sProcessing.js	(revision 6286)
@@ -0,0 +1,47 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sProcessing" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bProcessing": true
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Processing language is 'Processing...' by default",
+		null,
+		function () { return oSettings.oLanguage.sProcessing == "Processing..."; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "Processing..."; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Processing language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bProcessing": true,
+				"oLanguage": {
+					"sProcessing": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sProcessing == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sSearch.js	(revision 6286)
@@ -0,0 +1,61 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sSearch" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Search language is 'Search:' by default",
+		null,
+		function () { return oSettings.oLanguage.sSearch == "Search:"; }
+	);
+	
+	oTest.fnTest( 
+		"Search language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "Search: "; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Search language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sSearch": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sSearch == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "unit test "; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Blank search has a no (separator) inserted",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sSearch": ""
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return document.getElementById('example_filter').childNodes.length == 1; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sUrl.js	(revision 6286)
@@ -0,0 +1,59 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sUrl" );
+
+/* Note that we only test the internal storage of language information pulled form a file here
+ * as the other language tests will check it goes into the DOM correctly
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"sUrl is blank by default",
+		null,
+		function () { return oSettings.oLanguage.sUrl == ""; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Loading of German file loads language information",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sUrl": "../../../examples/examples_support/de_DE.txt"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.sProcessing == "Bitte warten..." &&
+				oSettings.oLanguage.sLengthMenu == "_MENU_ EintrÃ€ge anzeigen" &&
+				oSettings.oLanguage.sZeroRecords == "Keine EintrÃ€ge vorhanden." &&
+				oSettings.oLanguage.sInfo == "_START_ bis _END_ von _TOTAL_ EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoEmpty == "0 bis 0 von 0 EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoFiltered == "(gefiltert von _MAX_  EintrÃ€gen)" &&
+				oSettings.oLanguage.sInfoPostFix == "" &&
+				oSettings.oLanguage.sSearch == "Suchen" &&
+				oSettings.oLanguage.oPaginate.sFirst == "Erster" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "ZurÃŒck" &&
+				oSettings.oLanguage.oPaginate.sNext == "NÃ€chster" &&
+				oSettings.oLanguage.oPaginate.sLast == "Letzter";
+				
+			return bReturn;
+		}
+	);
+	
+	/* One DOM check just to ensure that they go into the DOM */
+	oTest.fnTest(
+		"Loaded language goes into the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "1 bis 10 von 57 EintrÃ€gen"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oLanguage.sZeroRecords.js	(revision 6286)
@@ -0,0 +1,45 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oLanguage.sZeroRecords" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Zero records language is 'No matching records found' by default",
+		null,
+		function () { return oSettings.oLanguage.sZeroRecords == "No matching records found"; }
+	);
+	
+	oTest.fnTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere'); },
+		function () { return $('#example tbody tr td')[0].innerHTML == "No matching records found" }
+	);
+	
+	
+	
+	oTest.fnTest( 
+		"Zero records language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oLanguage": {
+					"sZeroRecords": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sZeroRecords == "unit test"; }
+	);
+	
+	oTest.fnTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere2'); },
+		function () { return $('#example tbody tr td')[0].innerHTML == "unit test" }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/oSearch.js	(revision 6286)
@@ -0,0 +1,101 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "oSearch" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default values should be blank",
+		null,
+		function () {
+			var bReturn = oSettings.oPreviousSearch.sSearch == "" && 
+			              !oSettings.oPreviousSearch.bRegex;
+			return bReturn;
+		}
+	);
+	
+	/* This test might be considered iffy since the full object isn't given, but it's reasonable to
+	 * expect DataTables to cope with this. It should just assumine regex false
+	 */
+	oTest.fnTest( 
+		"Search term only in object",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"oSearch": {
+					"sSearch": "Mozilla"
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest( 
+		"New search will kill old one",
+		function () {
+			oTable.fnFilter("Opera");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Presto"; }
+	);
+	
+	oTest.fnTest( 
+		"Search plain text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oSearch": {
+					"sSearch": "DS",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Nintendo DS browser"; }
+	);
+	
+	oTest.fnTest( 
+		"Search plain text term and escape regex false",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oSearch": {
+					"sSearch": "Opera",
+					"bRegex": true
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Presto"; }
+	);
+	
+	oTest.fnTest( 
+		"Search regex text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oSearch": {
+					"sSearch": "1.*",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnTest( 
+		"Search regex text term and escape regex false",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"oSearch": {
+					"sSearch": "1.*",
+					"bRegex": true
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sAjaxSource.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sAjaxSource.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sAjaxSource.js	(revision 6286)
@@ -0,0 +1,18 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "sAjaxSource" );
+
+/* Not interested in ajax source here other than to check it's default */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Server side is off by default",
+		null,
+		function () { return oSettings.sAjaxSource == null; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sDom.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sDom.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sDom.js	(revision 6286)
@@ -0,0 +1,319 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "sDom" );
+
+/* This is going to be brutal on the browser! There is a lot that can be tested here... */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default DOM varaible",
+		null,
+		function () { return oSettings.sDom == "lfrtip"; }
+	);
+	
+	oTest.fnTest( 
+		"Default DOM in document",
+		null,
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check example 1 in code propagates",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sDom": '<"wrapper"flipt>'
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.sDom == '<"wrapper"flipt>'; }
+	);
+	
+	oTest.fnTest( 
+		"Check example 1 in DOM",
+		null,
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			var nCustomWrapper = $('div.wrapper')[0];
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrapper &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nLength &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging &&
+				nNodes[6] == nTable;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check example 2 in DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sDom": '<lf<t>ip>'
+			} );
+		},
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			var nCustomWrappers = []
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+				
+				/* Only the two custom divs don't have class names */
+				if ( !jqNodes[i].getAttribute('class') )
+				{
+					nCustomWrappers.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrappers[0] &&
+				nNodes[2] == nLength &&
+				nNodes[3] == nFilter &&
+				nNodes[4] == nCustomWrappers[1] &&
+				nNodes[5] == nTable &&
+				nNodes[6] == nInfo &&
+				nNodes[7] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check no length element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sDom": 'frtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				null == nLength &&
+				nNodes[1] == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check no filter element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sDom": 'lrtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				null == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	/* Note we don't test for no table as this is not supported (and it would be fairly daft! */
+	
+	oTest.fnTest( 
+		"Check no info element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sDom": 'lfrtp'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				null == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check no paging element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sDom": 'lfrti'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				null == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Element with an id",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sDom": '<"#test"lf>rti'
+			} );
+		},
+		function () {
+			return $('#test').length == 1;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Element with an id and a class",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sDom": '<"#test.classTest"lf>rti'
+			} );
+		},
+		function () {
+			return ($('#test').length == 1 && $('#test')[0].className == "classTest");
+		}
+	);
+	
+	oTest.fnTest( 
+		"Element with just a class",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sDom": '<"classTest"lf>rti'
+			} );
+		},
+		function () {
+			return ($('div.classTest').length == 1 );
+		}
+	);
+	
+	oTest.fnTest( 
+		"Two elements with an id",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sDom": '<"#test1"lf>rti<"#test2"lf>'
+			} );
+		},
+		function () {
+			return ($('#test1').length == 1 && $('#test2').length == 1);
+		}
+	);
+	
+	oTest.fnTest( 
+		"Two elements with an id and one with a class",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sDom": '<"#test1"lf>rti<"#test2.classTest"lf>'
+			} );
+		},
+		function () {
+			return ($('#test1').length == 1 && $('#test2').length == 1 && $('div.classTest').length == 1);
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sPaginationType.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sPaginationType.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/1_dom/sPaginationType.js	(revision 6286)
@@ -0,0 +1,122 @@
+// DATA_TEMPLATE: dom_data
+oTest.fnStart( "sPaginationType" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable();
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Check two button paging is the default",
+		null,
+		function () { return oSettings.sPaginationType == "two_button"; }
+	);
+	
+	oTest.fnTest( 
+		"Check class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_two_button'); }
+	);
+	
+	oTest.fnTest( 
+		"Two div elements are in the wrapper",
+		null,
+		function () { return $('#example_paginate div').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"We have the previous button",
+		null,
+		function () { return document.getElementById('example_previous'); }
+	);
+	
+	oTest.fnTest( 
+		"We have the next button",
+		null,
+		function () { return document.getElementById('example_next'); }
+	);
+	
+	oTest.fnTest( 
+		"Previous button is disabled",
+		null,
+		function () { return $('#example_previous').hasClass('paginate_disabled_previous'); }
+	);
+	
+	oTest.fnTest( 
+		"Next button is enabled",
+		null,
+		function () { return $('#example_next').hasClass('paginate_enabled_next'); }
+	);
+	
+	/* Don't test paging - that's done by the zero config test script. */
+	
+	
+	/* Two buttons paging */
+	oTest.fnTest( 
+		"Can enabled full numbers paging",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sPaginationType": "full_numbers"
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.sPaginationType == "full_numbers"; }
+	);
+	
+	oTest.fnTest( 
+		"Check full numbers class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_full_numbers'); }
+	);
+	
+	
+	var nFirst, nPrevious, nNext, nLast;
+	oTest.fnTest( 
+		"Jump to last page",
+		function () {
+			nFirst = $('div.dataTables_paginate span.first');
+			nPrevious = $('div.dataTables_paginate span.previous');
+			nNext = $('div.dataTables_paginate span.next');
+			nLast = $('div.dataTables_paginate span.last');
+			nLast.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries";
+		}
+	);
+	
+	oTest.fnTest( 
+		"Go to two pages previous",
+		function () {
+			nPrevious.click();
+			nPrevious.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 31 to 40 of 57 entries";
+		}
+	);
+	
+	oTest.fnTest( 
+		"Next (second last) page",
+		function () {
+			nNext.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 41 to 50 of 57 entries";
+		}
+	);
+	
+	oTest.fnTest( 
+		"Jump to first page",
+		function () {
+			nFirst.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries";
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/_zero_config.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/_zero_config.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/_zero_config.js	(revision 6286)
@@ -0,0 +1,440 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "Sanity checks for DataTables with data from JS" );
+
+oTest.fnTest( 
+	"jQuery.dataTable function",
+	null,
+	function () { return typeof jQuery().dataTable == "function"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableSettings storage array",
+	null,
+	function () { return typeof jQuery().dataTableSettings == "object"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableExt plugin object",
+	null,
+	function () { return typeof jQuery().dataTableExt == "object"; }
+);
+
+$(document).ready( function () {
+	var oInit = {
+		"aaData": gaaData
+	};
+	$('#example').dataTable( oInit );
+	
+	/* Basic checks */
+	oTest.fnTest( 
+		"Length changing div exists",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Filtering div exists",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Information div exists",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Pagination div exists",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is off by default",
+		null,
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnTest( 
+		"10 rows shown on the first page",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Initial sort occured",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	/* Need to use the WaitTest for sorting due to the setTimeout datatables uses */
+	oTest.fnTest( 
+		"Sorting (first click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (third click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (first click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column (first click)",
+		function () { 
+			$('#example thead th:eq(0)').click();
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () { var b = 
+			$('#example tbody td:eq(0)').html() == "Gecko" && 
+			$('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - sorting second column only",
+		function () { 
+			$('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Basic paging */
+	oTest.fnTest( 
+		"Paging to second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "IE Mobile"; }
+	);
+	
+	oTest.fnTest( 
+		"Paging to first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Attempting to page back beyond the first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Changing length */
+	oTest.fnTest( 
+		"Changing table length to 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 50 records",
+		function () { $("select[name=example_length]").val('50').change(); },
+		function () { return $('#example tbody tr').length == 50; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 100 records",
+		function () { $("select[name=example_length]").val('100').change(); },
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 10 records",
+		function () { $("select[name=example_length]").val('10').change(); },
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	/*
+	 * Information element
+	 */
+	oTest.fnTest(
+		"Information on zero config",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on third page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back on first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 25 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records - second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 26 to 50 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 100 records - first page",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('100').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back to 10 records",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('10').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 31 to 31 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' back to first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - second time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter increased to 'Win 98'",
+		function () { $('#example_filter input').val("Win 98").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter decreased to 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - third time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter removed",
+		function () { $('#example_filter input').val("").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	/*
+	 * Filtering
+	 */
+	oTest.fnTest(
+		"Filter 'W' - rows",
+		function () { 
+			/* Reset the table such that the old sorting doesn't mess things up */
+			oSession.fnRestore();
+			$('#example').dataTable( oInit );
+			$('#example_filter input').val("W").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'W' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 42 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Wi'",
+		function () { $('#example_filter input').val("Wi").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 32 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "AOL browser (AOL desktop)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 reverse",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - maintaing reverse sorting col 1",
+		function () { $('#example_filter input').val("Win XP").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3 - reversed",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting col 3 - reversed info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 6 of 6 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere'",
+		function () { $('#example_filter input').val("nothinghere").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 
+			"No matching records found"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter back to blank and 1st column sorting",
+		function () {
+			$('#example_filter input').val("").keyup();
+			$('#example thead th:eq(0)').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry",
+		function () {
+			$('#example_filter input').val("Win").keyup();
+			$('#example_filter input').val("GeckoWin").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry with space",
+		function () {
+			$('#example_filter input').val("Gecko Win").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 17 entries (filtered from 57 total entries)"; }
+	);
+	
+	
+	
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aaSorting.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aaSorting.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aaSorting.js	(revision 6286)
@@ -0,0 +1,198 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aaSorting" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default sorting is single column",
+		null,
+		function () {
+			return oSettings.aaSorting.length == 1 && typeof oSettings.aaSorting[0] == 'object';
+		}
+	);
+	
+	oTest.fnTest( 
+		"Default sorting is first column asc",
+		null,
+		function () {
+			return oSettings.aaSorting[0].length == 3 && oSettings.aaSorting[0][0] == 0 &&
+				oSettings.aaSorting[0][1] == 'asc';
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting is applied",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single string column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single string column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single int column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Custom sorting on single int column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','asc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','desc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "iPod Touch / iPhone"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','desc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Safari 3.0"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','asc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string asc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','asc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1.9"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','desc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "125.5"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (2 column) - string desc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','desc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column sorting (3 column) - string asc / int asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSorting": [['0','asc'], ['3','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(7) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aaSortingFixed.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aaSortingFixed.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aaSortingFixed.js	(revision 6286)
@@ -0,0 +1,64 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aaSortingFixed" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"No fixed sorting by default",
+		null,
+		function () {
+			return oSettings.aaSortingFixed == null;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSortingFixed": [['0','asc']]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aaSortingFixed": [['3','asc']]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "PSP browser"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bSearchable.js	(revision 6286)
@@ -0,0 +1,71 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.bSeachable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Columns are searchable by default",
+		function () { oTable.fnFilter("Camino"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html().match(/Camino/); }
+	);
+	
+	oTest.fnTest( 
+		"Disabling sorting on a column removes it from the global filter",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "bSearchable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("Camino");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnTest( 
+		"Disabled on one column has no effect on other columns",
+		function () { oTable.fnFilter("Webkit"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Webkit"; }
+	);
+	
+	oTest.fnTest( 
+		"Disable filtering on multiple columns",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					{ "bSearchable": false },
+					{ "bSearchable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("Webkit");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnTest( 
+		"Filter on second disabled column",
+		function () { oTable.fnFilter("Camino"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bSortable.js	(revision 6286)
@@ -0,0 +1,109 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.bSortable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"All columns are sortable by default",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Can disable sorting from one column",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Disabled column has no sorting class",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; }
+	);
+	
+	oTest.fnTest( 
+		"Other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
+	);
+	
+	oTest.fnTest( 
+		"Disable sorting on multiple columns - no sorting classes",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					{ "bSortable": false },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example thead th:eq(1)').hasClass("sorting") ||
+				$('#example thead th:eq(3)').hasClass("sorting")
+			return bReturn == false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting on disabled column 1 has no effect",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Second sort on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Even with multiple disabled sorting columns other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bUseRendered.js	(revision 6286)
@@ -0,0 +1,148 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.bUseRendered" );
+
+/* bUseRendered is used to alter sorting data, if false then the original data is used for
+ * sorting rather than the rendered data
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData,
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				if ( mTmp == 0 ) {
+					mTmp++;
+					return "aaa";
+				} else
+					return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default for bUseRendered is true - rendered data is used for sorting",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
+	);
+	
+	oTest.fnTest( 
+		"When bUseRendered is false, original data is used for sorting",
+		function () {
+			mTmp = 0;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ 
+						"bUseRendered": false,
+						"fnRender": function (a) {
+							if ( mTmp == 0 ) {
+								mTmp++;
+								return "aaa";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					null,
+					null,
+					null
+				]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	
+	oTest.fnTest( 
+		"bUseRendered set to false on one columns and true (default) on two others",
+		function () {
+			mTmp = 0;
+			var mTmp2 = 0;
+			var mTmp3 = 0;
+			
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					{
+						"fnRender": function (a) {
+							if ( mTmp == 0 ) {
+								mTmp++;
+								return "aaa1";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					{ 
+						"bUseRendered": false,
+						"fnRender": function (a) {
+							if ( mTmp2 == 0 ) {
+								mTmp2++;
+								return "aaa2";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					{
+						"fnRender": function (a) {
+							if ( mTmp3 == 0 ) {
+								mTmp3++;
+								return "zzz3";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 2nd column sorting",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 3rd column sorting",
+		function () {
+			$('#example thead th:eq(2)').click();
+			$('#example thead th:eq(2)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 4th column sorting",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
+	);
+	
+	oTest.fnTest( 
+		"Multi-column rendering - 5th column sorting",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.bVisible.js	(revision 6286)
@@ -0,0 +1,110 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.bVisible" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"All columns are visible by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	oTest.fnTest( 
+		"Can hide one column and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"Can hide one column and it removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"Can hide one column and it removes tfoot th column from DOM",
+		null,
+		function () { return $('#example tfoot tr:eq(0) th').length == 4; }
+	);
+	
+	oTest.fnTest( 
+		"The correct tbody column has been hidden",
+		function () {
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
+		},
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "Gnome" &&
+				jqNodes[2].innerHTML == "1.8" &&
+				jqNodes[3].innerHTML == "A";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Can hide multiple columns and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					{ "bVisible": false },
+					null,
+					{ "bVisible": false }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"Multiple hide - removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"Multiple hide - removes tfoot th column from DOM",
+		null,
+		function () { return $('#example tfoot tr:eq(0) th').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"Multiple hide - the correct tbody columns have been hidden",
+		function () {
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
+		},
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "1"
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.fnRender.js	(revision 6286)
@@ -0,0 +1,182 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.fnRender" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData,
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				mTmp++;
+				return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Single column - fnRender is called once for each row",
+		null,
+		function () { return mTmp == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Confirm that fnRender passes one argument (an object) with three parameters",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( arguments.length != 1 || typeof a.iDataRow=='undefined' ||
+						 	typeof a.iDataColumn=='undefined' || typeof a.aData=='undefined' )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"fnRender iDataColumn is row number",
+		function () {
+			var iCount = 0;
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( iCount != a.iDataRow )
+						{
+							mTmp = false;
+						}
+						iCount++;
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"fnRender iDataColumn is the column",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.iDataColumn != 1 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"fnRender aData is data array of correct size",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.aData.length != 5 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest';
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'unittest'; }
+	);
+	
+	oTest.fnTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest1';
+					} },
+					{ "fnRender": function (a) {
+						return 'unittest2';
+					} },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(0) td:eq(2)').html() == 'unittest1' &&
+				$('#example tbody tr:eq(0) td:eq(3)').html() == 'unittest2';
+			return bReturn; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.iDataSort.js	(revision 6286)
@@ -0,0 +1,90 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.iDataSort" );
+
+$(document).ready( function () {
+	/* Should know that sorting already works by default from other tests, so we can jump
+	 * right in here
+	 */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData,
+		"aoColumns": [
+			null,
+			{ "iDataSort": 4 },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Sorting on first column is uneffected",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on second column is the order of the fifth",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnTest( 
+		"Reserve sorting on second column uses fifth column as well",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting on 5th column retains it's own sorting",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Use 2nd col for sorting 5th col and via-versa - no effect on first col sorting",
+		function () {
+			mTmp = 0;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "iDataSort": 4 },
+					null,
+					null,
+					{ "iDataSort": 1 }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnTest( 
+		"2nd col sorting uses fifth col",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnTest( 
+		"2nd col sorting uses fifth col - reversed",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnTest( 
+		"5th col sorting uses 2nd col",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	oTest.fnTest( 
+		"5th col sorting uses 2nd col - reversed",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1'; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sClass.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sClass.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sClass.js	(revision 6286)
@@ -0,0 +1,115 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.sClass" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"By default the test class hasn't been applied to the column (sanity!)",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(2)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					null,
+					{ "sClass": 'unittest' },
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - third row",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - last row",
+		null,
+		function () { return $('#example tbody tr:eq(9) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to other columns - 1st",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to other columns - 5th",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - seventh row - second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody tr:eq(6) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to header",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Add a class to a single column - has not applied to footer",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Class defined for multiple columns - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					{ "sClass": 'unittest2' },
+					null,
+					null,
+					{ "sClass": 'unittest1' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest2') &&
+				$('#example tbody tr:eq(8) td:eq(3)').hasClass('unittest1');
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 1",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').hasClass('unittest1') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 2",
+		null,
+		function () { return $('#example tbody tr:eq(6) td:eq(4)').hasClass('unittest2') == false; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sName.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sName.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sName.js	(revision 6286)
@@ -0,0 +1,28 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.sName" );
+
+/* This has no effect at all in DOM methods - so we just check that it has applied the name */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData,
+		"aoColumns": [
+			null,
+			null,
+			null,
+			{ "sName": 'unit test' },
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Names are stored in the columns object",
+		null,
+		function () { return oSettings.aoColumns[3].sName =="unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sTitle.js	(revision 6286)
@@ -0,0 +1,82 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.sTitle" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"If not given, then the columns titles are empty",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Browser" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Can set a single column title - and others are read from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test' },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Can set multiple column titles",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test 1' },
+					null,
+					null,
+					{ "sTitle": 'unit test 2' }
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test 1" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "unit test 2";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoColumns.sWidth.js	(revision 6286)
@@ -0,0 +1,87 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoColumns.sWidth" );
+
+/* NOTE - we need to disable the auto width for the majority of these test in order to preform 
+ * these tests as the auto width will convert the width to a px value. We can do 'non-exact' tests
+ * with auto width enabled however to ensure it scales columns as required
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData,
+		"bAutoWidth": false,
+		"aoColumns": [
+			null,
+			{ "sWidth": '40%' },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"With auto width disabled the width for one column is appled",
+		null,
+		function () { return $('#example thead th:eq(1)')[0].style.width == "40%"; }
+	);
+	
+	oTest.fnTest( 
+		"With auto width disabled the width for one column is appled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"bAutoWidth": false,
+				"aoColumns": [
+					null,
+					null,
+					{ "sWidth": '20%' },
+					{ "sWidth": '30%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn =
+				$('#example thead th:eq(2)')[0].style.width == "20%" &&
+				$('#example thead th:eq(3)')[0].style.width == "30%";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"With auto width, it will make the smallest column the largest with percentage width given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoColumns": [
+					null,
+					null,
+					null,
+					{ "sWidth": '40%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			
+			if ( a3>a0 && a3>a1 && a3>a2 && a3>a4 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoSearchCols.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoSearchCols.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/aoSearchCols.js	(revision 6286)
@@ -0,0 +1,119 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "aoSearchCols" );
+
+/* We could be here forever testing this one, so we test a limited subset on a couple of colums */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default should be to have a empty colums array",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.aoPreSearchCols[0].sSearch == 0 && !oSettings.aoPreSearchCols[0].bRegex &&
+				oSettings.aoPreSearchCols[1].sSearch == 0 && !oSettings.aoPreSearchCols[1].bRegex &&
+				oSettings.aoPreSearchCols[2].sSearch == 0 && !oSettings.aoPreSearchCols[2].bRegex &&
+				oSettings.aoPreSearchCols[3].sSearch == 0 && !oSettings.aoPreSearchCols[3].bRegex &&
+				oSettings.aoPreSearchCols[4].sSearch == 0 && !oSettings.aoPreSearchCols[4].bRegex;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Search on a single column - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example_info').html() == "Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on two columns - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1.5" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1.5"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on single column - escape regex false",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					null,
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example_info').html() == "Showing 1 to 3 of 3 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on two columns - escape regex false on first, true on second",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					{ "sSearch": "3.3", "bEscapeRegex": true },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Konqureror 3.3"; }
+	);
+	
+	oTest.fnTest( 
+		"Search on two columns (no records) - escape regex false on first, true on second",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					{ "sSearch": "Allan", "bEscapeRegex": true },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/asStripClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/asStripClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/asStripClasses.js	(revision 6286)
@@ -0,0 +1,100 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "asStripClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Default row striping is applied",
+		null,
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Row striping on the second page",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	/* No striping */
+	oTest.fnTest( 
+		"No row striping",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"asStripClasses": []
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)')[0].className == "" &&
+			       $('#example tbody tr:eq(1)')[0].className == "" &&
+			       $('#example tbody tr:eq(2)')[0].className == "" &&
+			       $('#example tbody tr:eq(3)')[0].className == "";
+		}
+	);
+	
+	/* Custom striping */
+	oTest.fnTest( 
+		"Custom striping [2]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"asStripClasses": [ 'test1', 'test2' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test1') &&
+			       $('#example tbody tr:eq(3)').hasClass('test2');
+		}
+	);
+	
+	
+	/* long array of striping */
+	oTest.fnTest( 
+		"Custom striping [4]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"asStripClasses": [ 'test1', 'test2', 'test3', 'test4' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Custom striping is restarted on second page [2]",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bAutoWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bAutoWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bAutoWidth.js	(revision 6286)
@@ -0,0 +1,142 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bAutoWidth" );
+
+/* It's actually a little tricky to test this. We can't test absolute numbers because
+ * different browsers and different platforms will render the width of the columns slightly
+ * differently. However, we certainly can test the principle of what should happen (column 
+ * width doesn't change over pages)
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Auto width is enabled by default",
+		null,
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	oTest.fnTest( 
+		"First column has a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style').match(/width/i); }
+	);
+	
+	/*
+	This would seem like a better test - but there appear to be difficulties with tables
+	which are bigger (calculated) than there is actually room for. I suspect this is actually
+	a bug in datatables
+	oTest.fnTest( 
+		"Check column widths on first page match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			console.log( a0, b0, a1, b1, a2, b2, a3, b3 );
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check column widths on second page match thid page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	*/
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Auto width can be disabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"bAutoWidth": false
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth == false; }
+	);
+	
+	oTest.fnTest( 
+		"First column does not have a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style') == null; }
+	);
+	
+	/*
+	oTest.fnTest( 
+		"Check column widths on first page do not match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return false;
+			else
+				return true;
+		}
+	);
+	*/
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Auto width enabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"bAutoWidth": true
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bFilter.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bFilter.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bFilter.js	(revision 6286)
@@ -0,0 +1,44 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bFilter" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Filtering div exists by default",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Fltering can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bFilter": false
+			} );
+		},
+		function () { return document.getElementById('example_filter') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Filtering enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bFilter": true
+			} );
+		},
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bInfo.js	(revision 6286)
@@ -0,0 +1,44 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Info div exists by default",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Info can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bInfo": false
+			} );
+		},
+		function () { return document.getElementById('example_info') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Info enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bInfo": true
+			} );
+		},
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bLengthChange.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bLengthChange.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bLengthChange.js	(revision 6286)
@@ -0,0 +1,75 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bLengthChange" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Length div exists by default",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnTest(
+		"Four default options",
+		null,
+		function () { return $("select[name=example_length] option").length == 4; }
+	);
+	
+	oTest.fnTest(
+		"Default options",
+		null,
+		function () {
+			var opts = $("select[name='example_length'] option");
+			return opts[0].getAttribute('value') == 10 && opts[1].getAttribute('value') == 25 &&
+				opts[2].getAttribute('value') == 50 && opts[3].getAttribute('value') == 100;
+		}
+	);
+	
+	oTest.fnTest(
+		"Info takes length into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Change length can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bLengthChange": false
+			} );
+		},
+		function () { return document.getElementById('example_length') == null; }
+	);
+	
+	oTest.fnTest(
+		"Information takes length disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Length change enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bLengthChange": true
+			} );
+		},
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bPaginate.js	(revision 6286)
@@ -0,0 +1,59 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bPaginate" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Pagiantion div exists by default",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnTest(
+		"Information div takes paging into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bPaginate": false
+			} );
+		},
+		function () { return document.getElementById('example_paginate') == null; }
+	);
+	
+	oTest.fnTest(
+		"Information div takes paging disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 57 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Pagiantion enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bPaginate": true
+			} );
+		},
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bProcessing.js	(revision 6286)
@@ -0,0 +1,103 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bProcessing" );
+
+/* It's actually a bit hard to set this one due to the fact that it will only be shown
+ * when DataTables is doing some kind of processing. The server-side processing is a bit
+ * better to test this than here - so we just the interal functions to enable it and check
+ * that it is available
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Processing is off by default",
+		null,
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div cannot be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div cannot be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Processing can be enabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"bProcessing": true
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == true; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing'); }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is hidden by default",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div can be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "visible"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div can be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Processing disabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"bProcessing": false
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bServerSide.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bServerSide.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bServerSide.js	(revision 6286)
@@ -0,0 +1,20 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bServerSide" );
+
+/* Not interested in server-side processing here other than to check that it is off */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Server side is off by default",
+		null,
+		function () { return oSettings.oFeatures.bServerSide == false; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bSort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bSort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bSort.js	(revision 6286)
@@ -0,0 +1,99 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bSort" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Sorting is on by default",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting Asc by default class applied",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnTest(
+		"Click on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting class removed from first column",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting asc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnTest(
+		"Reverse on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting acs class removed from second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting desc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_desc"); }
+	);
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bSort": false
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Click on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Reverse on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Sorting enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bSort": true
+			} );
+		},
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bSortClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bSortClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/bSortClasses.js	(revision 6286)
@@ -0,0 +1,132 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "bSortClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Sorting classes are applied by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes are applied to all required cells",
+		null,
+		function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes are not applied to non-sorting columns",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - add column 1",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - add column 2",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - add column 3",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnTest( 
+		"Remove sorting classes on single column sort",
+		function () { 
+			$('#example thead th:eq(4)').click();
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting class 1 was added",
+		null,
+		function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnTest( 
+		"Sorting classes can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bSortClasses": false
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes disabled - add column 1 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Sorting classes disabled - add column 2 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	
+	/* Enable makes no difference */
+	oTest.fnTest( 
+		"Sorting classes enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"bSortClasses": true
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnDrawCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnDrawCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnDrawCallback.js	(revision 6286)
@@ -0,0 +1,85 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "fnDrawCallback" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnDrawCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"One argument passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnDrawCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"fnDrawCallback": function ( oSettings ) {
+					mPass = oSettings;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnDrawCallback": function ( ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback called once on each draw there after as well",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass == 4; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnFooterCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnFooterCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnFooterCallback.js	(revision 6286)
@@ -0,0 +1,240 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "fnFooterCallback" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnFooterCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Five arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 5; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once per draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback called on paging (i.e. another draw)",
+		function () { $('#example_next').click(); },
+		function () { return mPass == 2; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					nFoot.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
+				}
+			} );
+		},
+		function () { return $('#example tfoot th:eq(0)').html() == "Displaying 10 records"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Data array has length matching original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aasData.length != 57 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data array's column lengths match original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					for ( var i=0, iLen=aasData.length ; i<iLen ; i++ )
+					{
+						if ( aasData[i].length != 5 )
+						{
+							mPass = false;
+						}
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart != 0 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart == 10 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd != 10 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd == 20 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"aiDisplay length is full data when not filtered",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 57 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"aiDisplay length is 9 when filtering on 'Mozilla'",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"fnFooterCallback": function ( nFoot, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 9 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			oTable.fnFilter( "Mozilla" );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnHeaderCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnHeaderCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnHeaderCallback.js	(revision 6286)
@@ -0,0 +1,240 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "fnHeaderCallback" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnHeaderCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Five arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 5; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once per draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback called on paging (i.e. another draw)",
+		function () { $('#example_next').click(); },
+		function () { return mPass == 2; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
+				}
+			} );
+		},
+		function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Data array has length matching original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aasData.length != 57 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data array's column lengths match original data",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					for ( var i=0, iLen=aasData.length ; i<iLen ; i++ )
+					{
+						if ( aasData[i].length != 5 )
+						{
+							mPass = false;
+						}
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart != 0 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iStart correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart == 10 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd != 10 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"iEnd correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd == 20 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			$('#example_next').click();
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"aiDisplay length is full data when not filtered",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 57 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"aiDisplay length is 9 when filtering on 'Mozilla'",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 9 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			oTable.fnFilter( "Mozilla" );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnInitComplete.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnInitComplete.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnInitComplete.js	(revision 6286)
@@ -0,0 +1,83 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "fnInitComplete" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnInitComplete == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"One argument passed (for DOM!)",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnInitComplete": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"fnInitComplete": function ( oSettings ) {
+					mPass = oSettings;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnInitComplete called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnInitComplete": function ( ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnTest( 
+		"fnInitComplete never called there after",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnRowCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnRowCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/fnRowCallback.js	(revision 6286)
@@ -0,0 +1,112 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "fnRowCallback" );
+
+/* Note - fnRowCallback MUST return the first arguments (modified or not) */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnRowCallback == null; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Four arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnRowCallback": function ( nTr ) {
+					mPass = arguments.length;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 4; }
+	);
+	
+	
+	oTest.fnTest( 
+		"fnRowCallback called once for each drawn row",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					mPass++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	oTest.fnTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					$(nTr).addClass('unit_test');
+					return nTr;
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); }
+	);
+	
+	oTest.fnTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( asData.length != 5 )
+						mPass = false;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			var iCount = 0;
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( iCount != iDrawIndex )
+						mPass = false;
+					iCount++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/iDisplayLength.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/iDisplayLength.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/iDisplayLength.js	(revision 6286)
@@ -0,0 +1,81 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "iDisplayLength" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	
+	oTest.fnTest( 
+		"Default length is ten",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 10",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Set initial length to 25",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"iDisplayLength": 25
+			} );
+		},
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 25; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Set initial length to 100",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"iDisplayLength": 100
+			} );
+		},
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 100; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Set initial length to 23 (unknown select menu length)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"iDisplayLength": 23
+			} );
+		},
+		function () { return $('#example tbody tr').length == 23; }
+	);
+	
+	oTest.fnTest( 
+		"Select menu shows 10 (since 23 is unknow)",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.oPaginate.js	(revision 6286)
@@ -0,0 +1,84 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.oPaginate" );
+
+/* Note that the paging language information only has relevence in full numbers */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData,
+		"sPaginationType": "full_numbers"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate defaults",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "First" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "Previous" &&
+				oSettings.oLanguage.oPaginate.sNext == "Next" &&
+				oSettings.oLanguage.oPaginate.sLast == "Last";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate defaults are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "First" &&
+				$('#example_paginate .previous').html() == "Previous" &&
+				$('#example_paginate .next').html() == "Next" &&
+				$('#example_paginate .last').html() == "Last";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"sPaginationType": "full_numbers",
+				"oLanguage": {
+					"oPaginate": {
+						"sFirst":    "unit1",
+						"sPrevious": "test2",
+						"sNext":     "unit3",
+						"sLast":     "test4"
+					}
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "unit1" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "test2" &&
+				oSettings.oLanguage.oPaginate.sNext == "unit3" &&
+				oSettings.oLanguage.oPaginate.sLast == "test4";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate definitions are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "unit1" &&
+				$('#example_paginate .previous').html() == "test2" &&
+				$('#example_paginate .next').html() == "unit3" &&
+				$('#example_paginate .last').html() == "test4";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfo.js	(revision 6286)
@@ -0,0 +1,117 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Info language is 'Showing _START_ to _END_ of _TOTAL_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sInfo == "Showing _START_ to _END_ of _TOTAL_ entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Info language can be defined - without any macros",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfo": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfo == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macro _START_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfo": "unit _START_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macro _END_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 10 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macro _TOTAL_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 57 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macros _START_ and _END_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language can be defined - with macros _START_, _END_ and _TOTAL_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 57 test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoEmpty.js	(revision 6286)
@@ -0,0 +1,79 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sInfoEmpty" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Info empty language is 'Showing 0 to 0 of 0 entries' by default",
+		function () { oTable.fnFilter("nothinghere"); },
+		function () { return oSettings.oLanguage.sInfoEmpty == "Showing 0 to 0 of 0 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"Showing 0 to 0 of 0 entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Info empty language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfoEmpty": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return oSettings.oLanguage.sInfoEmpty == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Macro's not replaced",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfoEmpty": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit _START_ _END_ _TOTAL_ test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sInfoPostFix.js	(revision 6286)
@@ -0,0 +1,78 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sInfoPostFix" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Info post fix language is '' (blank) by default",
+		null,
+		function () { return oSettings.oLanguage.sInfoPostFix == ""; }
+	);
+	
+	oTest.fnTest( 
+		"Width no post fix, the basic info shows",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Info post fix language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfoPostFix == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit test"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Macros have no effect in the post fix",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfoPostFix": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit _START_ _END_ _TOTAL_ test"; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Post fix is applied after fintering info",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 0 to 0 of 0 entries unit (filtered from 57 total entries) test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sLengthMenu.js	(revision 6286)
@@ -0,0 +1,106 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sLengthMenu" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Menu language is 'Show _MENU_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sLengthMenu == "Show _MENU_ entries"; }
+	);
+	
+	oTest.fnTest(
+		"_MENU_ macro is replaced by select menu in DOM",
+		null,
+		function () { return $('select', oSettings.aanFeatures.l[0]).length == 1 }
+	);
+	
+	oTest.fnTest(
+		"Default is put into DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "Show " &&
+				anChildren[2].nodeValue == " entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Menu length language can be defined - no _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sLengthMenu": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sLengthMenu == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Menu length language definition is in the DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			return anChildren[0].nodeValue == "unit test";
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Menu length language can be defined - with _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sLengthMenu": "unit _MENU_ test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "unit " &&
+				anChildren[2].nodeValue == " test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnTest( 
+		"Only the _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sLengthMenu": "_MENU_"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren.length == 1 &&
+				$('select', oSettings.aanFeatures.l[0]).length == 1;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sProcessing.js	(revision 6286)
@@ -0,0 +1,49 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sProcessing" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData,
+		"bProcessing": true
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Processing language is 'Processing...' by default",
+		null,
+		function () { return oSettings.oLanguage.sProcessing == "Processing..."; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "Processing..."; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Processing language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"bProcessing": true,
+				"oLanguage": {
+					"sProcessing": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sProcessing == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sSearch.js	(revision 6286)
@@ -0,0 +1,65 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sSearch" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Search language is 'Search:' by default",
+		null,
+		function () { return oSettings.oLanguage.sSearch == "Search:"; }
+	);
+	
+	oTest.fnTest( 
+		"Search language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "Search: "; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Search language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sSearch": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sSearch == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "unit test "; }
+	);
+	
+	
+	oTest.fnTest( 
+		"Blank search has a no (separator) inserted",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sSearch": ""
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return document.getElementById('example_filter').childNodes.length == 1; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sUrl.js	(revision 6286)
@@ -0,0 +1,62 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sUrl" );
+
+/* Note that we only test the internal storage of language information pulled form a file here
+ * as the other language tests will check it goes into the DOM correctly
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"sUrl is blank by default",
+		null,
+		function () { return oSettings.oLanguage.sUrl == ""; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Loading of German file loads language information",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sUrl": "../../../examples/examples_support/de_DE.txt"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.sProcessing == "Bitte warten..." &&
+				oSettings.oLanguage.sLengthMenu == "_MENU_ EintrÃ€ge anzeigen" &&
+				oSettings.oLanguage.sZeroRecords == "Keine EintrÃ€ge vorhanden." &&
+				oSettings.oLanguage.sInfo == "_START_ bis _END_ von _TOTAL_ EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoEmpty == "0 bis 0 von 0 EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoFiltered == "(gefiltert von _MAX_  EintrÃ€gen)" &&
+				oSettings.oLanguage.sInfoPostFix == "" &&
+				oSettings.oLanguage.sSearch == "Suchen" &&
+				oSettings.oLanguage.oPaginate.sFirst == "Erster" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "ZurÃŒck" &&
+				oSettings.oLanguage.oPaginate.sNext == "NÃ€chster" &&
+				oSettings.oLanguage.oPaginate.sLast == "Letzter";
+				
+			return bReturn;
+		}
+	);
+	
+	/* One DOM check just to ensure that they go into the DOM */
+	oTest.fnTest(
+		"Loaded language goes into the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "1 bis 10 von 57 EintrÃ€gen"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oLanguage.sZeroRecords.js	(revision 6286)
@@ -0,0 +1,48 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oLanguage.sZeroRecords" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Zero records language is 'No matching records found' by default",
+		null,
+		function () { return oSettings.oLanguage.sZeroRecords == "No matching records found"; }
+	);
+	
+	oTest.fnTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere'); },
+		function () { return $('#example tbody tr td')[0].innerHTML == "No matching records found" }
+	);
+	
+	
+	
+	oTest.fnTest( 
+		"Zero records language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oLanguage": {
+					"sZeroRecords": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sZeroRecords == "unit test"; }
+	);
+	
+	oTest.fnTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere2'); },
+		function () { return $('#example tbody tr td')[0].innerHTML == "unit test" }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/oSearch.js	(revision 6286)
@@ -0,0 +1,108 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "oSearch" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default values should be blank",
+		null,
+		function () {
+			var bReturn = oSettings.oPreviousSearch.sSearch == "" && 
+			              !oSettings.oPreviousSearch.bRegex;
+			return bReturn;
+		}
+	);
+	
+	/* This test might be considered iffy since the full object isn't given, but it's reasonable to
+	 * expect DataTables to cope with this. It should just assumine regex false
+	 */
+	oTest.fnTest( 
+		"Search term only in object",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"oSearch": {
+					"sSearch": "Mozilla"
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest( 
+		"New search will kill old one",
+		function () {
+			oTable.fnFilter("Opera");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Presto"; }
+	);
+	
+	oTest.fnTest( 
+		"Search plain text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oSearch": {
+					"sSearch": "DS",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Nintendo DS browser"; }
+	);
+	
+	oTest.fnTest( 
+		"Search plain text term and escape regex false",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oSearch": {
+					"sSearch": "Opera",
+					"bRegex": true
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Presto"; }
+	);
+	
+	oTest.fnTest( 
+		"Search regex text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oSearch": {
+					"sSearch": "1.*",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnTest( 
+		"Search regex text term and escape regex false",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"oSearch": {
+					"sSearch": "1.*",
+					"bRegex": true
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sAjaxSource.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sAjaxSource.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sAjaxSource.js	(revision 6286)
@@ -0,0 +1,20 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "sAjaxSource" );
+
+/* Not interested in ajax source here other than to check it's default */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Server side is off by default",
+		null,
+		function () { return oSettings.sAjaxSource == null; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sDom.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sDom.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sDom.js	(revision 6286)
@@ -0,0 +1,262 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "sDom" );
+
+/* This is going to be brutal on the browser! There is a lot that can be tested here... */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Default DOM varaible",
+		null,
+		function () { return oSettings.sDom == "lfrtip"; }
+	);
+	
+	oTest.fnTest( 
+		"Default DOM in document",
+		null,
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check example 1 in code propagates",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"sDom": '<"wrapper"flipt>'
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.sDom == '<"wrapper"flipt>'; }
+	);
+	
+	oTest.fnTest( 
+		"Check example 1 in DOM",
+		null,
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			var nCustomWrapper = $('div.wrapper')[0];
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrapper &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nLength &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging &&
+				nNodes[6] == nTable;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check example 2 in DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"sDom": '<lf<t>ip>'
+			} );
+		},
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			var nCustomWrappers = []
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+				
+				/* Only the two custom divs don't have class names */
+				if ( !jqNodes[i].getAttribute('class') )
+				{
+					nCustomWrappers.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrappers[0] &&
+				nNodes[2] == nLength &&
+				nNodes[3] == nFilter &&
+				nNodes[4] == nCustomWrappers[1] &&
+				nNodes[5] == nTable &&
+				nNodes[6] == nInfo &&
+				nNodes[7] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check no length element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"sDom": 'frtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				null == nLength &&
+				nNodes[1] == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check no filter element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"sDom": 'lrtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				null == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	/* Note we don't test for no table as this is not supported (and it would be fairly daft! */
+	
+	oTest.fnTest( 
+		"Check no info element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"sDom": 'lfrtp'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				null == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"Check no paging element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"aaData": gaaData,
+				"sDom": 'lfrti'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				null == nPaging;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sPaginationType.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sPaginationType.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/2_js/sPaginationType.js	(revision 6286)
@@ -0,0 +1,125 @@
+// DATA_TEMPLATE: js_data
+oTest.fnStart( "sPaginationType" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"aaData": gaaData
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"Check two button paging is the default",
+		null,
+		function () { return oSettings.sPaginationType == "two_button"; }
+	);
+	
+	oTest.fnTest( 
+		"Check class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_two_button'); }
+	);
+	
+	oTest.fnTest( 
+		"Two div elements are in the wrapper",
+		null,
+		function () { return $('#example_paginate div').length == 2; }
+	);
+	
+	oTest.fnTest( 
+		"We have the previous button",
+		null,
+		function () { return document.getElementById('example_previous'); }
+	);
+	
+	oTest.fnTest( 
+		"We have the next button",
+		null,
+		function () { return document.getElementById('example_next'); }
+	);
+	
+	oTest.fnTest( 
+		"Previous button is disabled",
+		null,
+		function () { return $('#example_previous').hasClass('paginate_disabled_previous'); }
+	);
+	
+	oTest.fnTest( 
+		"Next button is enabled",
+		null,
+		function () { return $('#example_next').hasClass('paginate_enabled_next'); }
+	);
+	
+	/* Don't test paging - that's done by the zero config test script. */
+	
+	
+	/* Two buttons paging */
+	oTest.fnTest( 
+		"Can enabled full numbers paging",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"aaData": gaaData,
+				"sPaginationType": "full_numbers"
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.sPaginationType == "full_numbers"; }
+	);
+	
+	oTest.fnTest( 
+		"Check full numbers class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_full_numbers'); }
+	);
+	
+	
+	var nFirst, nPrevious, nNext, nLast;
+	oTest.fnTest( 
+		"Jump to last page",
+		function () {
+			nFirst = $('div.dataTables_paginate span.first');
+			nPrevious = $('div.dataTables_paginate span.previous');
+			nNext = $('div.dataTables_paginate span.next');
+			nLast = $('div.dataTables_paginate span.last');
+			nLast.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries";
+		}
+	);
+	
+	oTest.fnTest( 
+		"Go to two pages previous",
+		function () {
+			nPrevious.click();
+			nPrevious.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 31 to 40 of 57 entries";
+		}
+	);
+	
+	oTest.fnTest( 
+		"Next (second last) page",
+		function () {
+			nNext.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 41 to 50 of 57 entries";
+		}
+	);
+	
+	oTest.fnTest( 
+		"Jump to first page",
+		function () {
+			nFirst.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries";
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/_zero_config.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/_zero_config.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/_zero_config.js	(revision 6286)
@@ -0,0 +1,440 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "Sanity checks for DataTables with data from JS" );
+
+oTest.fnTest( 
+	"jQuery.dataTable function",
+	null,
+	function () { return typeof jQuery().dataTable == "function"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableSettings storage array",
+	null,
+	function () { return typeof jQuery().dataTableSettings == "object"; }
+);
+
+oTest.fnTest(
+	"jQuery.dataTableExt plugin object",
+	null,
+	function () { return typeof jQuery().dataTableExt == "object"; }
+);
+
+$(document).ready( function () {
+	var oInit = {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	};
+	$('#example').dataTable( oInit );
+	
+	/* Basic checks */
+	oTest.fnWaitTest( 
+		"Length changing div exists",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Filtering div exists",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Information div exists",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Pagination div exists",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnTest( 
+		"Processing div is off by default",
+		null,
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"10 rows shown on the first page",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Initial sort occured",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	/* Need to use the WaitTest for sorting due to the setTimeout datatables uses */
+	oTest.fnTest( 
+		"Sorting (first click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (third click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (first click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting (second click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column (first click)",
+		function () { 
+			$('#example thead th:eq(0)').click();
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () { var b = 
+			$('#example tbody td:eq(0)').html() == "Gecko" && 
+			$('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; }
+	);
+	
+	oTest.fnTest( 
+		"Sorting multi-column - sorting second column only",
+		function () { 
+			$('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Basic paging */
+	oTest.fnTest( 
+		"Paging to second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "IE Mobile"; }
+	);
+	
+	oTest.fnTest( 
+		"Paging to first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnTest( 
+		"Attempting to page back beyond the first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	/* Changing length */
+	oTest.fnTest( 
+		"Changing table length to 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 50 records",
+		function () { $("select[name=example_length]").val('50').change(); },
+		function () { return $('#example tbody tr').length == 50; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 100 records",
+		function () { $("select[name=example_length]").val('100').change(); },
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnTest( 
+		"Changing table length to 10 records",
+		function () { $("select[name=example_length]").val('10').change(); },
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	/*
+	 * Information element
+	 */
+	oTest.fnTest(
+		"Information on zero config",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on third page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information on last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back on first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 25 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 25 records - second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 26 to 50 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with 100 records - first page",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('100').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information back to 10 records",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('10').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 31 to 31 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' back to first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - second time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter increased to 'Win 98'",
+		function () { $('#example_filter input').val("Win 98").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter decreased to 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter 'Win' second page - third time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Information with filter removed",
+		function () { $('#example_filter input').val("").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	/*
+	 * Filtering
+	 */
+	oTest.fnWaitTest(
+		"Filter 'W' - rows",
+		function () { 
+			/* Reset the table such that the old sorting doesn't mess things up */
+			oSession.fnRestore();
+			$('#example').dataTable( oInit );
+			$('#example_filter input').val("W").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'W' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 42 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Wi'",
+		function () { $('#example_filter input').val("Wi").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 32 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "AOL browser (AOL desktop)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting column 1 reverse",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - maintaing reverse sorting col 1",
+		function () { $('#example_filter input').val("Win XP").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win XP' - sorting col 3 - reversed",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "7"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'Win' - sorting col 3 - reversed info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 6 of 6 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere'",
+		function () { $('#example_filter input').val("nothinghere").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 
+			"No matching records found"; }
+	);
+	
+	oTest.fnTest(
+		"Filter 'nothinghere' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Filter back to blank and 1st column sorting",
+		function () {
+			$('#example_filter input').val("").keyup();
+			$('#example thead th:eq(0)').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry",
+		function () {
+			$('#example_filter input').val("Win").keyup();
+			$('#example_filter input').val("GeckoWin").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest(
+		"Prefixing a filter entry with space",
+		function () {
+			$('#example_filter input').val("Gecko Win").keyup();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 17 entries (filtered from 57 total entries)"; }
+	);
+	
+	
+	
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aaSorting.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aaSorting.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aaSorting.js	(revision 6286)
@@ -0,0 +1,198 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aaSorting" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default sorting is single column",
+		null,
+		function () {
+			return oSettings.aaSorting.length == 1 && typeof oSettings.aaSorting[0] == 'object';
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Default sorting is first column asc",
+		null,
+		function () {
+			return oSettings.aaSorting[0].length == 3 && oSettings.aaSorting[0][0] == 0 &&
+				oSettings.aaSorting[0][1] == 'asc';
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting is applied",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single string column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single string column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single int column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single int column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','asc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','desc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "iPod Touch / iPhone"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','desc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Safari 3.0"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','asc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','asc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1.9"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','desc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "125.5"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','desc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (3 column) - string asc / int asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSorting": [['0','asc'], ['3','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(7) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aaSortingFixed.js	(revision 6286)
@@ -0,0 +1,67 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aaSortingFixed" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"No fixed sorting by default",
+		null,
+		function () {
+			return oSettings.aaSortingFixed == null;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSortingFixed": [['0','asc']],
+				"fnInitComplete": function () {
+					$('#example thead th:eq(1)').click();
+				}
+			} );
+			//
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aaSortingFixed": [['3','asc']]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "PSP browser"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSearchable.js	(revision 6286)
@@ -0,0 +1,76 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bSeachable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Columns are searchable by default",
+		function () { oTable.fnFilter("Camino"); },
+		function () {
+			if ( $('#example tbody tr:eq(0) td:eq(1)')[0] )
+				return $('#example tbody tr:eq(0) td:eq(1)').html().match(/Camino/);
+			else
+				return null;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Disabling sorting on a column removes it from the global filter",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "bSearchable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("Camino");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Disabled on one column has no effect on other columns",
+		function () { oTable.fnFilter("Webkit"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Webkit"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Disable filtering on multiple columns",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					{ "bSearchable": false },
+					{ "bSearchable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("Webkit");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Filter on second disabled column",
+		function () { oTable.fnFilter("Camino"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bSortable.js	(revision 6286)
@@ -0,0 +1,109 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bSortable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"All columns are sortable by default",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Can disable sorting from one column",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Disabled column has no sorting class",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Disable sorting on multiple columns - no sorting classes",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					{ "bSortable": false },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example thead th:eq(1)').hasClass("sorting") ||
+				$('#example thead th:eq(3)').hasClass("sorting")
+			return bReturn == false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting on disabled column 1 has no effect",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() != "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Second sort on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() != "-"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Even with multiple disabled sorting columns other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == "X"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bUseRendered.js	(revision 6286)
@@ -0,0 +1,148 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bUseRendered" );
+
+/* bUseRendered is used to alter sorting data, if false then the original data is used for
+ * sorting rather than the rendered data
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				if ( mTmp == 0 ) {
+					mTmp++;
+					return "aaa";
+				} else
+					return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default for bUseRendered is true - rendered data is used for sorting",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"When bUseRendered is false, original data is used for sorting",
+		function () {
+			mTmp = 0;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ 
+						"bUseRendered": false,
+						"fnRender": function (a) {
+							if ( mTmp == 0 ) {
+								mTmp++;
+								return "aaa";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					null,
+					null,
+					null
+				]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"bUseRendered set to false on one columns and true (default) on two others",
+		function () {
+			mTmp = 0;
+			var mTmp2 = 0;
+			var mTmp3 = 0;
+			
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					{
+						"fnRender": function (a) {
+							if ( mTmp == 0 ) {
+								mTmp++;
+								return "aaa1";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					{ 
+						"bUseRendered": false,
+						"fnRender": function (a) {
+							if ( mTmp2 == 0 ) {
+								mTmp2++;
+								return "aaa2";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					{
+						"fnRender": function (a) {
+							if ( mTmp3 == 0 ) {
+								mTmp3++;
+								return "zzz3";
+							} else {
+								return a.aData[a.iDataColumn];
+							}
+						}
+					},
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column rendering - 2nd column sorting",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column rendering - 3rd column sorting",
+		function () {
+			$('#example thead th:eq(2)').click();
+			$('#example thead th:eq(2)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column rendering - 4th column sorting",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column rendering - 5th column sorting",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.bVisible.js	(revision 6286)
@@ -0,0 +1,124 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bVisible" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"All columns are visible by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Can hide one column and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 4; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Can hide one column and it removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 4; }
+	);
+	
+	oTest.fnWaitTest( 
+		"The correct thead column has been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Platform(s)" &&
+				jqNodes[2].innerHTML == "Engine version" &&
+				jqNodes[3].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"The correct tbody column has been hidden",
+		function () {
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
+		},
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "Gnome" &&
+				jqNodes[2].innerHTML == "1.8" &&
+				jqNodes[3].innerHTML == "A";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Can hide multiple columns and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					{ "bVisible": false },
+					null,
+					{ "bVisible": false }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 2; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multiple hide - removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 2; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multiple hide - the correct thead columns have been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Engine version"
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Multiple hide - the correct tbody columns have been hidden",
+		function () {
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } );
+		},
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "1"
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.fnRender.js	(revision 6286)
@@ -0,0 +1,182 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.fnRender" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				mTmp++;
+				return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Single column - fnRender is called once for each row",
+		null,
+		function () { return mTmp == 57; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Confirm that fnRender passes one argument (an object) with three parameters",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( arguments.length != 1 || typeof a.iDataRow=='undefined' ||
+						 	typeof a.iDataColumn=='undefined' || typeof a.aData=='undefined' )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRender iDataColumn is row number",
+		function () {
+			var iCount = 0;
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( iCount != a.iDataRow )
+						{
+							mTmp = false;
+						}
+						iCount++;
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRender iDataColumn is the column",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.iDataColumn != 1 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRender aData is data array of correct size",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.aData.length != 5 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest';
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'unittest'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest1';
+					} },
+					{ "fnRender": function (a) {
+						return 'unittest2';
+					} },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(0) td:eq(2)').html() == 'unittest1' &&
+				$('#example tbody tr:eq(0) td:eq(3)').html() == 'unittest2';
+			return bReturn; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.iDataSort.js	(revision 6286)
@@ -0,0 +1,90 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.iDataSort" );
+
+$(document).ready( function () {
+	/* Should know that sorting already works by default from other tests, so we can jump
+	 * right in here
+	 */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+		"aoColumns": [
+			null,
+			{ "iDataSort": 4 },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Sorting on first column is uneffected",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting on second column is the order of the fifth",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Reserve sorting on second column uses fifth column as well",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting on 5th column retains it's own sorting",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Use 2nd col for sorting 5th col and via-versa - no effect on first col sorting",
+		function () {
+			mTmp = 0;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "iDataSort": 4 },
+					null,
+					null,
+					{ "iDataSort": 1 }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'Gecko'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"2nd col sorting uses fifth col",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"2nd col sorting uses fifth col - reversed",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'X'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"5th col sorting uses 2nd col",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"5th col sorting uses 2nd col - reversed",
+		function () { $('#example thead th:eq(4)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'Seamonkey 1.1'; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sClass.js	(revision 6286)
@@ -0,0 +1,115 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sClass" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"By default the test class hasn't been applied to the column (sanity!)",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(2)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					null,
+					{ "sClass": 'unittest' },
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - third row",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - last row",
+		null,
+		function () { return $('#example tbody tr:eq(9) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to other columns - 1st",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to other columns - 5th",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - seventh row - second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody tr:eq(6) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to header",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to footer",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Class defined for multiple columns - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					{ "sClass": 'unittest2' },
+					null,
+					null,
+					{ "sClass": 'unittest1' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest2') &&
+				$('#example tbody tr:eq(8) td:eq(3)').hasClass('unittest1');
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 1",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').hasClass('unittest1') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 2",
+		null,
+		function () { return $('#example tbody tr:eq(6) td:eq(4)').hasClass('unittest2') == false; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sName.js	(revision 6286)
@@ -0,0 +1,28 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sName" );
+
+/* This has no effect at all in DOM methods - so we just check that it has applied the name */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+		"aoColumns": [
+			null,
+			null,
+			null,
+			{ "sName": 'unit test' },
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Names are stored in the columns object",
+		null,
+		function () { return oSettings.aoColumns[3].sName =="unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sTitle.js	(revision 6286)
@@ -0,0 +1,82 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sTitle" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"If not given, then the columns titles are empty",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Browser" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Can set a single column title - and others are read from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test' },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Can set multiple column titles",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test 1' },
+					null,
+					null,
+					{ "sTitle": 'unit test 2' }
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test 1" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "unit test 2";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoColumns.sWidth.js	(revision 6286)
@@ -0,0 +1,87 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sWidth" );
+
+/* NOTE - we need to disable the auto width for the majority of these test in order to preform 
+ * these tests as the auto width will convert the width to a px value. We can do 'non-exact' tests
+ * with auto width enabled however to ensure it scales columns as required
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+		"bAutoWidth": false,
+		"aoColumns": [
+			null,
+			{ "sWidth": '40%' },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"With auto width disabled the width for one column is appled",
+		null,
+		function () { return $('#example thead th:eq(1)')[0].style.width == "40%"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"With auto width disabled the width for one column is appled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bAutoWidth": false,
+				"aoColumns": [
+					null,
+					null,
+					{ "sWidth": '20%' },
+					{ "sWidth": '30%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn =
+				$('#example thead th:eq(2)')[0].style.width == "20%" &&
+				$('#example thead th:eq(3)')[0].style.width == "30%";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"With auto width, it will make the smallest column the largest with percentage width given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoColumns": [
+					null,
+					null,
+					null,
+					{ "sWidth": '40%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			
+			if ( a3>a0 && a3>a1 && a3>a2 && a3>a4 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoSearchCols.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoSearchCols.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/aoSearchCols.js	(revision 6286)
@@ -0,0 +1,119 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoSearchCols" );
+
+/* We could be here forever testing this one, so we test a limited subset on a couple of colums */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default should be to have a empty colums array",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.aoPreSearchCols[0].sSearch == 0 && !oSettings.aoPreSearchCols[0].bRegex &&
+				oSettings.aoPreSearchCols[1].sSearch == 0 && !oSettings.aoPreSearchCols[1].bRegex &&
+				oSettings.aoPreSearchCols[2].sSearch == 0 && !oSettings.aoPreSearchCols[2].bRegex &&
+				oSettings.aoPreSearchCols[3].sSearch == 0 && !oSettings.aoPreSearchCols[3].bRegex &&
+				oSettings.aoPreSearchCols[4].sSearch == 0 && !oSettings.aoPreSearchCols[4].bRegex;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Search on a single column - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example_info').html() == "Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search on two columns - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1.5" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1.5"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search on single column - escape regex false",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					null,
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example_info').html() == "Showing 1 to 3 of 3 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search on two columns - escape regex false on first, true on second",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					{ "sSearch": "3.3", "bEscapeRegex": true },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Konqureror 3.3"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search on two columns (no records) - escape regex false on first, true on second",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"aoSearchCols": [
+					{ "sSearch": ".*ML", "bEscapeRegex": false },
+					{ "sSearch": "Allan", "bEscapeRegex": true },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/asStripClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/asStripClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/asStripClasses.js	(revision 6286)
@@ -0,0 +1,105 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "asStripClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Default row striping is applied",
+		null,
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Row striping on the second page",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	/* No striping */
+	oTest.fnWaitTest( 
+		"No row striping",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"asStripClasses": []
+			} );
+		},
+		function () {
+			if ( typeof $('#example tbody tr:eq(1)')[0] == 'undefined' )
+			{
+				/* Use the 'wait for' to allow this to become true */
+				return false;
+			}
+			return $('#example tbody tr:eq(0)')[0].className == "" &&
+			       $('#example tbody tr:eq(1)')[0].className == "" &&
+			       $('#example tbody tr:eq(2)')[0].className == "" &&
+			       $('#example tbody tr:eq(3)')[0].className == "";
+		}
+	);
+	
+	/* Custom striping */
+	oTest.fnWaitTest( 
+		"Custom striping [2]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"asStripClasses": [ 'test1', 'test2' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test1') &&
+			       $('#example tbody tr:eq(3)').hasClass('test2');
+		}
+	);
+	
+	
+	/* long array of striping */
+	oTest.fnWaitTest( 
+		"Custom striping [4]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"asStripClasses": [ 'test1', 'test2', 'test3', 'test4' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Custom striping is restarted on second page [2]",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bAutoWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bAutoWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bAutoWidth.js	(revision 6286)
@@ -0,0 +1,142 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bAutoWidth" );
+
+/* It's actually a little tricky to test this. We can't test absolute numbers because
+ * different browsers and different platforms will render the width of the columns slightly
+ * differently. However, we certainly can test the principle of what should happen (column 
+ * width doesn't change over pages)
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Auto width is enabled by default",
+		null,
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	oTest.fnWaitTest( 
+		"First column has a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style').match(/width/i); }
+	);
+	
+	/*
+	This would seem like a better test - but there appear to be difficulties with tables
+	which are bigger (calculated) than there is actually room for. I suspect this is actually
+	a bug in datatables
+	oTest.fnWaitTest( 
+		"Check column widths on first page match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			console.log( a0, b0, a1, b1, a2, b2, a3, b3 );
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check column widths on second page match thid page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	*/
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Auto width can be disabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bAutoWidth": false
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"First column does not have a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style') == null; }
+	);
+	
+	/*
+	oTest.fnWaitTest( 
+		"Check column widths on first page do not match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return false;
+			else
+				return true;
+		}
+	);
+	*/
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Auto width enabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bAutoWidth": true
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bFilter.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bFilter.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bFilter.js	(revision 6286)
@@ -0,0 +1,44 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bFilter" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Filtering div exists by default",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Fltering can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bFilter": false
+			} );
+		},
+		function () { return document.getElementById('example_filter') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Filtering enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bFilter": true
+			} );
+		},
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bInfo.js	(revision 6286)
@@ -0,0 +1,44 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Info div exists by default",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Info can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bInfo": false
+			} );
+		},
+		function () { return document.getElementById('example_info') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Info enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bInfo": true
+			} );
+		},
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bLengthChange.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bLengthChange.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bLengthChange.js	(revision 6286)
@@ -0,0 +1,75 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bLengthChange" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Length div exists by default",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Four default options",
+		null,
+		function () { return $("select[name=example_length] option").length == 4; }
+	);
+	
+	oTest.fnWaitTest(
+		"Default options",
+		null,
+		function () {
+			var opts = $("select[name='example_length'] option");
+			return opts[0].getAttribute('value') == 10 && opts[1].getAttribute('value') == 25 &&
+				opts[2].getAttribute('value') == 50 && opts[3].getAttribute('value') == 100;
+		}
+	);
+	
+	oTest.fnWaitTest(
+		"Info takes length into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Change length can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bLengthChange": false
+			} );
+		},
+		function () { return document.getElementById('example_length') == null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information takes length disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Length change enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bLengthChange": true
+			} );
+		},
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bPaginate.js	(revision 6286)
@@ -0,0 +1,59 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bPaginate" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Pagiantion div exists by default",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information div takes paging into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bPaginate": false
+			} );
+		},
+		function () { return document.getElementById('example_paginate') == null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information div takes paging disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 57 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Pagiantion enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bPaginate": true
+			} );
+		},
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bProcessing.js	(revision 6286)
@@ -0,0 +1,103 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bProcessing" );
+
+/* It's actually a bit hard to set this one due to the fact that it will only be shown
+ * when DataTables is doing some kind of processing. The server-side processing is a bit
+ * better to test this than here - so we just the interal functions to enable it and check
+ * that it is available
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Processing is off by default",
+		null,
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div cannot be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div cannot be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Processing can be enabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bProcessing": true
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == true; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is hidden by default",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div can be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "visible"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div can be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Processing disabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bProcessing": false
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bServerSide.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bServerSide.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bServerSide.js	(revision 6286)
@@ -0,0 +1,20 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bServerSide" );
+
+/* Not interested in server-side processing here other than to check that it is off */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Server side is off by default",
+		null,
+		function () { return oSettings.oFeatures.bServerSide == false; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bSort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bSort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bSort.js	(revision 6286)
@@ -0,0 +1,99 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bSort" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Sorting is on by default",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting Asc by default class applied",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnWaitTest(
+		"Click on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting class removed from first column",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting asc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnWaitTest(
+		"Reverse on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting acs class removed from second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting desc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_desc"); }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bSort": false
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Click on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Reverse on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Sorting enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bSort": true
+			} );
+		},
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bSortClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bSortClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/bSortClasses.js	(revision 6286)
@@ -0,0 +1,132 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bSortClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Sorting classes are applied by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes are applied to all required cells",
+		null,
+		function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes are not applied to non-sorting columns",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column - add column 1",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column - add column 2",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column - add column 3",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Remove sorting classes on single column sort",
+		function () { 
+			$('#example thead th:eq(4)').click();
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting class 1 was added",
+		null,
+		function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Sorting classes can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bSortClasses": false
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes disabled - add column 1 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes disabled - add column 2 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Sorting classes enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bSortClasses": true
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnDrawCallback.js	(revision 6286)
@@ -0,0 +1,98 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnDrawCallback" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass, bInit;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnDrawCallback == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"One argument passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			bInit = false;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnDrawCallback": function ( ) {
+					mPass = arguments.length;
+				},
+				"fnInitComplete": function () {
+					bInit = true;
+				}
+			} );
+		},
+		function () { return mPass == 1 && bInit; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			bInit = false;
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnDrawCallback": function ( oSettings ) {
+					mPass = oSettings;
+				},
+				"fnInitComplete": function () {
+					bInit = true;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass && bInit; }
+	);
+	
+	
+	/* The draw callback is called once for the init and then when the data is added */
+	oTest.fnWaitTest( 
+		"fnRowCallback called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			bInit = false;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnDrawCallback": function ( ) {
+					mPass++;
+				},
+				"fnInitComplete": function () {
+					bInit = true;
+				}
+			} );
+		},
+		function () { return mPass == 2 && bInit; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called once on each draw there after as well",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass == 5; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnHeaderCallback.js	(revision 6286)
@@ -0,0 +1,191 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnHeaderCallback" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass, bInit;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnHeaderCallback == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Five arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			bInit = false;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( ) {
+					mPass = arguments.length;
+				},
+				"fnInitComplete": function () {
+					bInit = true;
+				}
+			} );
+		},
+		function () { return mPass == 5 && bInit; }
+	);
+	
+	
+	/* The header callback is called once for the init and then when the data is added */
+	oTest.fnWaitTest( 
+		"fnHeaderCallback called once per draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			bInit = false;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					mPass++;
+				},
+				"fnInitComplete": function () {
+					bInit = true;
+				}
+			} );
+		},
+		function () { return mPass == 2 && bInit; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called on paging (i.e. another draw)",
+		function () { $('#example_next').click(); },
+		function () { return mPass == 3; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
+				}
+			} );
+		},
+		function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"iStart correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart != 0 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"iStart correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart == 10 )
+					{
+						mPass = true;
+					}
+				},
+				"fnInitComplete": function () {
+					$('#example_next').click();
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"iEnd correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd == 20 )
+					{
+						mPass = true;
+					}
+				},
+				"fnInitComplete": function () {
+					$('#example_next').click();
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"aiDisplay length is full data when not filtered",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 57 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnWaitTest( 
+		"aiDisplay length is 9 when filtering on 'Mozilla'",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 9 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			oTable.fnFilter( "Mozilla" );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnInitComplete.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnInitComplete.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnInitComplete.js	(revision 6286)
@@ -0,0 +1,100 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnInitComplete" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnInitComplete == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Two arguments passed (for Ajax!)",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnInitComplete": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 2; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnInitComplete": function ( oSettings ) {
+					mPass = oSettings;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnInitComplete called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnInitComplete": function ( ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnInitComplete never called there after",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"10 rows in the table on complete",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnInitComplete": function ( ) {
+					mPass = $('#example tbody tr').length;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnRowCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnRowCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnRowCallback.js	(revision 6286)
@@ -0,0 +1,112 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnRowCallback" );
+
+/* Note - fnRowCallback MUST return the first arguments (modified or not) */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnRowCallback == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Four arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnRowCallback": function ( nTr ) {
+					mPass = arguments.length;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 4; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called once for each drawn row",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					mPass++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					$(nTr).addClass('unit_test');
+					return nTr;
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( asData.length != 5 )
+						mPass = false;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			var iCount = 0;
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( iCount != iDrawIndex )
+						mPass = false;
+					iCount++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnServerData.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnServerData.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/fnServerData.js	(revision 6286)
@@ -0,0 +1,64 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnServerData for Ajax sourced data" );
+
+$(document).ready( function () {
+	var mPass;
+	
+	oTest.fnTest( 
+		"Argument length",
+		function () {
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnServerData": function () {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 3; }
+	);
+	
+	oTest.fnTest( 
+		"Url",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnServerData": function (sUrl, aoData, fnCallback) {
+					mPass = sUrl == "../../../examples/examples_support/json_source.txt";
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Data array",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnServerData": function (sUrl, aoData, fnCallback) {
+					mPass = aoData.length==0;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnTest( 
+		"Callback function",
+		function () {
+			$('#example').dataTable( {
+				"bDestroy": true,
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"fnServerData": function (sUrl, aoData, fnCallback) {
+					mPass = typeof fnCallback == 'function';
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/iDisplayLength.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/iDisplayLength.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/iDisplayLength.js	(revision 6286)
@@ -0,0 +1,81 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "iDisplayLength" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Default length is ten",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 10",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Set initial length to 25",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"iDisplayLength": 25
+			} );
+		},
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 25; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Set initial length to 100",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"iDisplayLength": 100
+			} );
+		},
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 100; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Set initial length to 23 (unknown select menu length)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"iDisplayLength": 23
+			} );
+		},
+		function () { return $('#example tbody tr').length == 23; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 10 (since 23 is unknow)",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.oPaginate.js	(revision 6286)
@@ -0,0 +1,84 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.oPaginate" );
+
+/* Note that the paging language information only has relevence in full numbers */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+		"sPaginationType": "full_numbers"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"oLanguage.oPaginate defaults",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "First" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "Previous" &&
+				oSettings.oLanguage.oPaginate.sNext == "Next" &&
+				oSettings.oLanguage.oPaginate.sLast == "Last";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate defaults are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "First" &&
+				$('#example_paginate .previous').html() == "Previous" &&
+				$('#example_paginate .next').html() == "Next" &&
+				$('#example_paginate .last').html() == "Last";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"oLanguage.oPaginate can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sPaginationType": "full_numbers",
+				"oLanguage": {
+					"oPaginate": {
+						"sFirst":    "unit1",
+						"sPrevious": "test2",
+						"sNext":     "unit3",
+						"sLast":     "test4"
+					}
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "unit1" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "test2" &&
+				oSettings.oLanguage.oPaginate.sNext == "unit3" &&
+				oSettings.oLanguage.oPaginate.sLast == "test4";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate definitions are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "unit1" &&
+				$('#example_paginate .previous').html() == "test2" &&
+				$('#example_paginate .next').html() == "unit3" &&
+				$('#example_paginate .last').html() == "test4";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfo.js	(revision 6286)
@@ -0,0 +1,117 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Info language is 'Showing _START_ to _END_ of _TOTAL_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sInfo == "Showing _START_ to _END_ of _TOTAL_ entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - without any macros",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfo": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfo == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "unit test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macro _START_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfo": "unit _START_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macro _END_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 10 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macro _TOTAL_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 57 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macros _START_ and _END_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macros _START_, _END_ and _TOTAL_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 57 test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoEmpty.js	(revision 6286)
@@ -0,0 +1,79 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sInfoEmpty" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Info empty language is 'Showing 0 to 0 of 0 entries' by default",
+		function () { oTable.fnFilter("nothinghere"); },
+		function () { return oSettings.oLanguage.sInfoEmpty == "Showing 0 to 0 of 0 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"Showing 0 to 0 of 0 entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Info empty language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfoEmpty": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return oSettings.oLanguage.sInfoEmpty == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Macro's not replaced",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfoEmpty": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit _START_ _END_ _TOTAL_ test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sInfoPostFix.js	(revision 6286)
@@ -0,0 +1,78 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sInfoPostFix" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Info post fix language is '' (blank) by default",
+		null,
+		function () { return oSettings.oLanguage.sInfoPostFix == ""; }
+	);
+	
+	oTest.fnTest( 
+		"Width no post fix, the basic info shows",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Info post fix language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfoPostFix == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit test"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Macros have no effect in the post fix",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfoPostFix": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit _START_ _END_ _TOTAL_ test"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Post fix is applied after fintering info",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 0 to 0 of 0 entries unit (filtered from 57 total entries) test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sLengthMenu.js	(revision 6286)
@@ -0,0 +1,106 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sLengthMenu" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Menu language is 'Show _MENU_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sLengthMenu == "Show _MENU_ entries"; }
+	);
+	
+	oTest.fnTest(
+		"_MENU_ macro is replaced by select menu in DOM",
+		null,
+		function () { return $('select', oSettings.aanFeatures.l[0]).length == 1 }
+	);
+	
+	oTest.fnTest(
+		"Default is put into DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "Show " &&
+				anChildren[2].nodeValue == " entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Menu length language can be defined - no _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sLengthMenu": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sLengthMenu == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Menu length language definition is in the DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			return anChildren[0].nodeValue == "unit test";
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Menu length language can be defined - with _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sLengthMenu": "unit _MENU_ test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "unit " &&
+				anChildren[2].nodeValue == " test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Only the _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sLengthMenu": "_MENU_"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren.length == 1 &&
+				$('select', oSettings.aanFeatures.l[0]).length == 1;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sProcessing.js	(revision 6286)
@@ -0,0 +1,49 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sProcessing" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+		"bProcessing": true
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Processing language is 'Processing...' by default",
+		null,
+		function () { return oSettings.oLanguage.sProcessing == "Processing..."; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "Processing..."; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Processing language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"bProcessing": true,
+				"oLanguage": {
+					"sProcessing": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sProcessing == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sSearch.js	(revision 6286)
@@ -0,0 +1,65 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sSearch" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Search language is 'Search:' by default",
+		null,
+		function () { return oSettings.oLanguage.sSearch == "Search:"; }
+	);
+	
+	oTest.fnTest( 
+		"Search language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "Search: "; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Search language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sSearch": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sSearch == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "unit test "; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Blank search has a no space (separator) inserted",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sSearch": ""
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return document.getElementById('example_filter').childNodes.length == 1; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sUrl.js	(revision 6286)
@@ -0,0 +1,62 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sUrl" );
+
+/* Note that we only test the internal storage of language information pulled form a file here
+ * as the other language tests will check it goes into the DOM correctly
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"sUrl is blank by default",
+		null,
+		function () { return oSettings.oLanguage.sUrl == ""; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Loading of German file loads language information",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sUrl": "../../../examples/examples_support/de_DE.txt"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.sProcessing == "Bitte warten..." &&
+				oSettings.oLanguage.sLengthMenu == "_MENU_ EintrÃ€ge anzeigen" &&
+				oSettings.oLanguage.sZeroRecords == "Keine EintrÃ€ge vorhanden." &&
+				oSettings.oLanguage.sInfo == "_START_ bis _END_ von _TOTAL_ EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoEmpty == "0 bis 0 von 0 EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoFiltered == "(gefiltert von _MAX_  EintrÃ€gen)" &&
+				oSettings.oLanguage.sInfoPostFix == "" &&
+				oSettings.oLanguage.sSearch == "Suchen" &&
+				oSettings.oLanguage.oPaginate.sFirst == "Erster" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "ZurÃŒck" &&
+				oSettings.oLanguage.oPaginate.sNext == "NÃ€chster" &&
+				oSettings.oLanguage.oPaginate.sLast == "Letzter";
+				
+			return bReturn;
+		}
+	);
+	
+	/* One DOM check just to ensure that they go into the DOM */
+	oTest.fnTest(
+		"Loaded language goes into the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "1 bis 10 von 57 EintrÃ€gen"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oLanguage.sZeroRecords.js	(revision 6286)
@@ -0,0 +1,48 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sZeroRecords" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Zero records language is 'No matching records found' by default",
+		null,
+		function () { return oSettings.oLanguage.sZeroRecords == "No matching records found"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere'); },
+		function () { return $('#example tbody tr td')[0].innerHTML == "No matching records found" }
+	);
+	
+	
+	
+	oTest.fnWaitTest( 
+		"Zero records language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oLanguage": {
+					"sZeroRecords": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sZeroRecords == "unit test"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere2'); },
+		function () { return $('#example tbody tr td')[0].innerHTML == "unit test" }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/oSearch.js	(revision 6286)
@@ -0,0 +1,108 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oSearch" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default values should be blank",
+		null,
+		function () {
+			var bReturn = oSettings.oPreviousSearch.sSearch == "" && 
+			              !oSettings.oPreviousSearch.bRegex;
+			return bReturn;
+		}
+	);
+	
+	/* This test might be considered iffy since the full object isn't given, but it's reasonable to
+	 * expect DataTables to cope with this. It should just assumine regex false
+	 */
+	oTest.fnWaitTest( 
+		"Search term only in object",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oSearch": {
+					"sSearch": "Mozilla"
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"New search will kill old one",
+		function () {
+			oTable.fnFilter("Opera");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Presto"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search plain text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oSearch": {
+					"sSearch": "DS",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Nintendo DS browser"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search plain text term and escape regex false",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oSearch": {
+					"sSearch": "Opera",
+					"bRegex": true
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Presto"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search regex text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oSearch": {
+					"sSearch": "1.*",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search regex text term and escape regex false",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"oSearch": {
+					"sSearch": "1.*",
+					"bRegex": true
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "Gecko"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sAjaxSource.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sAjaxSource.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sAjaxSource.js	(revision 6286)
@@ -0,0 +1,22 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "sAjaxSource" );
+
+/* Sanitfy check really - all the other tests blast this */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Server side is off by default",
+		null,
+		function () { 
+			return oSettings.sAjaxSource == "../../../examples/examples_support/json_source.txt";
+		}
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sDom.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sDom.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sDom.js	(revision 6286)
@@ -0,0 +1,262 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "sDom" );
+
+/* This is going to be brutal on the browser! There is a lot that can be tested here... */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default DOM varaible",
+		null,
+		function () { return oSettings.sDom == "lfrtip"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Default DOM in document",
+		null,
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check example 1 in code propagates",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sDom": '<"wrapper"flipt>'
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.sDom == '<"wrapper"flipt>'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Check example 1 in DOM",
+		null,
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			var nCustomWrapper = $('div.wrapper')[0];
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrapper &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nLength &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging &&
+				nNodes[6] == nTable;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check example 2 in DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sDom": '<lf<t>ip>'
+			} );
+		},
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			var nCustomWrappers = []
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+				
+				/* Only the two custom divs don't have class names */
+				if ( !jqNodes[i].getAttribute('class') )
+				{
+					nCustomWrappers.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrappers[0] &&
+				nNodes[2] == nLength &&
+				nNodes[3] == nFilter &&
+				nNodes[4] == nCustomWrappers[1] &&
+				nNodes[5] == nTable &&
+				nNodes[6] == nInfo &&
+				nNodes[7] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check no length element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sDom": 'frtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				null == nLength &&
+				nNodes[1] == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check no filter element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sDom": 'lrtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				null == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	/* Note we don't test for no table as this is not supported (and it would be fairly daft! */
+	
+	oTest.fnWaitTest( 
+		"Check no info element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sDom": 'lfrtp'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				null == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check no paging element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sDom": 'lfrti'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				null == nPaging;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sPaginationType.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sPaginationType.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/3_ajax/sPaginationType.js	(revision 6286)
@@ -0,0 +1,134 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "sPaginationType" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"sAjaxSource": "../../../examples/examples_support/json_source.txt"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Check two button paging is the default",
+		null,
+		function () { return oSettings.sPaginationType == "two_button"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Check class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_two_button'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Two div elements are in the wrapper",
+		null,
+		function () { return $('#example_paginate div').length == 2; }
+	);
+	
+	oTest.fnWaitTest( 
+		"We have the previous button",
+		null,
+		function () { return document.getElementById('example_previous'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"We have the next button",
+		null,
+		function () { return document.getElementById('example_next'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Previous button is disabled",
+		null,
+		function () { return $('#example_previous').hasClass('paginate_disabled_previous'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Next button is enabled",
+		null,
+		function () { return $('#example_next').hasClass('paginate_enabled_next'); }
+	);
+	
+	/* Don't test paging - that's done by the zero config test script. */
+	
+	
+	/* Two buttons paging */
+	var bComplete = false;
+	oTest.fnWaitTest( 
+		"Can enabled full numbers paging",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"sAjaxSource": "../../../examples/examples_support/json_source.txt",
+				"sPaginationType": "full_numbers",
+				"fnInitComplete": function () {
+					bComplete = true;
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			if ( bComplete )
+				return oSettings.sPaginationType == "full_numbers";
+			else
+				return false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check full numbers class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_full_numbers'); }
+	);
+	
+	
+	var nFirst, nPrevious, nNext, nLast;
+	oTest.fnWaitTest( 
+		"Jump to last page",
+		function () {
+			nFirst = $('div.dataTables_paginate span.first');
+			nPrevious = $('div.dataTables_paginate span.previous');
+			nNext = $('div.dataTables_paginate span.next');
+			nLast = $('div.dataTables_paginate span.last');
+			nLast.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries";
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Go to two pages previous",
+		function () {
+			nPrevious.click();
+			nPrevious.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 31 to 40 of 57 entries";
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Next (second last) page",
+		function () {
+			nNext.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 41 to 50 of 57 entries";
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Jump to first page",
+		function () {
+			nFirst.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries";
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/-iDraw.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/-iDraw.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/-iDraw.js	(revision 6286)
@@ -0,0 +1,44 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "iDraw - check that iDraw increments for each draw" );
+
+
+$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"After first draw, iDraw is 1",
+		null,
+		function () { return oSettings.iDraw == 1; }
+	);
+	
+	oTest.fnWaitTest( 
+		"After second draw, iDraw is 2",
+		function () { oTable.fnDraw() },
+		function () { return oSettings.iDraw == 2; }
+	);
+	
+	oTest.fnWaitTest( 
+		"After sort",
+		function () { oTable.fnSort([[1,'asc']]) },
+		function () { return oSettings.iDraw == 3; }
+	);
+	
+	oTest.fnWaitTest( 
+		"After filter",
+		function () { oTable.fnFilter('gecko') },
+		function () { return oSettings.iDraw == 4; }
+	);
+	
+	oTest.fnWaitTest( 
+		"After another filter",
+		function () { oTable.fnFilter('gec') },
+		function () { return oSettings.iDraw == 5; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2440.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2440.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2440.js	(revision 6286)
@@ -0,0 +1,32 @@
+// DATA_TEMPLATE: empty_table
+/*
+ * NOTE: There are some differences in this zero config script for server-side
+ * processing compared to the other data sources. The main reason for this is the
+ * difference in how the server-side processing does it's filtering. Also the
+ * sorting state is always reset on each draw.
+ */
+oTest.fnStart( "Info element with display all" );
+
+$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTable.fnSettings()._iDisplayLength = -1;
+	oTable.oApi._fnCalculateEnd( oTable.fnSettings() );
+	oTable.fnDraw();
+	
+	
+	/* Basic checks */
+	oTest.fnWaitTest( 
+		"Check length is correct when -1 length given",
+		null,
+		function () {
+			return document.getElementById('example_info').innerHTML == 
+				"Showing 1 to 57 of 57 entries";
+		}
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2569.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2569.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2569.js	(revision 6286)
@@ -0,0 +1,47 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "Destroy with hidden columns" );
+
+$(document).ready( function () {
+	var mTest;
+	
+	
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+		"aoColumnDefs": [ 
+			{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
+			{ "bVisible": false, "aTargets": [ 3 ] }
+		],
+		"fnInitComplete": function () {
+			this.fnDestroy();
+		}
+	} );
+	
+	oTest.fnWaitTest( 
+		"Check that the number of columns in table is correct",
+		null,
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	
+	oTest.fnTest( 
+		"And with scrolling",
+		function () {
+			$('#example').dataTable( {
+				"bServerSide": true,
+				"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sScrollY": 200,
+				"aoColumnDefs": [ 
+					{ "bSearchable": false, "bVisible": false, "aTargets": [ 2 ] },
+					{ "bVisible": false, "aTargets": [ 3 ] }
+				],
+				"fnInitComplete": function () {
+					this.fnDestroy();
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2600.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2600.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/2600.js	(revision 6286)
@@ -0,0 +1,47 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "2600 - Display rewind when changing length" );
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Info correct on init",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Page 2",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 11 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Page 3",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 21 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Page 4",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 31 to 40 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Page 5",
+		function () { $('#example_next').click(); },
+		function () { return $('#example_info').html() == "Showing 41 to 50 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Rewind",
+		function () { $('#example_length select').val('100'); $('#example_length select').change(); },
+		function () { return $('#example_info').html() == "Showing 1 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/_zero_config.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/_zero_config.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/_zero_config.js	(revision 6286)
@@ -0,0 +1,424 @@
+// DATA_TEMPLATE: empty_table
+/*
+ * NOTE: There are some differences in this zero config script for server-side
+ * processing compared to the other data sources. The main reason for this is the
+ * difference in how the server-side processing does it's filtering. Also the
+ * sorting state is always reset on each draw.
+ */
+oTest.fnStart( "Sanity checks for DataTables with data from JS" );
+
+oTest.fnWaitTest( 
+	"jQuery.dataTable function",
+	null,
+	function () { return typeof jQuery().dataTable == "function"; }
+);
+
+oTest.fnWaitTest(
+	"jQuery.dataTableSettings storage array",
+	null,
+	function () { return typeof jQuery().dataTableSettings == "object"; }
+);
+
+oTest.fnWaitTest(
+	"jQuery.dataTableExt plugin object",
+	null,
+	function () { return typeof jQuery().dataTableExt == "object"; }
+);
+
+$(document).ready( function () {
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	/* Basic checks */
+	oTest.fnWaitTest( 
+		"Length changing div exists",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Filtering div exists",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Information div exists",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Pagination div exists",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is off by default",
+		null,
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"10 rows shown on the first page",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Initial sort occured",
+		null,
+		function () { return $('#example tbody td:eq(0)').html() == "Gecko"; }
+	);
+	
+	/* Need to use the WaitTest for sorting due to the setTimeout datatables uses */
+	oTest.fnWaitTest( 
+		"Sorting (first click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting (second click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting (third click) on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting (first click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting (second click) on numeric column",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column (first click)",
+		function () { 
+			$('#example thead th:eq(0)').click();
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () { var b = 
+			$('#example tbody td:eq(0)').html() == "Gecko" && 
+			$('#example tbody td:eq(1)').html() == "Camino 1.0"; return b; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column - sorting first column only",
+		function () { 
+			$('#example thead th:eq(0)').click(); },
+		function () { var b = 
+			$('#example tbody td:eq(0)').html() == "Gecko" && 
+			$('#example tbody td:eq(1)').html() == "Firefox 1.0"; return b; }
+	);
+	
+	/* Basic paging */
+	oTest.fnWaitTest( 
+		"Paging to second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Mozilla 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Paging to first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Attempting to page back beyond the first page",
+		function () { $('#example_previous').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	/* Changing length */
+	oTest.fnWaitTest( 
+		"Changing table length to 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Changing table length to 50 records",
+		function () { $("select[name=example_length]").val('50').change(); },
+		function () { return $('#example tbody tr').length == 50; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Changing table length to 100 records",
+		function () { $("select[name=example_length]").val('100').change(); },
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Changing table length to 10 records",
+		function () { $("select[name=example_length]").val('10').change(); },
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	/*
+	 * Information element
+	 */
+	oTest.fnWaitTest(
+		"Information on zero config",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information on second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 11 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information on third page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 21 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information on last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information back on first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with 25 records",
+		function () { $("select[name=example_length]").val('25').change(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 25 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with 25 records - second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == "Showing 26 to 50 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with 100 records - first page",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('100').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 57 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information back to 10 records",
+		function () {
+			$('#example_previous').click();
+			$("select[name=example_length]").val('10').change();
+		},
+		function () { return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter 'Win' second page",
+		function () { $('#example_next').click(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter 'Win' last page",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 31 to 31 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter 'Win' back to first page",
+		function () {
+			$('#example_previous').click();
+			$('#example_previous').click();
+			$('#example_previous').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter 'Win' second page - second time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter increased to 'Win 98'",
+		function () { $('#example_filter input').val("Win 98").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 9 of 9 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter decreased to 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter 'Win' second page - third time",
+		function () {
+			$('#example_next').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 11 to 20 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information with filter removed",
+		function () { $('#example_filter input').val("").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	/*
+	 * Filtering
+	 */
+	oTest.fnWaitTest(
+		"Filter 'W' - rows",
+		function () {
+			$('#example_filter input').val("W").keyup(); },
+		function () { return $('#example tbody tr:eq(4) td:eq(1)').html() == "Netscape 7.2"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'W' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 42 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Wi'",
+		function () { $('#example_filter input').val("Wi").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 32 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Win'",
+		function () { $('#example_filter input').val("Win").keyup(); },
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Win' - sorting column 1",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "AOL browser (AOL desktop)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Win' - sorting column 1 info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 31 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Win' - sorting column 1 reverse",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Win XP' - maintaing reverse sorting col 1",
+		function () { $('#example_filter input').val("Win XP").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 7"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Win XP' - sorting col 3",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "6"; }
+	);
+	
+	/* Note the filtering is different from the DOM since the server doesn't do
+	 * "smart filtering" like the client side does
+	 */
+	oTest.fnWaitTest(
+		"Filter 'Win XP' - sorting col 3 - reversed",
+		function () { $('#example thead th:eq(3)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "7"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'Win' - sorting col 3 - reversed info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 2 of 2 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'nothinghere'",
+		function () { $('#example_filter input').val("nothinghere").keyup(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 
+			"No matching records found"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter 'nothinghere' - info",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 0 to 0 of 0 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Filter back to blank and 1st column sorting",
+		function () {
+			$('#example_filter input').val("").keyup();
+			$('#example thead th:eq(0)').click();
+		},
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aaSorting.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aaSorting.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aaSorting.js	(revision 6286)
@@ -0,0 +1,212 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aaSorting" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default sorting is single column",
+		null,
+		function () {
+			return oSettings.aaSorting.length == 1 && typeof oSettings.aaSorting[0] == 'object';
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Default sorting is first column asc",
+		null,
+		function () {
+			return oSettings.aaSorting[0].length == 3 && oSettings.aaSorting[0][0] == 0 &&
+				oSettings.aaSorting[0][1] == 'asc';
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting is applied",
+		null,
+		function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single string column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single string column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single int column asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "-"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Custom sorting on single int column desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','asc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','desc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "iPod Touch / iPhone"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / string desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','desc'], ['1','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Safari 3.0"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','asc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string asc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','asc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "1.9"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / int asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','desc'], ['3','asc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "125.5"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (2 column) - string desc / int desc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','desc'], ['3','desc']]
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "522.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multi-column sorting (3 column) - string asc / int asc / string asc",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSorting": [['0','asc'], ['3','asc'], ['1','asc']]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(7) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aaSortingFixed.js	(revision 6286)
@@ -0,0 +1,67 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aaSortingFixed" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"No fixed sorting by default",
+		null,
+		function () {
+			return oSettings.aaSortingFixed == null;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSortingFixed": [['0','asc']]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on first column (string/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/asc)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aaSortingFixed": [['3','asc']]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Fixed sorting on fourth column (int/asc) with user sorting on second column (string/desc)",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "PSP browser"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSearchable.js	(revision 6286)
@@ -0,0 +1,25 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bSeachable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Columns are searchable by default",
+		function () { oTable.fnFilter("Camino"); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Camino 1.0"; }
+	);
+	
+	/* NOT ACTUALLY GOING TO TEST BSEARCHABLE HERE. Reason being is that it requires the server
+	 * side to alter it's processing, and this information about columns is not actually sent to
+	 * the server
+	 */
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bSortable.js	(revision 6286)
@@ -0,0 +1,112 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bSortable" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"All columns are sortable by default",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Can disable sorting from one column",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					null,
+					null
+				]
+			} );
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Disabled column has no sorting class",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 4.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Disable sorting on multiple columns - no sorting classes",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "bSortable": false },
+					null,
+					{ "bSortable": false },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example thead th:eq(1)').hasClass("sorting") ||
+				$('#example thead th:eq(3)').hasClass("sorting")
+			return bReturn == false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting on disabled column 1 has no effect",
+		function () {
+			$('#example thead th:eq(1)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Second sort on disabled column 2 has no effect",
+		function () {
+			$('#example thead th:eq(3)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Even with multiple disabled sorting columns other columns can still sort",
+		function () {
+			$('#example thead th:eq(4)').click();
+			$('#example thead th:eq(4)').click();
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Internet Explorer 4.0"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bUseRendered.js	(revision 6286)
@@ -0,0 +1,43 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bUseRendered" );
+
+/* bUseRendered is used to alter sorting data, if false then the original data is used for
+ * sorting rather than the rendered data
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				if ( mTmp == 0 ) {
+					mTmp++;
+					return "aaa";
+				} else
+					return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default for bUseRendered is true - rendered data is used for sorting",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
+	);
+	
+	/* Limited to what we can do here as the sorting is done on the server side. So stop here. */
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.bVisible.js	(revision 6286)
@@ -0,0 +1,123 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.bVisible" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"All columns are visible by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td').length == 5; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Can hide one column and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 4; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Can hide one column and it removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 4; }
+	);
+	
+	oTest.fnWaitTest( 
+		"The correct thead column has been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Platform(s)" &&
+				jqNodes[2].innerHTML == "Engine version" &&
+				jqNodes[3].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"The correct tbody column has been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "Win 98+ / OSX.2+" &&
+				jqNodes[2].innerHTML == "1.7" &&
+				jqNodes[3].innerHTML == "A";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Can hide multiple columns and it removes td column from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "bVisible": false },
+					{ "bVisible": false },
+					null,
+					{ "bVisible": false }
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td').length == 2; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multiple hide - removes thead th column from DOM",
+		null,
+		function () { return $('#example thead tr:eq(0) th').length == 2; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Multiple hide - the correct thead columns have been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Engine version"
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Multiple hide - the correct tbody columns have been hidden",
+		null,
+		function () {
+			var jqNodes = $('#example tbody tr:eq(0) td');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Gecko" &&
+				jqNodes[1].innerHTML == "1.7"
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.fnRender.js	(revision 6286)
@@ -0,0 +1,189 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.fnRender" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var mTmp = 0;
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+		"aoColumns": [
+			null,
+			{ "fnRender": function (a) {
+				mTmp++;
+				return a.aData[a.iDataColumn];
+			} },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Single column - fnRender is called once for each row",
+		null,
+		function () { return mTmp == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Confirm that fnRender passes one argument (an object) with three parameters",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( arguments.length != 1 || typeof a.iDataRow=='undefined' ||
+						 	typeof a.iDataColumn=='undefined' || typeof a.aData=='undefined' )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRender iDataColumn is row number",
+		function () {
+			var iCount = 0;
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( iCount != a.iDataRow )
+						{
+							mTmp = false;
+						}
+						iCount++;
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRender iDataColumn is the column",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.iDataColumn != 1 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRender aData is data array of correct size",
+		function () {
+			mTmp = true;
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						if ( a.aData.length != 5 )
+						{
+							mTmp = false;
+						}
+						return a.aData[a.iDataColumn];
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return mTmp; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest';
+					} },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'unittest'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Passed back data is put into the DOM",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					null,
+					{ "fnRender": function (a) {
+						return 'unittest1';
+					} },
+					{ "fnRender": function (a) {
+						return 'unittest2';
+					} },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(0) td:eq(2)').html() == 'unittest1' &&
+				$('#example tbody tr:eq(0) td:eq(3)').html() == 'unittest2';
+			return bReturn; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sClass.js	(revision 6286)
@@ -0,0 +1,118 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sClass" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"By default the test class hasn't been applied to the column (sanity!)",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(2)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					null,
+					{ "sClass": 'unittest' },
+					null,
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - third row",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - last row",
+		null,
+		function () { return $('#example tbody tr:eq(9) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to other columns - 1st",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to other columns - 5th",
+		null,
+		function () { return $('#example tbody tr:eq(3) td:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - seventh row - second page",
+		function () { $('#example_next').click(); },
+		function () { return $('#example tbody tr:eq(6) td:eq(2)').hasClass('unittest'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to header",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Add a class to a single column - has not applied to footer",
+		null,
+		function () { return $('#example thead tr:eq(3) th:eq(4)').hasClass('unittest') == false; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Class defined for multiple columns - first row",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					{ "sClass": 'unittest2' },
+					null,
+					null,
+					{ "sClass": 'unittest1' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn = 
+				$('#example tbody tr:eq(3) td:eq(0)').hasClass('unittest2') &&
+				$('#example tbody tr:eq(8) td:eq(3)').hasClass('unittest1');
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 1",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(4)').hasClass('unittest1') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Class defined for multiple columns - has not applied to other columns - 5th 2",
+		null,
+		function () { return $('#example tbody tr:eq(6) td:eq(4)').hasClass('unittest2') == false; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sName.js	(revision 6286)
@@ -0,0 +1,29 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sName" );
+
+/* This has no effect at all in DOM methods - so we just check that it has applied the name */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+		"aoColumns": [
+			null,
+			null,
+			null,
+			{ "sName": 'unit test' },
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Names are stored in the columns object",
+		null,
+		function () { return oSettings.aoColumns[3].sName =="unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sTitle.js	(revision 6286)
@@ -0,0 +1,85 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sTitle" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"If not given, then the columns titles are empty",
+		null,
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "Browser" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Can set a single column title - and others are read from DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test' },
+					null,
+					null,
+					null
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "CSS grade";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Can set multiple column titles",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					{ "sTitle": 'unit test 1' },
+					null,
+					null,
+					{ "sTitle": 'unit test 2' }
+				]
+			} );
+		},
+		function () {
+			var jqNodes = $('#example thead tr:eq(0) th');
+			var bReturn = 
+				jqNodes[0].innerHTML == "Rendering engine" &&
+				jqNodes[1].innerHTML == "unit test 1" &&
+				jqNodes[2].innerHTML == "Platform(s)" &&
+				jqNodes[3].innerHTML == "Engine version" &&
+				jqNodes[4].innerHTML == "unit test 2";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoColumns.sWidth.js	(revision 6286)
@@ -0,0 +1,90 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoColumns.sWidth" );
+
+/* NOTE - we need to disable the auto width for the majority of these test in order to preform 
+ * these tests as the auto width will convert the width to a px value. We can do 'non-exact' tests
+ * with auto width enabled however to ensure it scales columns as required
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+		"bAutoWidth": false,
+		"aoColumns": [
+			null,
+			{ "sWidth": '40%' },
+			null,
+			null,
+			null
+		]
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"With auto width disabled the width for one column is appled",
+		null,
+		function () { return $('#example thead th:eq(1)')[0].style.width == "40%"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"With auto width disabled the width for one column is appled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bAutoWidth": false,
+				"aoColumns": [
+					null,
+					null,
+					{ "sWidth": '20%' },
+					{ "sWidth": '30%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var bReturn =
+				$('#example thead th:eq(2)')[0].style.width == "20%" &&
+				$('#example thead th:eq(3)')[0].style.width == "30%";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"With auto width, it will make the smallest column the largest with percentage width given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"aoColumns": [
+					null,
+					null,
+					null,
+					{ "sWidth": '40%' },
+					null
+				]
+			} );
+		},
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			
+			if ( a3>a0 && a3>a1 && a3>a2 && a3>a4 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoSearchCols.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoSearchCols.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/aoSearchCols.js	(revision 6286)
@@ -0,0 +1,70 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "aoSearchCols" );
+
+/* We could be here forever testing this one, so we test a limited subset on a couple of colums */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing_filter_col.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default should be to have a empty colums array",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.aoPreSearchCols[0].sSearch == 0 && !oSettings.aoPreSearchCols[0].bRegex &&
+				oSettings.aoPreSearchCols[1].sSearch == 0 && !oSettings.aoPreSearchCols[1].bRegex &&
+				oSettings.aoPreSearchCols[2].sSearch == 0 && !oSettings.aoPreSearchCols[2].bRegex &&
+				oSettings.aoPreSearchCols[3].sSearch == 0 && !oSettings.aoPreSearchCols[3].bRegex &&
+				oSettings.aoPreSearchCols[4].sSearch == 0 && !oSettings.aoPreSearchCols[4].bRegex;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Search on a single column - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing_filter_col.php",
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search on two columns - no regex statement given",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing_filter_col.php",
+				"aoSearchCols": [
+					null,
+					{ "sSearch": "Mozilla" },
+					null,
+					{ "sSearch": "1.5" },
+					null
+				]
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1.5"; }
+	);
+	
+	/* No regex escape searches here - would need to be implemented on the server-side */
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/asStripClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/asStripClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/asStripClasses.js	(revision 6286)
@@ -0,0 +1,109 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "asStripClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Default row striping is applied",
+		null,
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Row striping on the second page",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('odd') &&
+			       $('#example tbody tr:eq(1)').hasClass('even') &&
+			       $('#example tbody tr:eq(2)').hasClass('odd') &&
+			       $('#example tbody tr:eq(3)').hasClass('even');
+		}
+	);
+	
+	/* No striping */
+	oTest.fnWaitTest( 
+		"No row striping",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"asStripClasses": []
+			} );
+		},
+		function () {
+			if ( typeof $('#example tbody tr:eq(1)')[0] == 'undefined' )
+			{
+				/* Use the 'wait for' to allow this to become true */
+				return false;
+			}
+			return $('#example tbody tr:eq(0)')[0].className == "" &&
+			       $('#example tbody tr:eq(1)')[0].className == "" &&
+			       $('#example tbody tr:eq(2)')[0].className == "" &&
+			       $('#example tbody tr:eq(3)')[0].className == "";
+		}
+	);
+	
+	/* Custom striping */
+	oTest.fnWaitTest( 
+		"Custom striping [2]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"asStripClasses": [ 'test1', 'test2' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test1') &&
+			       $('#example tbody tr:eq(3)').hasClass('test2');
+		}
+	);
+	
+	
+	/* long array of striping */
+	oTest.fnWaitTest( 
+		"Custom striping [4]",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"asStripClasses": [ 'test1', 'test2', 'test3', 'test4' ]
+			} );
+		},
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Custom striping is restarted on second page [2]",
+		function () { $('#example_next').click(); },
+		function () {
+			return $('#example tbody tr:eq(0)').hasClass('test1') &&
+			       $('#example tbody tr:eq(1)').hasClass('test2') &&
+			       $('#example tbody tr:eq(2)').hasClass('test3') &&
+			       $('#example tbody tr:eq(3)').hasClass('test4');
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bAutoWidth.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bAutoWidth.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bAutoWidth.js	(revision 6286)
@@ -0,0 +1,145 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bAutoWidth" );
+
+/* It's actually a little tricky to test this. We can't test absolute numbers because
+ * different browsers and different platforms will render the width of the columns slightly
+ * differently. However, we certainly can test the principle of what should happen (column 
+ * width doesn't change over pages)
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Auto width is enabled by default",
+		null,
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	oTest.fnWaitTest( 
+		"First column has a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style').match(/width/i); }
+	);
+	
+	/*
+	This would seem like a better test - but there appear to be difficulties with tables
+	which are bigger (calculated) than there is actually room for. I suspect this is actually
+	a bug in datatables
+	oTest.fnWaitTest( 
+		"Check column widths on first page match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			console.log( a0, b0, a1, b1, a2, b2, a3, b3 );
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check column widths on second page match thid page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return true;
+			else
+				return false;
+		}
+	);
+	*/
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Auto width can be disabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bAutoWidth": false
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"First column does not have a width assigned to it",
+		null,
+		function () { return $('#example thead th:eq(0)').attr('style') == null; }
+	);
+	
+	/*
+	oTest.fnWaitTest( 
+		"Check column widths on first page do not match second page",
+		null,
+		function () {
+			var anThs = $('#example thead th');
+			var a0 = anThs[0].offsetWidth;
+			var a1 = anThs[1].offsetWidth;
+			var a2 = anThs[2].offsetWidth;
+			var a3 = anThs[3].offsetWidth;
+			var a4 = anThs[4].offsetWidth;
+			$('#example_next').click();
+			var b0 = anThs[0].offsetWidth;
+			var b1 = anThs[1].offsetWidth;
+			var b2 = anThs[2].offsetWidth;
+			var b3 = anThs[3].offsetWidth;
+			var b4 = anThs[4].offsetWidth;
+			if ( a0==b0 && a1==b1 && a2==b2 && a3==b3 )
+				return false;
+			else
+				return true;
+		}
+	);
+	*/
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Auto width enabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bAutoWidth": true
+			} );
+	 		oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bAutoWidth; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bFilter.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bFilter.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bFilter.js	(revision 6286)
@@ -0,0 +1,47 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bFilter" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Filtering div exists by default",
+		null,
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Fltering can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bFilter": false
+			} );
+		},
+		function () { return document.getElementById('example_filter') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Filtering enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bFilter": true
+			} );
+		},
+		function () { return document.getElementById('example_filter') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bInfiniteScroll.js	(revision 6286)
@@ -0,0 +1,168 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bInfiniteScroll" );
+
+
+$(document).ready( function () {
+	var oTable = $('#example').dataTable( {
+		"bScrollInfinite": true,
+		"sScrollY": "200px",
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"10 rows by default",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Info",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes",
+		null,
+		function () { return $('#example tbody>tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes function",
+		null,
+		function () { return $('#example').dataTable().fnGetNodes().length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll on 20px adds 10 rows",
+		function () { $('div.dataTables_scrollBody').scrollTop(20); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Info after 20px scroll",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after 20px scroll",
+		null,
+		function () { return $('#example tbody>tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes function after 20px scroll",
+		null,
+		function () { return $('#example').dataTable().fnGetNodes().length == 20; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll on 10px more results in the same number of rows",
+		function () { $('div.dataTables_scrollBody').scrollTop(30); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Info after 10 more px scroll",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 20 of 57 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll to 280px adds another 10 rows",
+		function () { $('div.dataTables_scrollBody').scrollTop(280); },
+		function () { return $('#example tbody tr').length == 30; }
+	);
+	
+	oTest.fnTest( 
+		"Info after 240px scroll",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 30 of 57 entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after 240px scroll",
+		null,
+		function () { return $('#example tbody>tr').length == 30; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes function after 240px scroll",
+		null,
+		function () { return $('#example').dataTable().fnGetNodes().length == 30; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Filtering will drop back to 10 rows",
+		function () { oTable.fnFilter('gec') },
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Info after filtering",
+		null,
+		function () { return $('#example_info').html() == "Showing 1 to 10 of 20 entries (filtered from 57 total entries)"; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after filtering",
+		null,
+		function () { return $('#example tbody>tr').length == 10; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes function after filtering",
+		null,
+		function () { return $('#example').dataTable().fnGetNodes().length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll after filtering adds 10",
+		function () { $('div.dataTables_scrollBody').scrollTop(20); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Get nodes after filtering",
+		null,
+		function () { return $('#example tbody>tr').length == 20; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Get nodes function after filtering",
+		null,
+		function () { return $('#example').dataTable().fnGetNodes().length == 20; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting will drop back to 10 rows",
+		function () {
+			$('div.dataTables_scrollBody').scrollTop(0);
+			oTable.fnSort([[1,'asc']])
+		},
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Scroll after sorting adds 10",
+		function () { $('div.dataTables_scrollBody').scrollTop(20); },
+		function () { return $('#example tbody tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes after scrolling",
+		null,
+		function () { return $('#example tbody>tr').length == 20; }
+	);
+	
+	oTest.fnTest( 
+		"Get nodes function after scrolling",
+		null,
+		function () { return $('#example').dataTable().fnGetNodes().length == 20; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bInfo.js	(revision 6286)
@@ -0,0 +1,47 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Info div exists by default",
+		null,
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Info can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bInfo": false
+			} );
+		},
+		function () { return document.getElementById('example_info') == null; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Info enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bInfo": true
+			} );
+		},
+		function () { return document.getElementById('example_info') != null; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bLengthChange.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bLengthChange.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bLengthChange.js	(revision 6286)
@@ -0,0 +1,78 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bLengthChange" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Length div exists by default",
+		null,
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Four default options",
+		null,
+		function () { return $("select[name=example_length] option").length == 4; }
+	);
+	
+	oTest.fnWaitTest(
+		"Default options",
+		null,
+		function () {
+			var opts = $("select[name='example_length'] option");
+			return opts[0].getAttribute('value') == 10 && opts[1].getAttribute('value') == 25 &&
+				opts[2].getAttribute('value') == 50 && opts[3].getAttribute('value') == 100;
+		}
+	);
+	
+	oTest.fnWaitTest(
+		"Info takes length into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Change length can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bLengthChange": false
+			} );
+		},
+		function () { return document.getElementById('example_length') == null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information takes length disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Length change enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bLengthChange": true
+			} );
+		},
+		function () { return document.getElementById('example_length') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bPaginate.js	(revision 6286)
@@ -0,0 +1,62 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bPaginate" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Pagiantion div exists by default",
+		null,
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information div takes paging into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 10 of 57 entries"; }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bPaginate": false
+			} );
+		},
+		function () { return document.getElementById('example_paginate') == null; }
+	);
+	
+	oTest.fnWaitTest(
+		"Information div takes paging disabled into account",
+		null,
+		function () { return document.getElementById('example_info').innerHTML == 
+			"Showing 1 to 57 of 57 entries"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Pagiantion enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bPaginate": true
+			} );
+		},
+		function () { return document.getElementById('example_paginate') != null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bProcessing.js	(revision 6286)
@@ -0,0 +1,106 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bProcessing" );
+
+/* It's actually a bit hard to set this one due to the fact that it will only be shown
+ * when DataTables is doing some kind of processing. The server-side processing is a bit
+ * better to test this than here - so we just the interal functions to enable it and check
+ * that it is available
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Processing is off by default",
+		null,
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div cannot be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div cannot be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Processing can be enabled",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bProcessing": true
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == true; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is hidden by default",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div can be shown",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing').style.visibility = "visible"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div can be hidden",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, false ); },
+		function () { return document.getElementById('example_processing').style.visibility = "hidden"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Processing disabled override",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bProcessing": false
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oFeatures.bProcessing == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Processing div is not in the DOM",
+		function () { oTable.oApi._fnProcessingDisplay( oSettings, true ); },
+		function () { return document.getElementById('example_processing') == null; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bServerSide.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bServerSide.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bServerSide.js	(revision 6286)
@@ -0,0 +1,21 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bServerSide" );
+
+/* All the other scripts blast the ssp processing */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Server side can be set to on",
+		null,
+		function () { return oSettings.oFeatures.bServerSide == true; }
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bSort.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bSort.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bSort.js	(revision 6286)
@@ -0,0 +1,102 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bSort" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Sorting is on by default",
+		null,
+		function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting Asc by default class applied",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnWaitTest(
+		"Click on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "All others"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting class removed from first column",
+		null,
+		function () { return $('#example thead th:eq(0)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting asc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc"); }
+	);
+	
+	oTest.fnWaitTest(
+		"Reverse on second column",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(1)').html() == "Seamonkey 1.1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting acs class removed from second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_asc") != true; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting desc class applied to second column",
+		null,
+		function () { return $('#example thead th:eq(1)').hasClass("sorting_desc"); }
+	);
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Pagiantion can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bSort": false
+			} );
+		},
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Click on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Reverse on second column has no effect",
+		function () { $('#example thead th:eq(1)').click(); },
+		function () { return $('#example tbody td:eq(3)').html() == "4"; }
+	);
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Sorting enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bSort": true
+			} );
+		},
+		function () { return $('#example tbody td:eq(1)').html() == "Firefox 1.0"; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bSortClasses.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bSortClasses.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/bSortClasses.js	(revision 6286)
@@ -0,0 +1,135 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "bSortClasses" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Sorting classes are applied by default",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes are applied to all required cells",
+		null,
+		function () { return $('#example tbody tr:eq(7) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes are not applied to non-sorting columns",
+		null,
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column - add column 1",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column - add column 2",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting multi-column - add column 3",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(3)')[0], { 'shift': true } );
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3');
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Remove sorting classes on single column sort",
+		function () { 
+			$('#example thead th:eq(4)').click();
+		},
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false &&
+						 $('#example tbody tr:eq(0) td:eq(3)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting class 1 was added",
+		null,
+		function () { return $('#example tbody tr:eq(1) td:eq(4)').hasClass('sorting_1'); }
+	);
+	
+	
+	/* Check can disable */
+	oTest.fnWaitTest( 
+		"Sorting classes can be disabled",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bSortClasses": false
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes disabled - add column 1 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(1)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Sorting classes disabled - add column 2 - no effect",
+		function () { 
+			oDispacher.click( $('#example thead th:eq(2)')[0], { 'shift': true } ); },
+		function () {
+			return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1') == false &&
+						 $('#example tbody tr:eq(0) td:eq(1)').hasClass('sorting_2') == false &&
+						 $('#example tbody tr:eq(0) td:eq(2)').hasClass('sorting_3') == false;
+		}
+	);
+	
+	
+	/* Enable makes no difference */
+	oTest.fnWaitTest( 
+		"Sorting classes enabled override",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bSortClasses": true
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').hasClass('sorting_1'); }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnDrawCallback.js	(revision 6286)
@@ -0,0 +1,89 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnDrawCallback" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnDrawCallback == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"One argument passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnDrawCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnDrawCallback": function ( oSettings ) {
+					mPass = oSettings;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnDrawCallback": function ( ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called once on each draw there after as well",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass > 1; }
+	);
+	
+	
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnHeaderCallback.js	(revision 6286)
@@ -0,0 +1,191 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnHeaderCallback" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnHeaderCallback == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Five arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 5; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called once per draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called on paging (i.e. another draw)",
+		function () { $('#example_next').click(); },
+		function () { return mPass == 2; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					nHead.getElementsByTagName('th')[0].innerHTML = "Displaying "+(iEnd-iStart)+" records";
+				}
+			} );
+		},
+		function () { return $('#example thead th:eq(0)').html() == "Displaying 10 records"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"iStart correct on first page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart != 0 )
+					{
+						mPass = false;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"iStart correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iStart == 0 )
+					{
+						mPass = true;
+					}
+				},
+				"fnInitComplete": function () {
+					$('#example_next').click();
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"iEnd correct on second page",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( iEnd == 10 )
+					{
+						mPass = true;
+					}
+				},
+				"fnInitComplete": function () {
+					$('#example_next').click();
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"aiDisplay length is full data when not filtered",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 10 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnWaitTest( 
+		"aiDisplay length is 9 when filtering on 'Mozilla'",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = false;
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnHeaderCallback": function ( nHead, aasData, iStart, iEnd, aiDisplay ) {
+					if ( aiDisplay.length == 9 )
+					{
+						mPass = true;
+					}
+				}
+			} );
+			oTable.fnFilter( "Mozilla" );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnInitComplete.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnInitComplete.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnInitComplete.js	(revision 6286)
@@ -0,0 +1,105 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnInitComplete" );
+
+/* Fairly boring function compared to the others! */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnInitComplete == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"One argument passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnInitComplete": function ( ) {
+					mPass = arguments.length;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"That one argument is the settings object",
+		function () {
+			oSession.fnRestore();
+			
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnInitComplete": function ( oSettings ) {
+					mPass = oSettings;
+				}
+			} );
+		},
+		function () { return oTable.fnSettings() == mPass; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnInitComplete called once on first draw",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"bServerSide": true,
+				"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnInitComplete": function ( ) {
+					mPass++;
+				}
+			} );
+		},
+		function () { return mPass == 1; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnInitComplete never called there after",
+		function () {
+			$('#example_next').click();
+			$('#example_next').click();
+			$('#example_next').click();
+		},
+		function () { return mPass == 1; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"10 rows in the table on complete",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"bServerSide": true,
+				"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnInitComplete": function ( ) {
+					mPass = $('#example tbody tr').length;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnRowCallback.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnRowCallback.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/fnRowCallback.js	(revision 6286)
@@ -0,0 +1,118 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "fnRowCallback" );
+
+/* Note - fnRowCallback MUST return the first arguments (modified or not) */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	var mPass;
+	
+	oTest.fnWaitTest( 
+		"Default should be null",
+		null,
+		function () { return oSettings.fnRowCallback == null; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Four arguments passed",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = -1;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnRowCallback": function ( nTr ) {
+					mPass = arguments.length;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 4; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback called once for each drawn row",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = 0;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					mPass++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"fnRowCallback allows us to alter row information",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					$(nTr).addClass('unit_test');
+					return nTr;
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(1)').hasClass('unit_test'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( asData.length != 5 )
+						mPass = false;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Data array has length matching columns",
+		function () {
+			oSession.fnRestore();
+			
+			mPass = true;
+			var iCount = 0;
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"fnRowCallback": function ( nTr, asData, iDrawIndex, iDataIndex ) {
+					if ( iCount != iDrawIndex )
+						mPass = false;
+					iCount++;
+					return nTr;
+				}
+			} );
+		},
+		function () { return mPass; }
+	);
+	
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/iDisplayLength.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/iDisplayLength.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/iDisplayLength.js	(revision 6286)
@@ -0,0 +1,85 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "iDisplayLength" );
+
+$(document).ready( function () {
+	/* Check the default */
+	$('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	
+	oTest.fnWaitTest( 
+		"Default length is ten",
+		null,
+		function () { return $('#example tbody tr').length == 10; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 10",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Set initial length to 25",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"iDisplayLength": 25
+			} );
+		},
+		function () { return $('#example tbody tr').length == 25; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 25; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Set initial length to 100",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"iDisplayLength": 100
+			} );
+		},
+		function () { return $('#example tbody tr').length == 57; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 25",
+		null,
+		function () { return $('#example_length select').val() == 100; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Set initial length to 23 (unknown select menu length)",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"iDisplayLength": 23
+			} );
+		},
+		function () { return $('#example tbody tr').length == 23; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Select menu shows 10 (since 23 is unknow)",
+		null,
+		function () { return $('#example_length select').val() == 10; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.oPaginate.js	(revision 6286)
@@ -0,0 +1,86 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.oPaginate" );
+
+/* Note that the paging language information only has relevence in full numbers */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+		"sPaginationType": "full_numbers"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"oLanguage.oPaginate defaults",
+		null,
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "First" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "Previous" &&
+				oSettings.oLanguage.oPaginate.sNext == "Next" &&
+				oSettings.oLanguage.oPaginate.sLast == "Last";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate defaults are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "First" &&
+				$('#example_paginate .previous').html() == "Previous" &&
+				$('#example_paginate .next').html() == "Next" &&
+				$('#example_paginate .last').html() == "Last";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"oLanguage.oPaginate can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sPaginationType": "full_numbers",
+				"oLanguage": {
+					"oPaginate": {
+						"sFirst":    "unit1",
+						"sPrevious": "test2",
+						"sNext":     "unit3",
+						"sLast":     "test4"
+					}
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.oPaginate.sFirst == "unit1" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "test2" &&
+				oSettings.oLanguage.oPaginate.sNext == "unit3" &&
+				oSettings.oLanguage.oPaginate.sLast == "test4";
+			return bReturn;
+		}
+	);
+	
+	oTest.fnTest( 
+		"oLanguage.oPaginate definitions are in the DOM",
+		null,
+		function () {
+			var bReturn = 
+				$('#example_paginate .first').html() == "unit1" &&
+				$('#example_paginate .previous').html() == "test2" &&
+				$('#example_paginate .next').html() == "unit3" &&
+				$('#example_paginate .last').html() == "test4";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfo.js	(revision 6286)
@@ -0,0 +1,124 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sInfo" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Info language is 'Showing _START_ to _END_ of _TOTAL_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sInfo == "Showing _START_ to _END_ of _TOTAL_ entries"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - without any macros",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfo": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfo == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "unit test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macro _START_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfo": "unit _START_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macro _END_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 10 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macro _TOTAL_ only",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfo": "unit _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 57 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macros _START_ and _END_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info language can be defined - with macros _START_, _END_ and _TOTAL_",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfo": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "unit 1 10 57 test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoEmpty.js	(revision 6286)
@@ -0,0 +1,82 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sInfoEmpty" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Info empty language is 'Showing 0 to 0 of 0 entries' by default",
+		function () { oTable.fnFilter("nothinghere"); },
+		function () { return oSettings.oLanguage.sInfoEmpty == "Showing 0 to 0 of 0 entries"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"Showing 0 to 0 of 0 entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Info empty language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfoEmpty": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return oSettings.oLanguage.sInfoEmpty == "unit test"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Macro's not replaced",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfoEmpty": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () {
+			var bReturn = document.getElementById('example_info').innerHTML.replace( 
+				' '+oSettings.oLanguage.sInfoFiltered.replace( '_MAX_', '57' ), "" ) ==
+					"unit _START_ _END_ _TOTAL_ test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sInfoPostFix.js	(revision 6286)
@@ -0,0 +1,82 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sInfoPostFix" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Info post fix language is '' (blank) by default",
+		null,
+		function () { return oSettings.oLanguage.sInfoPostFix == ""; }
+	);
+	
+	oTest.fnTest( 
+		"Width no post fix, the basic info shows",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Info post fix language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sInfoPostFix == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info empty language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit test"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Macros have no effect in the post fix",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfoPostFix": "unit _START_ _END_ _TOTAL_ test"
+				}
+			} );
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 1 to 10 of 57 entries unit _START_ _END_ _TOTAL_ test"; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Post fix is applied after fintering info",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sInfoPostFix": "unit test"
+				}
+			} );
+			oTable.fnFilter("nothinghere");
+		},
+		function () { return document.getElementById('example_info').innerHTML = "Showing 0 to 0 of 0 entries unit (filtered from 57 total entries) test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sLengthMenu.js	(revision 6286)
@@ -0,0 +1,110 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sLengthMenu" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Menu language is 'Show _MENU_ entries' by default",
+		null,
+		function () { return oSettings.oLanguage.sLengthMenu == "Show _MENU_ entries"; }
+	);
+	
+	oTest.fnTest(
+		"_MENU_ macro is replaced by select menu in DOM",
+		null,
+		function () { return $('select', oSettings.aanFeatures.l[0]).length == 1 }
+	);
+	
+	oTest.fnTest(
+		"Default is put into DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "Show " &&
+				anChildren[2].nodeValue == " entries";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Menu length language can be defined - no _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sLengthMenu": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sLengthMenu == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Menu length language definition is in the DOM",
+		null,
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			return anChildren[0].nodeValue == "unit test";
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Menu length language can be defined - with _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sLengthMenu": "unit _MENU_ test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren[0].nodeValue == "unit " &&
+				anChildren[2].nodeValue == " test";
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Only the _MENU_ macro",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sLengthMenu": "_MENU_"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var anChildren = oSettings.aanFeatures.l[0].childNodes;
+			var bReturn =
+				anChildren.length == 1 &&
+				$('select', oSettings.aanFeatures.l[0]).length == 1;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sProcessing.js	(revision 6286)
@@ -0,0 +1,51 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sProcessing" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+		"bProcessing": true
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Processing language is 'Processing...' by default",
+		null,
+		function () { return oSettings.oLanguage.sProcessing == "Processing..."; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "Processing..."; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Processing language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"bProcessing": true,
+				"oLanguage": {
+					"sProcessing": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sProcessing == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Processing language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_processing').innerHTML = "unit test"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sSearch.js	(revision 6286)
@@ -0,0 +1,68 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sSearch" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Search language is 'Search:' by default",
+		null,
+		function () { return oSettings.oLanguage.sSearch == "Search:"; }
+	);
+	
+	oTest.fnTest( 
+		"Search language default is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "Search: "; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Search language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sSearch": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sSearch == "unit test"; }
+	);
+	
+	oTest.fnTest( 
+		"Info language definition is in the DOM",
+		null,
+		function () { return document.getElementById('example_filter').childNodes[0].nodeValue
+		 	== "unit test "; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Blank search has no space (separator) inserted",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sSearch": ""
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return document.getElementById('example_filter').childNodes.length == 1; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sUrl.js	(revision 6286)
@@ -0,0 +1,64 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sUrl" );
+
+/* Note that we only test the internal storage of language information pulled form a file here
+ * as the other language tests will check it goes into the DOM correctly
+ */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnTest( 
+		"sUrl is blank by default",
+		null,
+		function () { return oSettings.oLanguage.sUrl == ""; }
+	);
+	
+	
+	oTest.fnWaitTest( 
+		"Loading of German file loads language information",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sUrl": "../../../examples/examples_support/de_DE.txt"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			var bReturn = 
+				oSettings.oLanguage.sProcessing == "Bitte warten..." &&
+				oSettings.oLanguage.sLengthMenu == "_MENU_ EintrÃ€ge anzeigen" &&
+				oSettings.oLanguage.sZeroRecords == "Keine EintrÃ€ge vorhanden." &&
+				oSettings.oLanguage.sInfo == "_START_ bis _END_ von _TOTAL_ EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoEmpty == "0 bis 0 von 0 EintrÃ€gen" &&
+				oSettings.oLanguage.sInfoFiltered == "(gefiltert von _MAX_  EintrÃ€gen)" &&
+				oSettings.oLanguage.sInfoPostFix == "" &&
+				oSettings.oLanguage.sSearch == "Suchen" &&
+				oSettings.oLanguage.oPaginate.sFirst == "Erster" &&
+				oSettings.oLanguage.oPaginate.sPrevious == "ZurÃŒck" &&
+				oSettings.oLanguage.oPaginate.sNext == "NÃ€chster" &&
+				oSettings.oLanguage.oPaginate.sLast == "Letzter";
+				
+			return bReturn;
+		}
+	);
+	
+	/* One DOM check just to ensure that they go into the DOM */
+	oTest.fnTest(
+		"Loaded language goes into the DOM",
+		null,
+		function () { return document.getElementById('example_info').innerHTML = "1 bis 10 von 57 EintrÃ€gen"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oLanguage.sZeroRecords.js	(revision 6286)
@@ -0,0 +1,58 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oLanguage.sZeroRecords" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Zero records language is 'No matching records found' by default",
+		null,
+		function () { return oSettings.oLanguage.sZeroRecords == "No matching records found"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere'); },
+		function () {
+			if ( $('#example tbody tr td').length == 0 )
+				return false;
+			return $('#example tbody tr td')[0].innerHTML == "No matching records found";
+		}
+	);
+	
+	
+	
+	oTest.fnWaitTest( 
+		"Zero records language can be defined",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oLanguage": {
+					"sZeroRecords": "unit test"
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.oLanguage.sZeroRecords == "unit test"; }
+	);
+	
+	oTest.fnWaitTest(
+		"Text is shown when empty table (after filtering)",
+		function () { oTable.fnFilter('nothinghere2'); },
+		function () {
+			if ( $('#example tbody tr td').length == 0 )
+				return false;
+			return $('#example tbody tr td')[0].innerHTML == "unit test"
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oSearch.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oSearch.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/oSearch.js	(revision 6286)
@@ -0,0 +1,100 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "oSearch" );
+
+/* Note with my server-side scripts the regex option has no effect - this just runs that down */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default values should be blank",
+		null,
+		function () {
+			var bReturn = oSettings.oPreviousSearch.sSearch == "" && 
+			              !oSettings.oPreviousSearch.bRegex;
+			return bReturn;
+		}
+	);
+	
+	/* This test might be considered iffy since the full object isn't given, but it's reasonable to
+	 * expect DataTables to cope with this. It should just assumine regex false
+	 */
+	oTest.fnWaitTest( 
+		"Search term only in object",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oSearch": {
+					"sSearch": "Mozilla"
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == "1"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"New search will kill old one",
+		function () {
+			oTable.fnFilter("Opera");
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Opera 7.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search plain text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+				"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oSearch": {
+					"sSearch": "DS",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Nintendo DS browser"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search plain text term and escape regex false",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+				"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oSearch": {
+					"sSearch": "Opera",
+					"bRegex": true
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == "Opera 7.0"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Search regex text term and escape regex true",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+				"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"oSearch": {
+					"sSearch": "1.*",
+					"bRegex": false
+				}
+			} );
+		},
+		function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == "No matching records found"; }
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sAjaxSource.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sAjaxSource.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sAjaxSource.js	(revision 6286)
@@ -0,0 +1,23 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "sAjaxSource" );
+
+/* Sanitfy check really - all the other tests blast this */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Server side is off by default",
+		null,
+		function () { 
+			return oSettings.sAjaxSource == "../../../examples/examples_support/server_processing.php";
+		}
+	);
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sDom.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sDom.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sDom.js	(revision 6286)
@@ -0,0 +1,269 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "sDom" );
+
+/* This is going to be brutal on the browser! There is a lot that can be tested here... */
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Default DOM varaible",
+		null,
+		function () { return oSettings.sDom == "lfrtip"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Default DOM in document",
+		null,
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check example 1 in code propagates",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sDom": '<"wrapper"flipt>'
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () { return oSettings.sDom == '<"wrapper"flipt>'; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Check example 1 in DOM",
+		null,
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			var nCustomWrapper = $('div.wrapper')[0];
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrapper &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nLength &&
+				nNodes[4] == nInfo &&
+				nNodes[5] == nPaging &&
+				nNodes[6] == nTable;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check example 2 in DOM",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sDom": '<lf<t>ip>'
+			} );
+		},
+		function () {
+			var jqNodes = $('#demo div, #demo table');
+			var nNodes = [];
+			var nCustomWrappers = []
+			
+			/* Strip the paging nodes */
+			for ( var i=0, iLen=jqNodes.length ; i<iLen ; i++ )
+			{
+				if ( jqNodes[i].getAttribute('id') != "example_previous" &&
+				     jqNodes[i].getAttribute('id') != "example_next" )
+				{
+					nNodes.push( jqNodes[i] );
+				}
+				
+				/* Only the two custom divs don't have class names */
+				if ( !jqNodes[i].getAttribute('class') )
+				{
+					nCustomWrappers.push( jqNodes[i] );
+				}
+			}
+			
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nCustomWrappers[0] &&
+				nNodes[2] == nLength &&
+				nNodes[3] == nFilter &&
+				nNodes[4] == nCustomWrappers[1] &&
+				nNodes[5] == nTable &&
+				nNodes[6] == nInfo &&
+				nNodes[7] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check no length element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sDom": 'frtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				null == nLength &&
+				nNodes[1] == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check no filter element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sDom": 'lrtip'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				null == nFilter &&
+				nNodes[2] == nTable &&
+				nNodes[3] == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	/* Note we don't test for no table as this is not supported (and it would be fairly daft! */
+	
+	oTest.fnWaitTest( 
+		"Check no info element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sDom": 'lfrtp'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				null == nInfo &&
+				nNodes[4] == nPaging;
+			return bReturn;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check no paging element",
+		function () {
+			oSession.fnRestore();
+			$('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sDom": 'lfrti'
+			} );
+		},
+		function () {
+			var nNodes = $('#demo div, #demo table');
+			var nWrapper = document.getElementById('example_wrapper');
+			var nLength = document.getElementById('example_length');
+			var nFilter = document.getElementById('example_filter');
+			var nInfo = document.getElementById('example_info');
+			var nPaging = document.getElementById('example_paginate');
+			var nTable = document.getElementById('example');
+			
+			var bReturn = 
+				nNodes[0] == nWrapper &&
+				nNodes[1] == nLength &&
+				nNodes[2] == nFilter &&
+				nNodes[3] == nTable &&
+				nNodes[4] == nInfo &&
+				null == nPaging;
+			return bReturn;
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sPaginationType.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sPaginationType.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/tests_onhold/4_server-side/sPaginationType.js	(revision 6286)
@@ -0,0 +1,138 @@
+// DATA_TEMPLATE: empty_table
+oTest.fnStart( "sPaginationType" );
+
+$(document).ready( function () {
+	/* Check the default */
+	var oTable = $('#example').dataTable( {
+		"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php"
+	} );
+	var oSettings = oTable.fnSettings();
+	
+	oTest.fnWaitTest( 
+		"Check two button paging is the default",
+		null,
+		function () { return oSettings.sPaginationType == "two_button"; }
+	);
+	
+	oTest.fnWaitTest( 
+		"Check class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_two_button'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Two div elements are in the wrapper",
+		null,
+		function () { return $('#example_paginate div').length == 2; }
+	);
+	
+	oTest.fnWaitTest( 
+		"We have the previous button",
+		null,
+		function () { return document.getElementById('example_previous'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"We have the next button",
+		null,
+		function () { return document.getElementById('example_next'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Previous button is disabled",
+		null,
+		function () { return $('#example_previous').hasClass('paginate_disabled_previous'); }
+	);
+	
+	oTest.fnWaitTest( 
+		"Next button is enabled",
+		null,
+		function () { return $('#example_next').hasClass('paginate_enabled_next'); }
+	);
+	
+	/* Don't test paging - that's done by the zero config test script. */
+	
+	
+	/* Two buttons paging */
+	var bComplete = false;
+	oTest.fnWaitTest( 
+		"Can enabled full numbers paging",
+		function () {
+			oSession.fnRestore();
+			oTable = $('#example').dataTable( {
+				"bServerSide": true,
+		"sAjaxSource": "../../../examples/examples_support/server_processing.php",
+				"sPaginationType": "full_numbers",
+				"fnInitComplete": function () {
+					setTimeout( function () {
+						bComplete = true;
+					}, 500 );
+				}
+			} );
+			oSettings = oTable.fnSettings();
+		},
+		function () {
+			if ( bComplete )
+				return oSettings.sPaginationType == "full_numbers";
+			else
+				return false;
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Check full numbers class is applied",
+		null,
+		function () { return $('#example_paginate').hasClass('paging_full_numbers'); }
+	);
+	
+	
+	var nFirst, nPrevious, nNext, nLast;
+	oTest.fnWaitTest( 
+		"Jump to last page",
+		function () {
+			nFirst = $('div.dataTables_paginate span.first');
+			nPrevious = $('div.dataTables_paginate span.previous');
+			nNext = $('div.dataTables_paginate span.next');
+			nLast = $('div.dataTables_paginate span.last');
+			nLast.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 51 to 57 of 57 entries";
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Go to two pages previous",
+		function () {
+			nPrevious.click();
+			nPrevious.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 31 to 40 of 57 entries";
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Next (second last) page",
+		function () {
+			nNext.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 41 to 50 of 57 entries";
+		}
+	);
+	
+	oTest.fnWaitTest( 
+		"Jump to first page",
+		function () {
+			nFirst.click();
+		},
+		function () {
+			return document.getElementById('example_info').innerHTML == "Showing 1 to 10 of 57 entries";
+		}
+	);
+	
+	
+	oTest.fnComplete();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/unit_test.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/unit_test.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/media/unit_testing/unit_test.js	(revision 6286)
@@ -0,0 +1,405 @@
+/*
+ * File:        unit_test.js
+ * Version:     0.0.1
+ * CVS:         $Id$
+ * Description: Unit test framework
+ * Author:      Allan Jardine (www.sprymedia.co.uk)
+ * Created:     Sun Mar  8 22:02:49 GMT 2009
+ * Modified:    $Date$ by $Author$
+ * Language:    Javascript
+ * License:     GPL v2 or BSD 3 point style
+ * Project:     DataTables
+ * Contact:     allan.jardine@sprymedia.co.uk
+ * 
+ * Copyright 2009 Allan Jardine, all rights reserved.
+ *
+ * Description:
+ * This is a javascript library suitable for use as a unit testing framework. Employing a queuing
+ * mechanisim to take account of async events in javascript, this library will communicates with
+ * a controller frame (to report individual test status).
+ * 
+ */
+
+
+var oTest = {
+	/* Block further tests from occuring - might be end of tests or due to async wait */
+	bBlock: false,
+	
+	/* Number of times to try retesting for a blocking test */
+	iReTestLimit: 20,
+	
+	/* Amount of time to wait between trying for an async test */
+	iReTestDelay: 150,
+	
+	/* End tests - external control */
+	bEnd: false,
+	
+	/* Internal variables */
+	_aoQueue: [],
+	_iReTest: 0,
+	_bFinished: false,
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Recommened public functions
+	 */
+	
+	/*
+	 * Function: fnTest
+	 * Purpose:  Add a test to the queue
+	 * Returns:  -
+	 * Inputs:   string:sMessage - name of the test
+	 *           function:fnTest - function which will be evaludated to get the test result
+	 */
+	"fnTest": function ( sMessage, fnSetup, fnTest )
+	{
+		this._aoQueue.push( {
+			"sMessage": sMessage,
+			"fnSetup": fnSetup,
+			"fnTest": fnTest,
+			"bPoll": false
+		} );
+		this._fnNext();
+	},
+	
+	/*
+	 * Function: fnWaitTest
+	 * Purpose:  Add a test to the queue which has a re-test cycle
+	 * Returns:  -
+	 * Inputs:   string:sMessage - name of the test
+	 *           function:fnTest - function which will be evaludated to get the test result
+	 */
+	"fnWaitTest": function ( sMessage, fnSetup, fnTest )
+	{
+		this._aoQueue.push( {
+			"sMessage": sMessage,
+			"fnSetup": fnSetup,
+			"fnTest": fnTest,
+			"bPoll": true
+		} );
+		this._fnNext();
+	},
+	
+	/*
+	 * Function: fnStart
+	 * Purpose:  Indicate that this is a new unit and what it is testing (message to end user)
+	 * Returns:  -
+	 * Inputs:   string:sMessage - message to give to the user about this unit
+	 */
+	"fnStart": function ( sMessage )
+	{
+		window.parent.controller.fnStartMessage( sMessage );
+	},
+	
+	/*
+	 * Function: fnComplete
+	 * Purpose:  Tell the controller that we are all done here
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	"fnComplete": function ()
+	{
+		this._bFinished = true;
+		this._fnNext();
+	},
+	
+	/*
+	 * Function: fnCookieDestroy
+	 * Purpose:  Destroy a cookie of a given name
+	 * Returns:  -
+	 * Inputs:   -
+	 */
+	"fnCookieDestroy": function ( oTable )
+	{
+		var sName = oTable.fnSettings().sCookiePrefix+oTable.fnSettings().sInstance;
+		var aParts = window.location.pathname.split('/');
+		var sNameFile = sName + '_' + aParts.pop().replace(/[\/:]/g,"").toLowerCase();
+		document.cookie = sNameFile+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+
+			aParts.join('/') + "/";
+	},
+	
+	
+	
+	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+	 * Internal functions
+	 */
+	
+	
+	"_fnReTest": function ( oTestInfo )
+	{
+		var bResult = oTestInfo.fnTest( );
+		if ( bResult )
+		{
+			/* Test passed on retry */
+			this._fnResult( true );
+			this._fnNext();
+		}
+		else
+		{
+			if ( this._iReTest < this.iReTestLimit )
+			{
+				this._iReTest++;
+				setTimeout( function() {
+					oTest._fnReTest( oTestInfo );
+				}, this.iReTestDelay );
+			}
+			else
+			{
+				this._fnResult( false );
+			}
+		}
+	},
+	
+	"_fnNext": function ()
+	{
+		if ( this.bEnd )
+		{
+			return;
+		}
+		
+		if ( !this.bBlock && this._aoQueue.length > 0 )
+		{
+			var oNextTest = this._aoQueue.shift();
+			window.parent.controller.fnTestStart( oNextTest.sMessage );
+			this.bBlock = true;
+			
+			if ( typeof oNextTest.fnSetup == 'function' )
+			{
+				oNextTest.fnSetup( );
+			}
+			var bResult = oNextTest.fnTest( );
+			//bResult = false;
+			
+			if ( oNextTest.bPoll )
+			{
+				if ( bResult )
+				{
+					this._fnResult( true );
+					this._fnNext();
+				}
+				else
+				{
+					_iReTest = 0;
+					setTimeout( function() {
+						oTest._fnReTest( oNextTest );
+					}, this.iReTestDelay );
+				}
+			}
+			else
+			{
+				this._fnResult( bResult );
+				this._fnNext();
+			}
+		}
+		else if ( !this.bBlock && this._aoQueue.length == 0 && this._bFinished )
+		{
+			window.parent.controller.fnUnitComplete( );
+		}
+	},
+	
+	"_fnResult": function ( b )
+	{
+		window.parent.controller.fnTestResult( b );
+		this.bBlock = false;
+		if ( !b )
+		{
+			this.bEnd = true;
+		}
+	}
+};
+
+
+var oDispacher = {
+	"click": function ( nNode, oSpecial )
+	{
+		var evt = this.fnCreateEvent( 'click', nNode, oSpecial );
+		if ( nNode.dispatchEvent )
+			nNode.dispatchEvent(evt);
+		else
+			nNode.fireEvent('onclick', evt);
+	},
+	
+	"change": function ( nNode )
+	{
+		var evt = this.fnCreateEvent( 'change', nNode );
+		if ( nNode.dispatchEvent )
+		nNode.dispatchEvent(evt);
+		else
+			nNode.fireEvent('onchange', evt);
+	},
+	
+	
+	/*
+	 * Function: fnCreateEvent
+	 * Purpose:  Create an event oject based on the type to trigger an event - x-platform
+	 * Returns:  event:evt
+	 * Inputs:   string:sType - type of event
+	 *           node:nTarget - target node of the event
+	 */
+	fnCreateEvent: function( sType, nTarget, oSpecial )
+	{
+		var evt = null;
+		var oTargetPos = this._fnGetPos( nTarget );
+		var sTypeGroup = this._fnEventTypeGroup( sType );
+		if ( typeof oSpecial == 'undefined' )
+		{
+			oSpecial = {};
+		}
+		
+		var ctrlKey = false;
+		var altKey = false;
+		var shiftKey = (typeof oSpecial.shift != 'undefined') ? oSpecial.shift : false;
+		var metaKey = false;
+		var button = false;
+		
+		if ( document.createEvent )
+		{
+			switch ( sTypeGroup )
+			{
+				case 'mouse':
+					evt = document.createEvent( "MouseEvents" );
+					evt.initMouseEvent( sType, true, true, window, 0, oTargetPos[0], oTargetPos[1], 
+						oTargetPos[0], oTargetPos[1], ctrlKey, altKey, shiftKey, 
+						metaKey, button, null );
+					break;
+				
+				case 'html':
+					evt = document.createEvent( "HTMLEvents" );
+					evt.initEvent( sType, true, true );
+					break;
+					
+				case 'ui':
+					evt = document.createEvent( "UIEvents" );
+					evt.initUIEvent( sType, true, true, window, 0 );
+					break;
+				
+				default:
+					break;
+			}
+		}
+		else if ( document.createEventObject )
+		{
+			switch ( sTypeGroup )
+			{
+				case 'mouse':
+					evt = document.createEventObject();
+					evt.screenX = oTargetPos[0];
+					evt.screenX = oTargetPos[1];
+					evt.clientX = oTargetPos[0];
+					evt.clientY = oTargetPos[1];
+					evt.ctrlKey = ctrlKey;
+					evt.altKey = altKey;
+					evt.shiftKey = shiftKey;
+					evt.metaKey = metaKey;
+					evt.button = button;
+					evt.relatedTarget = null;
+					break;
+				
+				case 'html':
+					/* fall through to basic event object */
+					
+				case 'ui':
+					evt = document.createEventObject();
+					break;
+				
+				default:
+					break;
+			}
+		}
+		
+		return evt;
+	},
+	
+	/* 
+	 * Function: DesignCore.fnGetPos
+	 * Purpose:  Get the position of an element on the page
+	 * Returns:  array[ 0-int:left, 1-int:top ]
+	 * Inputs:   node:obj - node to analyse
+	 */
+	_fnGetPos: function ( obj ) 
+	{
+		var curleft = 0;
+		var curtop = 0;
+		
+		if (obj.offsetParent) 
+		{
+			curleft = obj.offsetLeft;
+			curtop = obj.offsetTop;
+			while (obj = obj.offsetParent ) 
+			{
+				curleft += obj.offsetLeft;
+				curtop += obj.offsetTop;
+			}
+		}
+		return [curleft,curtop];
+	},
+	
+	
+	/*
+	 * Function: _fnEventTypeGroup
+	 * Purpose:  Group the event types as per w3c groupings
+	 * Returns:  -
+	 * Inputs:   string:sType
+	 */
+	_fnEventTypeGroup: function ( sType )
+	{
+		switch ( sType )
+		{
+			case 'click':
+			case 'dblclick':
+			case 'mousedown':
+			case 'mousemove':
+			case 'mouseout':
+			case 'mouseover':
+			case 'mouseup':
+				return 'mouse';
+			
+			case 'change':
+			case 'focus':
+			case 'blur':
+			case 'select':
+			case 'submit':
+				return 'html';
+				
+			case 'keydown':
+			case 'keypress':
+			case 'keyup':
+			case 'load':
+			case 'unload':
+				return 'ui';
+			
+			default:
+				return 'custom';
+		}
+	}
+}
+
+
+var oSession = {
+	nTable: null,
+	
+	fnCache: function ()
+	{
+		this.nTable = document.getElementById('demo').cloneNode(true);
+	},
+	
+	fnRestore: function ()
+	{
+		while( $.fn.dataTableSettings.length > 0 )
+		{
+			$.fn.dataTableSettings[0].oInstance.fnDestroy();
+		}
+		//$.fn.dataTableSettings.splice( 0, $.fn.dataTableSettings.length );
+		var nDemo = document.getElementById('demo');
+		nDemo.innerHTML = "";
+		for ( var i=0, iLen=this.nTable.childNodes.length ; i<iLen ; i++ )
+		{
+			nDemo.appendChild( this.nTable.childNodes[0] );
+		}
+		this.fnCache();
+	}
+}
+
+$(document).ready( function () {
+	oSession.fnCache();
+} );
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-1.5.1.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-1.5.1.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-1.5.1.min.js	(revision 6286)
@@ -0,0 +1,16 @@
+/*!
+ * jQuery JavaScript Library v1.5.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Wed Feb 23 13:55:29 2011 -0500
+ */
+(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h==="string"&&(f[h.toLowerCase()]=a.converters[h]);l=k,k=e[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=f[m]||f["* "+k];if(!n){p=b;for(o in f){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=f[j[1]+" "+k];if(p){o=f[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&d.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bP(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bO(a,b,c,e){if(d.isArray(b)&&b.length)d.each(b,function(b,f){c||bq.test(a)?e(a,f):bO(a+"["+(typeof f==="object"||d.isArray(f)?b:"")+"]",f,c,e)});else if(c||b==null||typeof b!=="object")e(a,b);else if(d.isArray(b)||d.isEmptyObject(b))e(a,"");else for(var f in b)bO(a+"["+f+"]",b[f],c,e)}function bN(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bH,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l==="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bN(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bN(a,c,d,e,"*",g));return l}function bM(a){return function(b,c){typeof b!=="string"&&(c=b,b="*");if(d.isFunction(c)){var e=b.toLowerCase().split(bB),f=0,g=e.length,h,i,j;for(;f<g;f++)h=e[f],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bo(a,b,c){var e=b==="width"?bi:bj,f=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return f;d.each(e,function(){c||(f-=parseFloat(d.css(a,"padding"+this))||0),c==="margin"?f+=parseFloat(d.css(a,"margin"+this))||0:f-=parseFloat(d.css(a,"border"+this+"Width"))||0});return f}function ba(a,b){b.src?d.ajax({url:b.src,async:!1,dataType:"script"}):d.globalEval(b.text||b.textContent||b.innerHTML||""),b.parentNode&&b.parentNode.removeChild(b)}function _(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function $(a,b){if(b.nodeType===1){var c=b.nodeName.toLowerCase();b.clearAttributes(),b.mergeAttributes(a);if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(d.expando)}}function Z(a,b){if(b.nodeType===1&&d.hasData(a)){var c=d.expando,e=d.data(a),f=d.data(b,e);if(e=e[c]){var g=e.events;f=f[c]=d.extend({},e);if(g){delete f.handle,f.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)d.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function Y(a,b){return d.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function O(a,b,c){if(d.isFunction(b))return d.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return d.grep(a,function(a,d){return a===b===c});if(typeof b==="string"){var e=d.grep(a,function(a){return a.nodeType===1});if(J.test(b))return d.filter(b,e,!c);b=d.filter(b,e)}return d.grep(a,function(a,e){return d.inArray(a,b)>=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;i<t.length;i++)g=t[i],g.origType.replace(p,"")===a.type?r.push(g.selector):t.splice(i--,1);f=d(a.target).closest(r,a.currentTarget);for(j=0,k=f.length;j<k;j++){m=f[j];for(i=0;i<t.length;i++){g=t[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,e=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,e=d(a.relatedTarget).closest(g.selector)[0];(!e||e!==h)&&q.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=q.length;j<k;j++){f=q[j];if(c&&f.level>c)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){e=i[c],f=a[c];if(i===f)continue;l&&f&&(d.isPlainObject(f)||(g=d.isArray(f)))?(g?(g=!1,h=e&&d.isArray(e)?e:[]):h=e&&d.isPlainObject(e)?e:{},i[c]=d.extend(l,h,f)):f!==b&&(i[c]=f)}return i},d.extend({noConflict:function(b){a.$=f,b&&(a.jQuery=e);return d},isReady:!1,readyWait:1,ready:function(a){a===!0&&d.readyWait--;if(!d.readyWait||a!==!0&&!d.isReady){if(!c.body)return setTimeout(d.ready,1);d.isReady=!0;if(a!==!0&&--d.readyWait>0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g<h;)if(c.apply(a[g++],e)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(var j=a[0];g<h&&c.call(j,g,j)!==!1;j=a[++g]){}return a},trim:F?function(a){return a==null?"":F.call(a)}:function(a){return a==null?"":(a+"").replace(j,"").replace(k,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var e=d.type(a);a.length==null||e==="string"||e==="function"||e==="regexp"||d.isWindow(a)?D.call(c,a):d.merge(c,a)}return c},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length==="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,b,c){var d=[],e;for(var f=0,g=a.length;f<g;f++)e=b(a[f],f,c),e!=null&&(d[d.length]=e);return d.concat.apply([],d)},guid:1,proxy:function(a,c,e){arguments.length===2&&(typeof c==="string"?(e=a,a=e[c],c=b):c&&!d.isFunction(c)&&(e=c,c=b)),!c&&a&&(c=function(){return a.apply(e||this,arguments)}),a&&(c.guid=a.guid=a.guid||c.guid||d.guid++);return c},access:function(a,c,e,f,g,h){var i=a.length;if(typeof c==="object"){for(var j in c)d.access(a,j,c[j],f,g,e);return a}if(e!==b){f=!h&&f&&d.isFunction(e);for(var k=0;k<i;k++)g(a[k],c,f?e.call(a[k],k,g(a[k],c)):e,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},_Deferred:function(){var a=[],b,c,e,f={done:function(){if(!e){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=d.type(i),j==="array"?f.done.apply(f,i):j==="function"&&a.push(i);k&&f.resolveWith(k[0],k[1])}return this},resolveWith:function(d,f){if(!e&&!b&&!c){c=1;try{while(a[0])a.shift().apply(d,f)}catch(g){throw g}finally{b=[d,f],c=0}}return this},resolve:function(){f.resolveWith(d.isFunction(this.promise)?this.promise():this,arguments);return this},isResolved:function(){return c||b},cancel:function(){e=1,a=[];return this}};return f},Deferred:function(a){var b=d._Deferred(),c=d._Deferred(),e;d.extend(b,{then:function(a,c){b.done(a).fail(c);return this},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,promise:function(a){if(a==null){if(e)return e;e=a={}}var c=z.length;while(c--)a[z[c]]=b[z[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){var b=arguments.length,c=b<=1&&a&&d.isFunction(a.promise)?a:d.Deferred(),e=c.promise();if(b>1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test("Â ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i<j;i++)h=g[i].name,h.indexOf("data-")===0&&(h=h.substr(5),f(this[0],h,e[h]))}}return e}if(typeof a==="object")return this.each(function(){d.data(this,a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(c===b){e=this.triggerHandler("getData"+k[1]+"!",[k[0]]),e===b&&this.length&&(e=d.data(this[0],a),e=f(this[0],a,e));return e===b&&k[1]?this.data(k[0]):e}return this.each(function(){var b=d(this),e=[k[0],c];b.triggerHandler("setData"+k[1]+"!",e),d.data(this,a,c),b.triggerHandler("changeData"+k[1]+"!",e)})},removeData:function(a){return this.each(function(){d.removeData(this,a)})}}),d.extend({queue:function(a,b,c){if(a){b=(b||"fx")+"queue";var e=d._data(a,b);if(!c)return e||[];!e||d.isArray(c)?e=d._data(a,b,d.makeArray(c)):e.push(c);return e}},dequeue:function(a,b){b=b||"fx";var c=d.queue(a,b),e=c.shift();e==="inprogress"&&(e=c.shift()),e&&(b==="fx"&&c.unshift("inprogress"),e.call(a,function(){d.dequeue(a,b)})),c.length||d.removeData(a,b+"queue",!0)}}),d.fn.extend({queue:function(a,c){typeof a!=="string"&&(c=a,a="fx");if(c===b)return d.queue(this[0],a);return this.each(function(b){var e=d.queue(this,a,c);a==="fx"&&e[0]!=="inprogress"&&d.dequeue(this,a)})},dequeue:function(a){return this.each(function(){d.dequeue(this,a)})},delay:function(a,b){a=d.fx?d.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){d.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var h=/[\n\t\r]/g,i=/\s+/,j=/\r/g,k=/^(?:href|src|style)$/,l=/^(?:button|input)$/i,m=/^(?:button|input|object|select|textarea)$/i,n=/^a(?:rea)?$/i,o=/^(?:radio|checkbox)$/i;d.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"},d.fn.extend({attr:function(a,b){return d.access(this,a,b,!0,d.attr)},removeAttr:function(a,b){return this.each(function(){d.attr(this,a,""),this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.addClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"){var b=(a||"").split(i);for(var c=0,e=this.length;c<e;c++){var f=this[c];if(f.nodeType===1)if(f.className){var g=" "+f.className+" ",h=f.className;for(var j=0,k=b.length;j<k;j++)g.indexOf(" "+b[j]+" ")<0&&(h+=" "+b[j]);f.className=d.trim(h)}else f.className=a}}return this},removeClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"||a===b){var c=(a||"").split(i);for(var e=0,f=this.length;e<f;e++){var g=this[e];if(g.nodeType===1&&g.className)if(a){var j=(" "+g.className+" ").replace(h," ");for(var k=0,l=c.length;k<l;k++)j=j.replace(" "+c[k]+" "," ");g.className=d.trim(j)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,e=typeof b==="boolean";if(d.isFunction(a))return this.each(function(c){var e=d(this);e.toggleClass(a.call(this,c,e.attr("class"),b),b)});return this.each(function(){if(c==="string"){var f,g=0,h=d(this),j=b,k=a.split(i);while(f=k[g++])j=e?j:!h.hasClass(f),h[j?"addClass":"removeClass"](f)}else if(c==="undefined"||c==="boolean")this.className&&d._data(this,"__className__",this.className),this.className=this.className||a===!1?"":d._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(h," ").indexOf(b)>-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k<l;k++){var m=h[k];if(m.selected&&(d.support.optDisabled?!m.disabled:m.getAttribute("disabled")===null)&&(!m.parentNode.disabled||!d.nodeName(m.parentNode,"optgroup"))){a=d(m).val();if(i)return a;g.push(a)}}if(i&&!g.length&&h.length)return d(h[f]).val();return g}if(o.test(c.type)&&!d.support.checkOn)return c.getAttribute("value")===null?"on":c.value;return(c.value||"").replace(j,"")}return b}var n=d.isFunction(a);return this.each(function(b){var c=d(this),e=a;if(this.nodeType===1){n&&(e=a.call(this,b,c.val())),e==null?e="":typeof e==="number"?e+="":d.isArray(e)&&(e=d.map(e,function(a){return a==null?"":a+""}));if(d.isArray(e)&&o.test(this.type))this.checked=d.inArray(c.val(),e)>=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))d.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=d.event.special[h]||{};for(j=f||0;j<p.length;j++){q=p[j];if(e.guid===q.guid){if(l||n.test(q.namespace))f==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(f!=null)break}}if(p.length===0||f!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&d.removeEvent(a,h,s.handle),g=null,delete t[h]}if(d.isEmptyObject(t)){var w=s.handle;w&&(w.elem=null),delete s.events,delete s.handle,d.isEmptyObject(s)&&d.removeData(a,b,!0)}}},trigger:function(a,c,e){var f=a.type||a,g=arguments[3];if(!g){a=typeof a==="object"?a[d.expando]?a:d.extend(d.Event(f),a):d.Event(f),f.indexOf("!")>=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l<m;l++){var n=f[l];if(e||h.test(n.namespace)){c.handler=n.handler,c.data=n.data,c.handleObj=n;var o=n.handler.apply(this,k);o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[d.expando])return a;var e=a;a=d.Event(e);for(var f=this.props.length,g;f;)g=this.props[--f],a[g]=e[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=c.documentElement,i=c.body;a.pageX=a.clientX+(h&&h.scrollLeft||i&&i.scrollLeft||0)-(h&&h.clientLeft||i&&i.clientLeft||0),a.pageY=a.clientY+(h&&h.scrollTop||i&&i.scrollTop||0)-(h&&h.clientTop||i&&i.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:d.proxy,special:{ready:{setup:d.bindReady,teardown:d.noop},live:{add:function(a){d.event.add(this,F(a.origType,a.selector),d.extend({},a,{handler:E,guid:a.handler.guid}))},remove:function(a){d.event.remove(this,F(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){d.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},d.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},d.Event=function(a){if(!this.preventDefault)return new d.Event(a);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?w:v):this.type=a,this.timeStamp=d.now(),this[d.expando]=!0},d.Event.prototype={preventDefault:function(){this.isDefaultPrevented=w;var a=this.originalEvent;a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=w;var a=this.originalEvent;a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=w,this.stopPropagation()},isDefaultPrevented:v,isPropagationStopped:v,isImmediatePropagationStopped:v};var x=function(a){var b=a.relatedTarget;try{if(b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&(a.type=a.data,d.event.handle.apply(this,arguments))}catch(e){}},y=function(a){a.type=a.data,d.event.handle.apply(this,arguments)};d.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){d.event.special[a]={setup:function(c){d.event.add(this,b,c&&c.selector?y:x,a)},teardown:function(a){d.event.remove(this,b,a&&a.selector?y:x)}}}),d.support.submitBubbles||(d.event.special.submit={setup:function(a,b){if(this.nodeName&&this.nodeName.toLowerCase()!=="form")d.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&d(b).closest("form").length&&C("submit",this,arguments)}),d.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&d(b).closest("form").length&&a.keyCode===13&&C("submit",this,arguments)});else return!1},teardown:function(a){d.event.remove(this,".specialSubmit")}});if(!d.support.changeBubbles){var z,A=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i<j;i++)d.event.add(this[i],a,h,e);return this}}),d.fn.extend({unbind:function(a,b){if(typeof a!=="object"||a.preventDefault)for(var e=0,f=this.length;e<f;e++)d.event.remove(this[e],a,b);else for(var c in a)this.unbind(c,a[c]);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){d.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var c=d.Event(a);c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result}},toggle:function(a){var b=arguments,c=1;while(c<b.length)d.proxy(a,b[c++]);return this.click(d.proxy(a,function(e){var f=(d._data(this,"lastToggle"+a.guid)||0)%c;d._data(this,"lastToggle"+a.guid,f+1),e.preventDefault();return b[f].apply(this,arguments)||!1}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var D={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};d.each(["live","die"],function(a,c){d.fn[c]=function(a,e,f,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:d(this.context);if(typeof a==="object"&&!a.preventDefault){for(var o in a)n[c](o,e,a[o],m);return this}d.isFunction(e)&&(f=e,e=b),a=(a||"").split(" ");while((h=a[i++])!=null){j=p.exec(h),k="",j&&(k=j[0],h=h.replace(p,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,h==="focus"||h==="blur"?(a.push(D[h]+k),h=h+k):h=(D[h]||h)+k;if(c==="live")for(var q=0,r=n.length;q<r;q++)d.event.add(n[q],"live."+F(h,m),{data:e,selector:m,handler:f,origType:h,origHandler:f,preType:l});else n.unbind("live."+F(h,m),f)}return this}}),d.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){d.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!=="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!=="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(f){if(f===!0)continue}else g=o=!0}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b==="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1){}a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!=="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!=="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!=="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(a===b){g=!0;return 0}if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};d.find=k,d.expr=k.selectors,d.expr[":"]=d.expr.filters,d.unique=k.uniqueSort,d.text=k.getText,d.isXMLDoc=k.isXML,d.contains=k.contains}();var G=/Until$/,H=/^(?:parents|prevUntil|prevAll)/,I=/,/,J=/^.[^:#\[\.,]*$/,K=Array.prototype.slice,L=d.expr.match.POS,M={children:!0,contents:!0,next:!0,prev:!0};d.fn.extend({find:function(a){var b=this.pushStack("","find",a),c=0;for(var e=0,f=this.length;e<f;e++){c=b.length,d.find(a,this[e],b);if(e>0)for(var g=c;g<b.length;g++)for(var h=0;h<c;h++)if(b[h]===b[g]){b.splice(g--,1);break}}return b},has:function(a){var b=d(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(d.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(O(this,a,!1),"not",a)},filter:function(a){return this.pushStack(O(this,a,!0),"filter",a)},is:function(a){return!!a&&d.filter(a,this).length>0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e<f;e++)i=a[e],j[i]||(j[i]=d.expr.match.POS.test(i)?d(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e<f;e++){g=this[e];while(g){if(l?l.index(g)>-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/<tbody/i,U=/<|&#?\w+;/,V=/<(?:script|object|embed|option|style)/i,W=/checked\s*(?:[^=]|=\s*.checked.)/i,X={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div<div>","</div>"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1></$2>");try{for(var c=0,e=this.length;c<e;c++)this[c].nodeType===1&&(d.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(f){this.empty().append(a)}}return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(d.isFunction(a))return this.each(function(b){var c=d(this),e=c.html();c.replaceWith(a.call(this,b,e))});typeof a!=="string"&&(a=d(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;d(this).remove(),b?d(b).before(a):d(c).append(a)})}return this.pushStack(d(d.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,e){var f,g,h,i,j=a[0],k=[];if(!d.support.checkClone&&arguments.length===3&&typeof j==="string"&&W.test(j))return this.each(function(){d(this).domManip(a,c,e,!0)});if(d.isFunction(j))return this.each(function(f){var g=d(this);a[0]=j.call(this,f,c?g.html():b),g.domManip(a,c,e)});if(this[0]){i=j&&j.parentNode,d.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?f={fragment:i}:f=d.buildFragment(a,this,k),h=f.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&d.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)e.call(c?Y(this[l],g):this[l],f.cacheable||m>1&&l<n?d.clone(h,!0,!0):h)}k.length&&d.each(k,ba)}return this}}),d.buildFragment=function(a,b,e){var f,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]==="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!V.test(a[0])&&(d.support.checkClone||!W.test(a[0]))&&(g=!0,h=d.fragments[a[0]],h&&(h!==1&&(f=h))),f||(f=i.createDocumentFragment(),d.clean(a,i,f,e)),g&&(d.fragments[a[0]]=h?f:1);return{fragment:f,cacheable:g}},d.fragments={},d.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){d.fn[a]=function(c){var e=[],f=d(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&f.length===1){f[b](this[0]);return this}for(var h=0,i=f.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1></$2>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]==="<table>"&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("<div>").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)e=this[g],f=e.style.display,!d._data(e,"olddisplay")&&f==="none"&&(f=e.style.display=""),f===""&&d.css(e,"display")==="none"&&d._data(e,"olddisplay",cd(e.nodeName));for(g=0;g<h;g++){e=this[g],f=e.style.display;if(f===""||f==="none")e.style.display=d._data(e,"olddisplay")||""}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cc("hide",3),a,b,c);for(var e=0,f=this.length;e<f;e++){var g=d.css(this[e],"display");g!=="none"&&!d._data(this[e],"olddisplay")&&d._data(this[e],"olddisplay",g)}for(e=0;e<f;e++)this[e].style.display="none";return this},_toggle:d.fn.toggle,toggle:function(a,b,c){var e=typeof a==="boolean";d.isFunction(a)&&d.isFunction(b)?this._toggle.apply(this,arguments):a==null||e?this.each(function(){var b=e?a:d(this).is(":hidden");d(this)[b?"show":"hide"]()}):this.animate(cc("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,e){var f=d.speed(b,c,e);if(d.isEmptyObject(a))return this.each(f.complete);return this[f.queue===!1?"each":"queue"](function(){var b=d.extend({},f),c,e=this.nodeType===1,g=e&&d(this).is(":hidden"),h=this;for(c in a){var i=d.camelCase(c);c!==i&&(a[i]=a[c],delete a[c],c=i);if(a[c]==="hide"&&g||a[c]==="show"&&!g)return b.complete.call(this);if(e&&(c==="height"||c==="width")){b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(d.css(this,"display")==="inline"&&d.css(this,"float")==="none")if(d.support.inlineBlockNeedsLayout){var j=cd(this.nodeName);j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)}else this.style.display="inline-block"}d.isArray(a[c])&&((b.specialEasing=b.specialEasing||{})[c]=a[c][1],a[c]=a[c][0])}b.overflow!=null&&(this.style.overflow="hidden"),b.curAnim=d.extend({},a),d.each(a,function(c,e){var f=new d.fx(h,b,c);if(b$.test(e))f[e==="toggle"?g?"show":"hide":e](a);else{var i=b_.exec(e),j=f.cur();if(i){var k=parseFloat(i[2]),l=i[3]||(d.cssNumber[c]?"":"px");l!=="px"&&(d.style(h,c,(k||1)+l),j=(k||1)/f.cur()*j,d.style(h,c,j+l)),i[1]&&(k=(i[1]==="-="?-1:1)*k+j),f.custom(j,k,l)}else f.custom(j,e,"")}});return!0})},stop:function(a,b){var c=d.timers;a&&this.queue([]),this.each(function(){for(var a=c.length-1;a>=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||d.fx.stop()},interval:13,stop:function(){clearInterval(ca),ca=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){d.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),d.expr&&d.expr.filters&&(d.expr.filters.animated=function(a){return d.grep(d.timers,function(b){return a===b.elem}).length});var ce=/^t(?:able|d|h)$/i,cf=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?d.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,g=f.documentElement;if(!c||!d.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=f.body,i=cg(f),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||d.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||d.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:d.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);d.offset.initialize();var c,e=b.offsetParent,f=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(d.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===e&&(l+=b.offsetTop,m+=b.offsetLeft,d.offset.doesNotAddBorder&&(!d.offset.doesAddBorderForTableAndCells||!ce.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),f=e,e=b.offsetParent),d.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;d.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},d.offset={initialize:function(){var a=c.body,b=c.createElement("div"),e,f,g,h,i=parseFloat(d.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window);
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-ui-1.8.12.custom.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-ui-1.8.12.custom.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-ui-1.8.12.custom.min.js	(revision 6286)
@@ -0,0 +1,783 @@
+/*!
+ * jQuery UI 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.12",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,
+NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,
+"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");
+if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,
+"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,
+d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}});
+c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&
+b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
+;/*!
+ * jQuery UI Widget 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
+a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
+e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
+this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
+widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
+enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
+;/*!
+ * jQuery UI Mouse 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ *	jquery.ui.widget.js
+ */
+(function(b){b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=
+a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,e=a.which==1,f=typeof this.options.cancel=="string"?b(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
+this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(d){return c._mouseMove(d)};this._mouseUpDelegate=function(d){return c._mouseUp(d)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled=
+true}},_mouseMove:function(a){if(b.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);
+if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
+;/*
+ * jQuery UI Position 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Position
+ */
+(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
+left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
+k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
+m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
+d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
+a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
+g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
+;/*
+ * jQuery UI Draggable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Draggables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
+"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
+this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-
+this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();
+d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||
+this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&
+this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==
+a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||
+0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
+this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-
+(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),
+height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?
+document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),
+10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),
+10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&
+d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
+this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=
+this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])?
+e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():
+f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,
+offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.12"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g.refreshPositions();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},
+b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=
+d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};
+a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&
+this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",
+{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+
+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",
+a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+
+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<
+c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+
+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),
+f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h=c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top=
+c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top=
+c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),
+{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=
+parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
+;/*
+ * jQuery UI Droppable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Droppables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.draggable.js
+ */
+(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
+a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
+this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
+this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
+d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
+a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.12"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
+switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
+i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
+"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
+a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=
+d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})}}})(jQuery);
+;/*
+ * jQuery UI Resizable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
+_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
+top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
+this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
+nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
+String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
+this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};
+if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),
+d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=
+this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:
+this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",
+b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;
+f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");
+this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=
+null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=l(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=l(b.width)&&a.minWidth&&a.minWidth>b.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+
+this.size.height,k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=
+[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=
+this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,
+a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,
+c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,
+originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.12"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=
+b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width",
+"height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};
+if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-
+g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,
+height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=
+e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,
+d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?
+d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=
+a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&
+/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");
+b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/
+(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
+;/*
+ * jQuery UI Selectable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
+selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
+c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",
+c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d=
+this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
+a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&
+!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=
+e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.12"})})(jQuery);
+;/*
+ * jQuery UI Sortable 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Sortables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable");
+this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=
+b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;
+d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-
+this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
+this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
+document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
+return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
+b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
+b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
+a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
+e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
+c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
+this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
+dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
+toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
+this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
+var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
+_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
+if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
+this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
+this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
+this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
+this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
+d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
+0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
+a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
+f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
+this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
+""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
+this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
+{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
+10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
+document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
+10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
+this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
+this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
+var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
+this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
+this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
+this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
+"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
+f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
+this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
+a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
+_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.12"})})(jQuery);
+;/*
+ * jQuery UI Accordion 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
+a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
+if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",
+function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a=
+this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
+this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();
+b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target);
+a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+
+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options;
+if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
+if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(),
+e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight||
+e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",
+"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.12",
+animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);
+f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",
+paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
+;/*
+ * jQuery UI Autocomplete 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ *	jquery.ui.position.js
+ */
+(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.attr("readonly"))){g=
+false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=
+a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};
+this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&&
+a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");
+d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&
+b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source=
+this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();
+this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label||
+b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this;
+d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
+"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery);
+(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
+-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.attr("scrollTop"),c=this.element.height();if(b<0)this.element.attr("scrollTop",g+b);else b>=c&&this.element.attr("scrollTop",g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},
+deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);
+e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b,this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,
+g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));
+this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery);
+;/*
+ * jQuery UI Button 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,f=a([]);if(c)f=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form});return f};a.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",
+i);if(typeof this.options.disabled!=="boolean")this.options.disabled=this.element.attr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",
+function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||a(this).removeClass(f)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active");
+b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var e=b.element[0];h(e).not(e).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");
+g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(e){if(c.disabled)return false;if(e.keyCode==a.ui.keyCode.SPACE||e.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled",
+c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type==="radio"){var b=this.element.parents().filter(":last"),c="label[for="+this.element.attr("id")+"]";this.buttonElement=b.find(c);if(!this.buttonElement.length){b=b.length?b.siblings():this.element.siblings();this.buttonElement=b.filter(c);if(!this.buttonElement.length)this.buttonElement=b.find(c)}this.element.addClass("ui-helper-hidden-accessible");
+(b=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active  ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());
+this.hasTitle||this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
+true):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
+c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,f=d.primary&&d.secondary,e=[];if(d.primary||d.secondary){if(this.options.text)e.push("ui-button-text-icon"+(f?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>");d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>");if(!this.options.text){e.push(f?"ui-button-icons-only":
+"ui-button-icon-only");this.hasTitle||b.attr("title",c)}}else e.push("ui-button-text-only");b.addClass(e.join(" "))}}});a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()},
+destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery);
+;/*
+ * jQuery UI Dialog 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ *  jquery.ui.button.js
+ *	jquery.ui.draggable.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.position.js
+ *	jquery.ui.resizable.js
+ */
+(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
+position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
+h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
+e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
+a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
+b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=
+1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
+f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
+function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
+handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
+originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
+f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
+[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
+if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
+e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
+this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
+b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.12",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
+create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),
+height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);
+b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,
+function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
+;/*
+ * jQuery UI Slider 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");a.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");
+this.range=d([]);if(a.range){if(a.range===true){this.range=d("<div></div>");if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}else this.range=d("<div></div>");this.range.appendTo(this.element).addClass("ui-slider-range");if(a.range==="min"||a.range==="max")this.range.addClass("ui-slider-range-"+a.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
+if(a.values&&a.values.length)for(;d(".ui-slider-handle",this.element).length<a.values.length;)d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur();
+else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),h,g,i;if(!b.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e=
+false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");h=b._start(c,f);if(h===false)return}break}i=b.options.step;h=b.options.values&&b.options.values.length?(g=b.values(f)):(g=b.value());switch(c.keyCode){case d.ui.keyCode.HOME:g=b._valueMin();break;case d.ui.keyCode.END:g=b._valueMax();break;case d.ui.keyCode.PAGE_UP:g=b._trimAlignValue(h+(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:g=b._trimAlignValue(h-(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(h===
+b._valueMax())return;g=b._trimAlignValue(h+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(h===b._valueMin())return;g=b._trimAlignValue(h-i);break}b._slide(c,f,g);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(c,e);b._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
+this._mouseDestroy();return this},_mouseCapture:function(b){var a=this.options,c,e,f,h,g;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:b.pageX,y:b.pageY});e=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(i){var j=Math.abs(c-h.values(i));if(e>j){e=j;f=d(this);g=i}});if(a.range===true&&this.values(1)===a.min){g+=1;f=d(this.handles[g])}if(this._start(b,
+g)===false)return false;this._mouseSliding=true;h._handleIndex=g;f.addClass("ui-state-active").focus();a=f.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-f.width()/2,top:b.pageY-a.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(b,g,c);return this._animateOff=true},_mouseStart:function(){return true},
+_mouseDrag:function(b){var a=this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a;
+if(this.orientation==="horizontal"){a=this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=
+this.values(a);c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var e;if(this.options.values&&this.options.values.length){e=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>e||a===1&&c<e))c=e;if(c!==this.values(a)){e=this.values();e[a]=c;b=this._trigger("slide",b,{handle:this.handles[a],value:c,values:e});this.values(a?0:1);b!==false&&this.values(a,c,true)}}else if(c!==this.value()){b=this._trigger("slide",b,{handle:this.handles[a],
+value:c});b!==false&&this.value(c)}},_stop:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("stop",b,c)},_change:function(b,a){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("change",b,c)}},value:function(b){if(arguments.length){this.options.value=
+this._trimAlignValue(b);this._refreshValue();this._change(null,0)}else return this._value()},values:function(b,a){var c,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;f<c.length;f+=1){c[f]=this._trimAlignValue(e[f]);this._change(null,f)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(b):
+this.value();else return this._values()},_setOption:function(b,a){var c,e=0;if(d.isArray(this.options.values))e=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(b){case "disabled":if(a){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
+this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<e;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var b=this.options.value;return b=this._trimAlignValue(b)},_values:function(b){var a,c;if(arguments.length){a=this.options.values[b];
+return a=this._trimAlignValue(a)}else{a=this.options.values.slice();for(c=0;c<a.length;c+=1)a[c]=this._trimAlignValue(a[c]);return a}},_trimAlignValue:function(b){if(b<=this._valueMin())return this._valueMin();if(b>=this._valueMax())return this._valueMax();var a=this.options.step>0?this.options.step:1,c=(b-this._valueMin())%a;alignValue=b-c;if(Math.abs(c)*2>=a)alignValue+=c>0?a:-a;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},
+_refreshValue:function(){var b=this.options.range,a=this.options,c=this,e=!this._animateOff?a.animate:false,f,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},a.animate);
+if(k===1)c.range[e?"animate":"css"]({width:f-g+"%"},{queue:false,duration:a.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},a.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:a.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,
+1)[e?"animate":"css"]({width:f+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.12"})})(jQuery);
+;/*
+ * jQuery UI Tabs 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
+e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
+d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
+(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
+this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
+this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
+if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
+this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
+g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
+function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
+this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
+-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
+d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
+d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
+e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
+j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
+if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
+this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
+load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
+"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
+url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.12"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
+a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
+;/*
+ * jQuery UI Datepicker 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ */
+(function(d,A){function K(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
+"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
+"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
+minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')}function F(a,b){d.extend(a,b);for(var c in b)if(b[c]==
+null||b[c]==A)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.12"}});var y=(new Date).getTime();d.extend(K.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){F(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();
+f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')}},
+_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&
+b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==
+""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,
+c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),
+true);this._updateDatepicker(b);this._updateAlternate(b);b.dpDiv.show()}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}F(a.settings,e||{});
+b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);
+this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",
+this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,
+function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:
+f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?d.extend({},
+e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");F(e.settings,f);if(i!==null&&f.dateFormat!==A&&f.minDate===A)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==A&&f.maxDate===A)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDateDatepicker(a,h);this._updateDatepicker(e)}},
+_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
+b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]?d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]):d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),
+"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?
+-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,
++7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==A?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);
+if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);
+d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");F(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=
+document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");
+var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=
+b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a));var e=a.dpDiv.find("iframe.ui-datepicker-cover");e.length&&e.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");
+this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+
+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&
+a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var f=a.yearshtml;setTimeout(function(){f===a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);f=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():
+0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),
+"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?
+"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=
+d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=
+d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c==
+"M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b=this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=
+b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();
+this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);
+a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?
+c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=z+1<a.length&&a.charAt(z+1)==p)&&z++;return p},m=function(p){var v=o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&v?4:p=="o"?3:2)+"}");p=b.substring(s).match(p);if(!p)throw"Missing number at position "+s;s+=p[0].length;return parseInt(p[0],10)},n=function(p,v,H){p=o(p)?H:v;for(v=0;v<p.length;v++)if(b.substr(s,p[v].length).toLowerCase()==p[v].toLowerCase()){s+=p[v].length;return v+1}throw"Unknown name at position "+
+s;},r=function(){if(b.charAt(s)!=a.charAt(z))throw"Unexpected literal at position "+s;s++},s=0,z=0;z<a.length;z++)if(k)if(a.charAt(z)=="'"&&!o("'"))k=false;else r();else switch(a.charAt(z)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var w=new Date(m("@"));c=w.getFullYear();j=w.getMonth()+1;l=w.getDate();break;case "!":w=new Date((m("!")-this._ticksTo1970)/1E4);c=w.getFullYear();j=w.getMonth()+
+1;l=w.getDate();break;case "'":if(o("'"))r();else k=true;break;default:r()}if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}w=this._daylightSavingAdjust(new Date(c,j-1,l));if(w.getFullYear()!=c||w.getMonth()+1!=j||w.getDate()!=l)throw"Invalid date";return w},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",
+RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&
+a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,r){return i(o)?r[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",(b.getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5,3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",
+b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+=
+"0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==A?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=
+f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=
+(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,
+l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=
+a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),
+b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=
+this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+
+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+r+'"><span class="ui-icon ui-icon-circle-triangle-'+
+(c?"w":"e")+'">'+r+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>";j=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&a.currentDay?u:b;j=!h?j:this.formatDate(j,r,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+y+'.datepicker._hideDatepicker();">'+this._get(a,
+"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,r)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=
+this._get(a,"monthNames"),w=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),v=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var L=this._getDefaultDate(a),I="",D=0;D<i[0];D++){for(var M="",E=0;E<i[1];E++){var N=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",x="";if(l){x+='<div class="ui-datepicker-group';if(i[1]>1)switch(E){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-
+1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&D==0?c?f:n:"")+(/all|right/.test(t)&&D==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,D>0||E>0,z,w)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var B=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var q=
+(t+h)%7;B+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+r[q]+'">'+s[q]+"</span></th>"}x+=B+"</tr></thead><tbody>";B=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,B);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;B=l?6:Math.ceil((t+B)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O<B;O++){x+="<tr>";var P=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(q)+"</td>";for(t=0;t<7;t++){var G=
+p?p.apply(a.input?a.input[0]:null,[q]):[true,""],C=q.getMonth()!=g,J=C&&!H||!G[0]||k&&q<k||o&&q>o;P+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(C?" ui-datepicker-other-month":"")+(q.getTime()==N.getTime()&&g==a.selectedMonth&&a._keyEvent||L.getTime()==q.getTime()&&L.getTime()==N.getTime()?" "+this._dayOverClass:"")+(J?" "+this._unselectableClass+" ui-state-disabled":"")+(C&&!v?"":" "+G[1]+(q.getTime()==u.getTime()?" "+this._currentClass:"")+(q.getTime()==b.getTime()?" ui-datepicker-today":
+""))+'"'+((!C||v)&&G[2]?' title="'+G[2]+'"':"")+(J?"":' onclick="DP_jQuery_'+y+".datepicker._selectDay('#"+a.id+"',"+q.getMonth()+","+q.getFullYear()+', this);return false;"')+">"+(C&&!v?"&#xa0;":J?'<span class="ui-state-default">'+q.getDate()+"</span>":'<a class="ui-state-default'+(q.getTime()==b.getTime()?" ui-state-highlight":"")+(q.getTime()==u.getTime()?" ui-state-active":"")+(C?" ui-priority-secondary":"")+'" href="#">'+q.getDate()+"</a>")+"</td>";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=
+P+"</tr>"}g++;if(g>11){g=0;m++}x+="</tbody></table>"+(l?"</div>"+(i[0]>0&&E==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");M+=x}I+=M}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',
+o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&
+l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+
+a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";if(d.browser.mozilla)k+='<select class="ui-datepicker-year"><option value="'+c+'" selected="selected">'+c+"</option></select>";else{k+=a.yearshtml;a.yearshtml=null}}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=
+a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,
+"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);
+c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,
+"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=
+function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,
+[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new K;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.12";window["DP_jQuery_"+y]=d})(jQuery);
+;/*
+ * jQuery UI Progressbar 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar
+ *
+ * Depends:
+ *   jquery.ui.core.js
+ *   jquery.ui.widget.js
+ */
+(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
+this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
+this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.12"})})(jQuery);
+;/*
+ * jQuery UI Effects 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/
+ */
+jQuery.effects||function(f,j){function n(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
+16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return o.transparent;return o[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return n(b)}function p(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
+a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function q(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
+a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function m(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
+"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=n(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var o={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
+0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
+211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},r=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,
+d){if(f.isFunction(b)){d=b;b=null}return this.queue("fx",function(){var e=f(this),g=e.attr("style")||" ",h=q(p.call(this)),l,v=e.attr("className");f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});l=q(p.call(this));e.attr("className",v);e.animate(u(h,l),a,b,function(){f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)});h=f.queue(this);l=h.splice(h.length-1,1)[0];
+h.splice(1,0,l);f.dequeue(this)})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,
+a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.12",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,
+a){var b;switch(c[0]){case "top":b=0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",
+border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);
+return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});return d.call(this,b)},_show:f.fn.show,show:function(c){if(m(c))return this._show.apply(this,arguments);
+else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(m(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(m(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),
+b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,
+a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,
+a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==
+e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=
+g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/
+h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,
+a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
+;/*
+ * jQuery UI Effects Blind 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Blind
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
+g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Bounce 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Bounce
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","bottom","left","right"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
+3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
+b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Clip 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Clip
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
+c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Drop 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Drop
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e==
+"show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Explode 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Explode
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
+0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
+e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
+;/*
+ * jQuery UI Effects Fade 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fade
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Fold 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fold
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],
+10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Highlight 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Highlight
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
+this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Pulsate 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Pulsate
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
+a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Scale 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Scale
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
+b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
+1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
+p=c.effects.setMode(a,b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};
+if(m=="box"||m=="both"){if(d.from.y!=d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);
+a.css("overflow","hidden").css(a.from);if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);
+child.to=c.effects.setTransition(child,f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,
+n?e:g);c.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Shake 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Shake
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","bottom","left","right"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=
+(h=="pos"?"-=":"+=")+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Slide 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Slide
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
+var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Transfer 1.8.12
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Transfer
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
+b.dequeue()})})}})(jQuery);
+;
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-ui-1.8.13.custom.min.js
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-ui-1.8.13.custom.min.js	(revision 6286)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/js/jquery-ui-1.8.13.custom.min.js	(revision 6286)
@@ -0,0 +1,784 @@
+/*!
+ * jQuery UI 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.13",
+keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();
+b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,
+"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",
+function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,
+outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,"tabindex"),d=isNaN(b);
+return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=
+0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)}})}})(jQuery);
+;/*!
+ * jQuery UI Widget 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,
+a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h;
+e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,
+this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},
+widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},
+enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
+;/*!
+ * jQuery UI Mouse 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ *	jquery.ui.widget.js
+ */
+(function(b){var d=false;b(document).mousedown(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
+this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"?b(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
+this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
+!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
+false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
+;/*
+ * jQuery UI Position 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Position
+ */
+(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
+left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
+k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
+m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
+d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
+a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
+g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
+;/*
+ * jQuery UI Draggable 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Draggables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
+"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
+this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options;this.helper=
+this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
+this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);
+this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=
+d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",
+a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==
+a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a=
+{left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&
+d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=
+this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions=
+{width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+
+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!="hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),
+10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-
+this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&
+d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
+this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;
+if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1];h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=this.originalPageX+Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<
+g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");
+this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.13"});
+d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert});h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=
+0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=
+c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,
+true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=
+0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=
+a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");
+if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=
+f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);
+else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,
+a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,
+o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&&o<m+e){if(f.snapMode!="inner"){var p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;
+if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var t=p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=
+c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&&(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&
+c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});
+d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
+;/*
+ * jQuery UI Droppable 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Droppables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.draggable.js
+ */
+(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
+a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
+this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
+this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
+d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
+a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.13"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
+switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
+i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
+"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
+a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=
+d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})}}})(jQuery);
+;/*
+ * jQuery UI Resizable 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
+_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
+top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
+this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
+nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
+String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
+this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
+var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=
+false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});
+this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff=
+{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];
+if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=
+false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);
+c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,
+d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=l(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=l(b.width)&&a.minWidth&&a.minWidth>b.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=
+a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=
+this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||
+c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-
+c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,
+arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,
+element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.13"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};
+if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),
+p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,
+c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),
+g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),
+10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,
+top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;
+g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:
+0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));
+if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&
+!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost==
+"string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;
+var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,
+10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
+;/*
+ * jQuery UI Selectable 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Selectables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
+selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
+c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",
+c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d=
+this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
+a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&
+!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=
+e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.13"})})(jQuery);
+;/*
+ * jQuery UI Sortable 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Sortables
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");
+this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a===
+"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&
+!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
+left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
+this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
+document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
+return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
+b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
+b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
+a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
+e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
+c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
+this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
+dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
+toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
+this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
+var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
+_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
+if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
+this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
+this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
+this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
+this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
+d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
+0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
+a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
+f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
+this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
+""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
+this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
+{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
+10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
+document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
+10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
+this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
+this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
+var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
+this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
+this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
+this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
+"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
+f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
+this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
+a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
+_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.13"})})(jQuery);
+;/*
+ * jQuery UI Accordion 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Accordion
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
+a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
+if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",
+function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a=
+this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex");
+this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();
+b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target);
+a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+
+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options;
+if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
+if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(),
+e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight||
+e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",
+"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.13",
+animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);
+f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",
+paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
+;/*
+ * jQuery UI Autocomplete 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Autocomplete
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ *	jquery.ui.position.js
+ */
+(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.attr("readonly"))){g=
+false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=
+a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};
+this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&&
+a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");
+d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&
+b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source=
+this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();
+this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label||
+b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this;
+d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
+"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery);
+(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
+-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
+this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b,
+this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
+this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
+this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[d.fn.prop?"prop":"attr"]("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery);
+;/*
+ * jQuery UI Button 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Button
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,f=a([]);if(c)f=d?a(d).find("[name='"+c+"']"):a("[name='"+c+"']",b.ownerDocument).filter(function(){return!this.form});return f};a.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",
+i);if(typeof this.options.disabled!=="boolean")this.options.disabled=this.element.attr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",
+function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||a(this).removeClass(f)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")}).bind("click.button",function(e){c.disabled&&e.stopImmediatePropagation()});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",
+function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active");b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var e=b.element[0];h(e).not(e).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",
+function(){if(c.disabled)return false;a(this).addClass("ui-state-active");g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",function(e){if(c.disabled)return false;if(e.keyCode==a.ui.keyCode.SPACE||e.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===
+a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled",c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type==="radio"){var b=this.element.parents().filter(":last"),c="label[for="+this.element.attr("id")+"]";this.buttonElement=b.find(c);if(!this.buttonElement.length){b=b.length?b.siblings():this.element.siblings();this.buttonElement=b.filter(c);
+if(!this.buttonElement.length)this.buttonElement=b.find(c)}this.element.addClass("ui-helper-hidden-accessible");(b=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active  ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());
+this.hasTitle||this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
+true):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
+c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,f=d.primary&&d.secondary,e=[];if(d.primary||d.secondary){if(this.options.text)e.push("ui-button-text-icon"+(f?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+d.primary+"'></span>");d.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+d.secondary+"'></span>");if(!this.options.text){e.push(f?"ui-button-icons-only":
+"ui-button-icon-only");this.hasTitle||b.attr("title",c)}}else e.push("ui-button-text-only");b.addClass(e.join(" "))}}});a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()},
+destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery);
+;/*
+ * jQuery UI Dialog 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Dialog
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ *  jquery.ui.button.js
+ *	jquery.ui.draggable.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.position.js
+ *	jquery.ui.resizable.js
+ */
+(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
+position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
+h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
+e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
+a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
+b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=
+1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
+f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
+function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
+handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
+originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
+f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
+[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
+if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
+e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
+this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
+b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.13",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
+create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),
+height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);
+b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,
+function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
+;/*
+ * jQuery UI Slider 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.mouse.js
+ *	jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=a.values&&a.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
+this.orientation+" ui-widget ui-widget-content ui-corner-all"+(a.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(a.range){if(a.range===true){if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(a.range==="min"||a.range==="max"?" ui-slider-range-"+a.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
+this.handles=c.add(d(e.join("")).appendTo(b.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
+g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!b.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");i=b._start(g,l);if(i===false)return}break}m=b.options.step;i=b.options.values&&b.options.values.length?
+(h=b.values(l)):(h=b.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=b._valueMin();break;case d.ui.keyCode.END:h=b._valueMax();break;case d.ui.keyCode.PAGE_UP:h=b._trimAlignValue(i+(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=b._trimAlignValue(i-(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===b._valueMax())return;h=b._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===b._valueMin())return;h=b._trimAlignValue(i-
+m);break}b._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(g,k);b._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
+return this},_mouseCapture:function(b){var a=this.options,c,f,e,j,g;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:b.pageX,y:b.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(a.range===true&&this.values(1)===a.min){g+=1;e=d(this.handles[g])}if(this._start(b,g)===false)return false;
+this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();a=e.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-e.width()/2,top:b.pageY-a.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(b,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(b){var a=
+this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a;if(this.orientation==="horizontal"){a=
+this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);
+c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var f;if(this.options.values&&this.options.values.length){f=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>f||a===1&&c<f))c=f;if(c!==this.values(a)){f=this.values();f[a]=c;b=this._trigger("slide",b,{handle:this.handles[a],value:c,values:f});this.values(a?0:1);b!==false&&this.values(a,c,true)}}else if(c!==this.value()){b=this._trigger("slide",b,{handle:this.handles[a],value:c});
+b!==false&&this.value(c)}},_stop:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("stop",b,c)},_change:function(b,a){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("change",b,c)}},value:function(b){if(arguments.length){this.options.value=
+this._trimAlignValue(b);this._refreshValue();this._change(null,0)}else return this._value()},values:function(b,a){var c,f,e;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(b):
+this.value();else return this._values()},_setOption:function(b,a){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(b){case "disabled":if(a){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
+this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var b=this.options.value;return b=this._trimAlignValue(b)},_values:function(b){var a,c;if(arguments.length){a=this.options.values[b];
+return a=this._trimAlignValue(a)}else{a=this.options.values.slice();for(c=0;c<a.length;c+=1)a[c]=this._trimAlignValue(a[c]);return a}},_trimAlignValue:function(b){if(b<=this._valueMin())return this._valueMin();if(b>=this._valueMax())return this._valueMax();var a=this.options.step>0?this.options.step:1,c=(b-this._valueMin())%a;alignValue=b-c;if(Math.abs(c)*2>=a)alignValue+=c>0?a:-a;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},
+_refreshValue:function(){var b=this.options.range,a=this.options,c=this,f=!this._animateOff?a.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},a.animate);
+if(h===1)c.range[f?"animate":"css"]({width:e-g+"%"},{queue:false,duration:a.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},a.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:a.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,
+1)[f?"animate":"css"]({width:e+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.13"})})(jQuery);
+;/*
+ * jQuery UI Tabs 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Tabs
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ *	jquery.ui.widget.js
+ */
+(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
+e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
+d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
+(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
+this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
+this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
+if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
+this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
+g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
+function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
+this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
+-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
+d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
+d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
+e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
+j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
+if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
+this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
+load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
+"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
+url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.13"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
+a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
+;/*
+ * jQuery UI Datepicker 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Datepicker
+ *
+ * Depends:
+ *	jquery.ui.core.js
+ */
+(function(d,B){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
+"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
+"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
+minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.delegate("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a",
+"mouseout",function(){d(this).removeClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).delegate("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a","mouseover",function(){if(!d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
+d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==B)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.13"}});var z=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},
+_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,
+b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
+function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);
+if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);
+return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);
+if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.dpDiv.show()}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');
+this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/
+2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,
+"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=
+false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=
+true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;
+for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&
+this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==B&&f.minDate===B)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==B&&f.maxDate===B)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=
+this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();
+c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]?d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]):d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
+"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,
+-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();
+a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==B?a.keyCode:a.charCode);return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);
+d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");H(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=
+null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=
+null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],
+top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");
+c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");
+a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},
+_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-
+g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=
+null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
+_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
+0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=
+false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b=this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=
+d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);
+else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=
+a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,
+g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var C=o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&C?4:p=="o"?3:2)+"}");p=b.substring(s).match(p);if(!p)throw"Missing number at position "+s;s+=p[0].length;return parseInt(p[0],10)},n=function(p,C,K){p=d.map(o(p)?K:C,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=
+x[1];if(b.substr(s,w.length).toLowerCase()==w.toLowerCase()){E=x[0];s+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+s;},r=function(){if(b.charAt(s)!=a.charAt(A))throw"Unexpected literal at position "+s;s++},s=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else r();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=
+new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "'":if(o("'"))r();else k=true;break;default:r()}if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=
+c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,
+h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,r){return i(o)?r[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;
+case "o":l+=g("o",(b.getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5,3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+
+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==B?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,
+f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,
+c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=
+parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;
+a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||
+a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
+new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));
+n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+z+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,
+g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+z+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>";j=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&
+a.currentDay?u:b;j=!h?j:this.formatDate(j,r,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+z+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,r)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
+z+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),C=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){for(var O=
+"",G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&x==0?c?
+f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var D=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var q=(t+h)%7;D+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+r[q]+'">'+s[q]+"</span></th>"}y+=D+"</tr></thead><tbody>";D=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
+D);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;D=l?6:Math.ceil((t+D)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<D;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(q)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],F=q.getMonth()!=g,L=F&&!K||!I[0]||k&&q<k||o&&q>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(q.getTime()==P.getTime()&&g==a.selectedMonth&&
+a._keyEvent||E.getTime()==q.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!C?"":" "+I[1]+(q.getTime()==u.getTime()?" "+this._currentClass:"")+(q.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||C)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+z+".datepicker._selectDay('#"+a.id+"',"+q.getMonth()+","+q.getFullYear()+', this);return false;"')+">"+(F&&!C?"&#xa0;":L?'<span class="ui-state-default">'+q.getDate()+
+"</span>":'<a class="ui-state-default'+(q.getTime()==b.getTime()?" ui-state-highlight":"")+(q.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+q.getDate()+"</a>")+"</td>";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
+"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+z+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" onclick=\"DP_jQuery_"+z+".datepicker._clickMonthYear('#"+
+a.id+"');\">";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?
+r:s};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+z+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+z+".datepicker._clickMonthYear('#"+a.id+"');\">";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=
+(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,
+"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,
+b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!=
+"string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));
+return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&
+arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.13";window["DP_jQuery_"+z]=d})(jQuery);
+;/*
+ * jQuery UI Progressbar 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Progressbar
+ *
+ * Depends:
+ *   jquery.ui.core.js
+ *   jquery.ui.widget.js
+ */
+(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
+this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
+this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.13"})})(jQuery);
+;/*
+ * jQuery UI Effects 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/
+ */
+jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
+16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
+a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
+a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
+"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
+0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
+211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,
+d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easding:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})};
+f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,
+[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.13",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=
+0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});
+c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,
+a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);
+a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%",
+"pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*
+((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=
+e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=
+e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/
+h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*
+h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,
+e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
+;/*
+ * jQuery UI Effects Blind 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Blind
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
+g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Bounce 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Bounce
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","bottom","left","right"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
+3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
+b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Clip 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Clip
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
+c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Drop 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Drop
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e==
+"show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Explode 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Explode
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
+0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
+e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
+;/*
+ * jQuery UI Effects Fade 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fade
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Fold 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Fold
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],
+10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
+;/*
+ * jQuery UI Effects Highlight 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Highlight
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
+this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Pulsate 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Pulsate
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
+a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Scale 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Scale
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
+b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
+1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
+p=c.effects.setMode(a,b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};
+if(m=="box"||m=="both"){if(d.from.y!=d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);
+a.css("overflow","hidden").css(a.from);if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);
+child.to=c.effects.setTransition(child,f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,
+n?e:g);c.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Shake 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Shake
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","bottom","left","right"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=
+(h=="pos"?"-=":"+=")+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
+;/*
+ * jQuery UI Effects Slide 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Slide
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
+var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
+;/*
+ * jQuery UI Effects Transfer 1.8.13
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Effects/Transfer
+ *
+ * Depends:
+ *	jquery.effects.core.js
+ */
+(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
+b.dequeue()})})}})(jQuery);
+;
Index: /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/themes/hl/Site.css
===================================================================
--- /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/themes/hl/Site.css	(revision 6285)
+++ /branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/themes/hl/Site.css	(revision 6286)
@@ -9,5 +9,5 @@
   background-color: #FAFAFA;
   text-align: center;
-  font-size: .75em;
+  font-size: 62.5%;
   font-family: Verdana, Helvetica, Sans-Serif;
 }
@@ -106,8 +106,9 @@
   color: #FFFFFF;
   height: 28px;
+  font-size: 1.2em;
 }
 
 #master-submenu {
-  
+  padding-top: 20px;
 }
 
@@ -117,5 +118,5 @@
   margin-left: 5px;
   margin-right: 6px;
-  border-bottom: 1px dotted #F7921D;  
+  border-bottom: 1px solid #CCCCCC;  
   padding: 4px;
 }
@@ -129,8 +130,6 @@
 #master-submenu UL LI a {
   padding: 0px 20px;
-  padding-top: 4px;
-  font-weight: bold;
-  text-decoration: none;
-  line-height: 2.0em;
+  font-weight: bold;
+  text-decoration: none;
   color: #333333;  
 }
@@ -138,4 +137,8 @@
 #master-submenu UL LI a:hover {
   color: #F7921D;
+}
+
+#master-submenu UL LI.selected a {
+    color: #F7921D;
 }
 
@@ -169,4 +172,16 @@
 }
 
+/* UI Styling */
+
+div.hl-menuButtons {
+  margin-top: 4px;
+  margin-bottom: 4px;  
+}
+
+.hl-button {
+
+}
+
+
 /* TAB MENU   
 ----------------------------------------------------------*/
@@ -213,4 +228,8 @@
 }
 
+
+
+
+
 /* FORM LAYOUT ELEMENTS   
 ----------------------------------------------------------*/
@@ -241,7 +260,7 @@
 }
 
-/* TABLE
-----------------------------------------------------------*/
-
+/* 
+----------------------------------------------------------*/
+/*
 table {
   border: solid 1px #e8eef4;
@@ -260,5 +279,5 @@
   border: solid 1px #e8eef4;
 }
-
+*/
 /* MISC  
 ----------------------------------------------------------*/
