Free cookie consent management tool by TermsFeed Policy Generator

source: branches/WebApplication/MVC2/HeuristicLabWeb.PluginHost/HLWebPluginHost/Content/jQuery/jQueryPlugins/DataTables-1.7.6/extras/FixedColumns/media/docs/symbols/src/js_FixedColumns.js.html @ 6286

Last change on this file since 6286 was 6286, checked in by dkahn, 13 years ago

#1198 Added jQuery plus plugins

File size: 115.1 KB
RevLine 
[6286]1<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
2  .KEYW {color: #933;}
3  .COMM {color: #bbb; font-style: italic;}
4  .NUMB {color: #393;}
5  .STRN {color: #393;}
6  .REGX {color: #339;}
7  .line {border-right: 1px dotted #666; color: #666; font-style: normal;}
8  </style></head><body><pre><span class='line'>  1</span> <span class="COMM">/*
9<span class='line'>  2</span>  * File:        FixedColumns.js
10<span class='line'>  3</span>  * Version:     1.1.0
11<span class='line'>  4</span>  * Description: "Fix" columns on the left of a scrolling DataTable
12<span class='line'>  5</span>  * Author:      Allan Jardine (www.sprymedia.co.uk)
13<span class='line'>  6</span>  * Created:     Sat Sep 18 09:28:54 BST 2010
14<span class='line'>  7</span>  * Language:    Javascript
15<span class='line'>  8</span>  * License:     GPL v2 or BSD 3 point style
16<span class='line'>  9</span>  * Project:     Just a little bit of fun - enjoy :-)
17<span class='line'> 10</span>  * Contact:     www.sprymedia.co.uk/contact
18<span class='line'> 11</span>  *
19<span class='line'> 12</span>  * Copyright 2010-2011 Allan Jardine, all rights reserved.
20<span class='line'> 13</span>  */</span><span class="WHIT">
21<span class='line'> 14</span>
22<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">
23<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">
24<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">
25<span class='line'> 18</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
26<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">
27<span class='line'> 20</span> </span><span class="WHIT">    </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
28<span class='line'> 21</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="WHIT">
29<span class='line'> 22</span> </span><span class="WHIT"> 
30<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">
31<span class='line'> 24</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
32<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">
33<span class='line'> 26</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="WHIT">
34<span class='line'> 27</span> </span><span class="WHIT"> 
35<span class='line'> 28</span>   </span><span class="COMM">/**
36<span class='line'> 29</span>    * @namespace Settings object which contains customisable information for FixedColumns instance
37<span class='line'> 30</span>    */</span><span class="WHIT">
38<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">
39<span class='line'> 32</span> </span><span class="WHIT">    </span><span class="COMM">/**
40<span class='line'> 33</span>      * DataTables settings objects
41<span class='line'> 34</span>      *  @property dt
42<span class='line'> 35</span>      *  @type     object
43<span class='line'> 36</span>      *  @default  null
44<span class='line'> 37</span>      */</span><span class="WHIT">
45<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">
46<span class='line'> 39</span> </span><span class="WHIT">   
47<span class='line'> 40</span>     </span><span class="COMM">/**
48<span class='line'> 41</span>      * Number of left hand columns to fix in position
49<span class='line'> 42</span>      *  @property leftColumns
50<span class='line'> 43</span>      *  @type     int
51<span class='line'> 44</span>      *  @default  1
52<span class='line'> 45</span>      */</span><span class="WHIT">
53<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">
54<span class='line'> 47</span> </span><span class="WHIT">   
55<span class='line'> 48</span>     </span><span class="COMM">/**
56<span class='line'> 49</span>      * Number of right hand columns to fix in position
57<span class='line'> 50</span>      *  @property rightColumns
58<span class='line'> 51</span>      *  @type     int
59<span class='line'> 52</span>      *  @default  0
60<span class='line'> 53</span>      */</span><span class="WHIT">
61<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">
62<span class='line'> 55</span> </span><span class="WHIT">   
63<span class='line'> 56</span>     </span><span class="COMM">/**
64<span class='line'> 57</span>      * Store the heights of the rows for a draw. This can significantly speed up a draw where both
65<span class='line'> 58</span>      * left and right columns are fixed
66<span class='line'> 59</span>      *  @property heights
67<span class='line'> 60</span>      *  @type     array int
68<span class='line'> 61</span>      *  @default  0
69<span class='line'> 62</span>      */</span><span class="WHIT">
70<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">
71<span class='line'> 64</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
72<span class='line'> 65</span> </span><span class="WHIT"> 
73<span class='line'> 66</span>   
74<span class='line'> 67</span>   </span><span class="COMM">/**
75<span class='line'> 68</span>    * @namespace Common and useful DOM elements for the class instance
76<span class='line'> 69</span>    */</span><span class="WHIT">
77<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">
78<span class='line'> 71</span> </span><span class="WHIT">    </span><span class="COMM">/**
79<span class='line'> 72</span>      * DataTables scrolling element
80<span class='line'> 73</span>      *  @property scroller
81<span class='line'> 74</span>      *  @type     node
82<span class='line'> 75</span>      *  @default  null
83<span class='line'> 76</span>      */</span><span class="WHIT">
84<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">
85<span class='line'> 78</span> </span><span class="WHIT">       
86<span class='line'> 79</span>     </span><span class="COMM">/**
87<span class='line'> 80</span>      * Scroll container that DataTables has added
88<span class='line'> 81</span>      *  @property scrollContainer
89<span class='line'> 82</span>      *  @type     node
90<span class='line'> 83</span>      *  @default  null
91<span class='line'> 84</span>      */</span><span class="WHIT">
92<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">
93<span class='line'> 86</span> </span><span class="WHIT">   
94<span class='line'> 87</span>     </span><span class="COMM">/**
95<span class='line'> 88</span>      * DataTables header table
96<span class='line'> 89</span>      *  @property header
97<span class='line'> 90</span>      *  @type     node
98<span class='line'> 91</span>      *  @default  null
99<span class='line'> 92</span>      */</span><span class="WHIT">
100<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">
101<span class='line'> 94</span> </span><span class="WHIT">   
102<span class='line'> 95</span>     </span><span class="COMM">/**
103<span class='line'> 96</span>      * DataTables body table
104<span class='line'> 97</span>      *  @property body
105<span class='line'> 98</span>      *  @type     node
106<span class='line'> 99</span>      *  @default  null
107<span class='line'>100</span>      */</span><span class="WHIT">
108<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">
109<span class='line'>102</span> </span><span class="WHIT">   
110<span class='line'>103</span>     </span><span class="COMM">/**
111<span class='line'>104</span>      * DataTables footer table
112<span class='line'>105</span>      *  @property footer
113<span class='line'>106</span>      *  @type     node
114<span class='line'>107</span>      *  @default  null
115<span class='line'>108</span>      */</span><span class="WHIT">
116<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">
117<span class='line'>110</span> </span><span class="WHIT">   
118<span class='line'>111</span>     </span><span class="COMM">/**
119<span class='line'>112</span>      * @namespace Cloned table nodes
120<span class='line'>113</span>      */</span><span class="WHIT">
121<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">
122<span class='line'>115</span> </span><span class="WHIT">      </span><span class="COMM">/**
123<span class='line'>116</span>        * @namespace Left column cloned table nodes
124<span class='line'>117</span>        */</span><span class="WHIT">
125<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">
126<span class='line'>119</span> </span><span class="WHIT">        </span><span class="COMM">/**
127<span class='line'>120</span>          * Cloned header table
128<span class='line'>121</span>          *  @property header
129<span class='line'>122</span>          *  @type     node
130<span class='line'>123</span>          *  @default  null
131<span class='line'>124</span>          */</span><span class="WHIT">
132<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">
133<span class='line'>126</span> </span><span class="WHIT">       
134<span class='line'>127</span>         </span><span class="COMM">/**
135<span class='line'>128</span>          * Cloned body table
136<span class='line'>129</span>          *  @property body
137<span class='line'>130</span>          *  @type     node
138<span class='line'>131</span>          *  @default  null
139<span class='line'>132</span>          */</span><span class="WHIT">
140<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">
141<span class='line'>134</span> </span><span class="WHIT">       
142<span class='line'>135</span>         </span><span class="COMM">/**
143<span class='line'>136</span>          * Cloned footer table
144<span class='line'>137</span>          *  @property footer
145<span class='line'>138</span>          *  @type     node
146<span class='line'>139</span>          *  @default  null
147<span class='line'>140</span>          */</span><span class="WHIT">
148<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">
149<span class='line'>142</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
150<span class='line'>143</span> </span><span class="WHIT">     
151<span class='line'>144</span>       </span><span class="COMM">/**
152<span class='line'>145</span>        * @namespace Right column cloned table nodes
153<span class='line'>146</span>        */</span><span class="WHIT">
154<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">
155<span class='line'>148</span> </span><span class="WHIT">        </span><span class="COMM">/**
156<span class='line'>149</span>          * Cloned header table
157<span class='line'>150</span>          *  @property header
158<span class='line'>151</span>          *  @type     node
159<span class='line'>152</span>          *  @default  null
160<span class='line'>153</span>          */</span><span class="WHIT">
161<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">
162<span class='line'>155</span> </span><span class="WHIT">       
163<span class='line'>156</span>         </span><span class="COMM">/**
164<span class='line'>157</span>          * Cloned body table
165<span class='line'>158</span>          *  @property body
166<span class='line'>159</span>          *  @type     node
167<span class='line'>160</span>          *  @default  null
168<span class='line'>161</span>          */</span><span class="WHIT">
169<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">
170<span class='line'>163</span> </span><span class="WHIT">       
171<span class='line'>164</span>         </span><span class="COMM">/**
172<span class='line'>165</span>          * Cloned footer table
173<span class='line'>166</span>          *  @property footer
174<span class='line'>167</span>          *  @type     node
175<span class='line'>168</span>          *  @default  null
176<span class='line'>169</span>          */</span><span class="WHIT">
177<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">
178<span class='line'>171</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
179<span class='line'>172</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
180<span class='line'>173</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
181<span class='line'>174</span> </span><span class="WHIT"> 
182<span class='line'>175</span>   </span><span class="COMM">/* Let's do it */</span><span class="WHIT">
183<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">
184<span class='line'>177</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
185<span class='line'>178</span> 
186<span class='line'>179</span> 
187<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">
188<span class='line'>181</span> </span><span class="WHIT">  </span><span class="COMM">/**
189<span class='line'>182</span>    * Update the fixed columns - including headers and footers
190<span class='line'>183</span>    *  @method  fnUpdate
191<span class='line'>184</span>    *  @returns void
192<span class='line'>185</span>    */</span><span class="WHIT">
193<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">
194<span class='line'>187</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
195<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">
196<span class='line'>189</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
197<span class='line'>190</span> </span><span class="WHIT"> 
198<span class='line'>191</span>  
199<span class='line'>192</span>   </span><span class="COMM">/**
200<span class='line'>193</span>    * Initialisation for FixedColumns
201<span class='line'>194</span>    *  @method  _fnConstruct
202<span class='line'>195</span>    *  @param   {Object} oInit User settings for initialisation
203<span class='line'>196</span>    *  @returns void
204<span class='line'>197</span>    */</span><span class="WHIT">
205<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">
206<span class='line'>199</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
207<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">
208<span class='line'>201</span> </span><span class="WHIT">   
209<span class='line'>202</span>     </span><span class="COMM">/* Sanity checking */</span><span class="WHIT">
210<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">
211<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">
212<span class='line'>205</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
213<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">
214<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">
215<span class='line'>208</span> </span><span class="WHIT">      </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
216<span class='line'>209</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
217<span class='line'>210</span> </span><span class="WHIT">   
218<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">
219<span class='line'>212</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
220<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">
221<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">
222<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">
223<span class='line'>216</span> </span><span class="WHIT">      </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
224<span class='line'>217</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
225<span class='line'>218</span> </span><span class="WHIT">   
226<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">
227<span class='line'>220</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
228<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">
229<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">
230<span class='line'>223</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
231<span class='line'>224</span> </span><span class="WHIT">   
232<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">
233<span class='line'>226</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
234<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">
235<span class='line'>228</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
236<span class='line'>229</span> </span><span class="WHIT">   
237<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">
238<span class='line'>231</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
239<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">
240<span class='line'>233</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
241<span class='line'>234</span> </span><span class="WHIT">   
242<span class='line'>235</span>     </span><span class="COMM">/* Set up the DOM as we need it and cache nodes */</span><span class="WHIT">
243<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">
244<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">
245<span class='line'>238</span> </span><span class="WHIT">   
246<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">
247<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">
248<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">
249<span class='line'>242</span> </span><span class="WHIT">   
250<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">
251<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">
252<span class='line'>245</span> </span><span class="WHIT">   
253<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">
254<span class='line'>247</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
255<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">
256<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">
257<span class='line'>250</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
258<span class='line'>251</span> </span><span class="WHIT">   
259<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">
260<span class='line'>253</span> </span><span class="WHIT">   
261<span class='line'>254</span>     </span><span class="COMM">/* Event handlers */</span><span class="WHIT">
262<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">
263<span class='line'>256</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
264<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">
265<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">
266<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">
267<span class='line'>260</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
268<span class='line'>261</span> </span><span class="WHIT">   
269<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">
270<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">
271<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">
272<span class='line'>265</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
273<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">
274<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">
275<span class='line'>268</span> </span><span class="WHIT">   
276<span class='line'>269</span>     </span><span class="COMM">/* Get things right to start with */</span><span class="WHIT">
277<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">
278<span class='line'>271</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
279<span class='line'>272</span> </span><span class="WHIT"> 
280<span class='line'>273</span>  
281<span class='line'>274</span>   </span><span class="COMM">/**
282<span class='line'>275</span>    * Clone and position the fixed columns
283<span class='line'>276</span>    *  @method  _fnDraw
284<span class='line'>277</span>    *  @returns void
285<span class='line'>278</span>    *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
286<span class='line'>279</span>    *  @private
287<span class='line'>280</span>    */</span><span class="WHIT">
288<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">
289<span class='line'>282</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
290<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">
291<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">
292<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">
293<span class='line'>286</span> </span><span class="WHIT">   
294<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">
295<span class='line'>288</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
296<span class='line'>289</span> </span><span class="WHIT"> 
297<span class='line'>290</span>  
298<span class='line'>291</span>   </span><span class="COMM">/**
299<span class='line'>292</span>    * Clone the right columns
300<span class='line'>293</span>    *  @method  _fnCloneRight
301<span class='line'>294</span>    *  @returns void
302<span class='line'>295</span>    *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
303<span class='line'>296</span>    *  @private
304<span class='line'>297</span>    */</span><span class="WHIT">
305<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">
306<span class='line'>299</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
307<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">
308<span class='line'>301</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
309<span class='line'>302</span> </span><span class="WHIT">      </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
310<span class='line'>303</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
311<span class='line'>304</span> </span><span class="WHIT">   
312<span class='line'>305</span>     </span><span class="KEYW">var</span><span class="WHIT">
313<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">
314<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">
315<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">
316<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">
317<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">
318<span class='line'>311</span> </span><span class="WHIT">   
319<span class='line'>312</span>     </span><span class="COMM">/* Grab the widths that we are going to need */</span><span class="WHIT">
320<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">
321<span class='line'>314</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
322<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">
323<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">
324<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">
325<span class='line'>318</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
326<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">
327<span class='line'>320</span> </span><span class="WHIT">   
328<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">
329<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">
330<span class='line'>323</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
331<span class='line'>324</span> </span><span class="WHIT"> 
332<span class='line'>325</span>  
333<span class='line'>326</span>   </span><span class="COMM">/**
334<span class='line'>327</span>    * Clone the left columns
335<span class='line'>328</span>    *  @method  _fnCloneLeft
336<span class='line'>329</span>    *  @returns void
337<span class='line'>330</span>    *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
338<span class='line'>331</span>    *  @private
339<span class='line'>332</span>    */</span><span class="WHIT">
340<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">
341<span class='line'>334</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
342<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">
343<span class='line'>336</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
344<span class='line'>337</span> </span><span class="WHIT">      </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
345<span class='line'>338</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
346<span class='line'>339</span> </span><span class="WHIT">   
347<span class='line'>340</span>     </span><span class="KEYW">var</span><span class="WHIT">
348<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">
349<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">
350<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">
351<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">
352<span class='line'>345</span> </span><span class="WHIT">   
353<span class='line'>346</span>     </span><span class="COMM">/* Grab the widths that we are going to need */</span><span class="WHIT">
354<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">
355<span class='line'>348</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
356<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">
357<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">
358<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">
359<span class='line'>352</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
360<span class='line'>353</span> </span><span class="WHIT">   
361<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">
362<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">
363<span class='line'>356</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
364<span class='line'>357</span> </span><span class="WHIT">   
365<span class='line'>358</span>  
366<span class='line'>359</span>  
367<span class='line'>360</span>   </span><span class="COMM">/**
368<span class='line'>361</span>    * Clone the DataTable nodes and place them in the DOM (sized correctly)
369<span class='line'>362</span>    *  @method  _fnClone
370<span class='line'>363</span>    *  @returns void
371<span class='line'>364</span>    *  @param   {Object} oClone Object containing the header, footer and body cloned DOM elements
372<span class='line'>365</span>    *  @param   {Boolean} bAll Indicate if the headre and footer should be updated as well (true)
373<span class='line'>366</span>    *  @param   {array} aiCellWidth Array of integers with the width's to use for the cloned columns
374<span class='line'>367</span>    *  @param   {int} iTableWidth Calculated table width
375<span class='line'>368</span>    *  @param   {string} sBoxHackSelector Selector to pick which TD element to copy styles from
376<span class='line'>369</span>    *  @param   {string} sRemoveSelector Which elements to remove
377<span class='line'>370</span>    *  @private
378<span class='line'>371</span>    */</span><span class="WHIT">
379<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">
380<span class='line'>373</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
381<span class='line'>374</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT">
382<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">
383<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">
384<span class='line'>377</span> </span><span class="WHIT">   
385<span class='line'>378</span>     </span><span class="COMM">/* Header */</span><span class="WHIT">
386<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">
387<span class='line'>380</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
388<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">
389<span class='line'>382</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
390<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">
391<span class='line'>384</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
392<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">
393<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">
394<span class='line'>387</span> </span><span class="WHIT">     
395<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">
396<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">
397<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">
398<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">
399<span class='line'>392</span> </span><span class="WHIT">     
400<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">
401<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">
402<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">
403<span class='line'>396</span> </span><span class="WHIT">   
404<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">
405<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">
406<span class='line'>399</span> </span><span class="WHIT">   
407<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">
408<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">
409<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">
410<span class='line'>403</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
411<span class='line'>404</span> </span><span class="WHIT">    </span><span class="KEYW">else</span><span class="WHIT">
412<span class='line'>405</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
413<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">
414<span class='line'>407</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
415<span class='line'>408</span> </span><span class="WHIT">   
416<span class='line'>409</span>     </span><span class="COMM">/* Body */</span><span class="WHIT">
417<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">
418<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">
419<span class='line'>412</span> </span><span class="WHIT">   
420<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">
421<span class='line'>414</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
422<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">
423<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">
424<span class='line'>417</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
425<span class='line'>418</span> </span><span class="WHIT">   
426<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">
427<span class='line'>420</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
428<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">
429<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">
430<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">
431<span class='line'>424</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
432<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">
433<span class='line'>426</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
434<span class='line'>427</span> </span><span class="WHIT">     
435<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">
436<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">
437<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">
438<span class='line'>431</span> </span><span class="WHIT">     
439<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">
440<span class='line'>433</span> </span><span class="WHIT">     
441<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">
442<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">
443<span class='line'>436</span> </span><span class="WHIT">     
444<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">
445<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">
446<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">
447<span class='line'>440</span> </span><span class="WHIT">     
448<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">
449<span class='line'>442</span> </span><span class="WHIT">     
450<span class='line'>443</span>      
451<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">
452<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">
453<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">
454<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">
455<span class='line'>448</span> </span><span class="WHIT">     
456<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">
457<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">
458<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">
459<span class='line'>452</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
460<span class='line'>453</span> </span><span class="WHIT">   
461<span class='line'>454</span>     </span><span class="COMM">/* Footer */</span><span class="WHIT">
462<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">
463<span class='line'>456</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
464<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">
465<span class='line'>458</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
466<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">
467<span class='line'>460</span> </span><span class="WHIT">        </span><span class="PUNC">{</span><span class="WHIT">
468<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">
469<span class='line'>462</span> </span><span class="WHIT">        </span><span class="PUNC">}</span><span class="WHIT">
470<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">
471<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">
472<span class='line'>465</span> </span><span class="WHIT">       
473<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">
474<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">
475<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">
476<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">
477<span class='line'>470</span> </span><span class="WHIT">       
478<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">
479<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">
480<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">
481<span class='line'>474</span> </span><span class="WHIT">     
482<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">
483<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">
484<span class='line'>477</span> </span><span class="WHIT">       
485<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">
486<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">
487<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">
488<span class='line'>481</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
489<span class='line'>482</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
490<span class='line'>483</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
491<span class='line'>484</span> </span><span class="WHIT"> 
492<span class='line'>485</span>  
493<span class='line'>486</span>   </span><span class="COMM">/**
494<span class='line'>487</span>    * Clone classes from one DOM node to another with (IMPORTANT) IDENTICAL structures
495<span class='line'>488</span>    *  @method  _fnCopyClasses
496<span class='line'>489</span>    *  @returns void
497<span class='line'>490</span>    *  @param   {element} clone Node to copy classes to
498<span class='line'>491</span>    *  @param   {element} original Original node to take the classes from
499<span class='line'>492</span>    *  @private
500<span class='line'>493</span>    */</span><span class="WHIT">
501<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">
502<span class='line'>495</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
503<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">
504<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">
505<span class='line'>498</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
506<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">
507<span class='line'>500</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
508<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">
509<span class='line'>502</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
510<span class='line'>503</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
511<span class='line'>504</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
512<span class='line'>505</span> </span><span class="WHIT"> 
513<span class='line'>506</span>  
514<span class='line'>507</span>   </span><span class="COMM">/**
515<span class='line'>508</span>    * Equalise the heights of the rows in a given table node in a cross browser way
516<span class='line'>509</span>    *  @method  _fnEqualiseHeights
517<span class='line'>510</span>    *  @returns void
518<span class='line'>511</span>    *  @param   {string} parent Node type - thead, tbody or tfoot
519<span class='line'>512</span>    *  @param   {element} original Original node to take the heights from
520<span class='line'>513</span>    *  @param   {element} clone Copy the heights to
521<span class='line'>514</span>    *  @param   {string} boxHackSelector Selector to pick which TD element to copy styles from
522<span class='line'>515</span>    *  @param   {string} removeSelector Which elements to remove
523<span class='line'>516</span>    *  @private
524<span class='line'>517</span>    */</span><span class="WHIT">
525<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">
526<span class='line'>519</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
527<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">
528<span class='line'>521</span> </span><span class="WHIT">      </span><span class="NAME">iHeight</span><span class="PUNC">,</span><span class="WHIT">
529<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">
530<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">
531<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">
532<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">
533<span class='line'>526</span> </span><span class="WHIT">   
534<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">
535<span class='line'>528</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
536<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">
537<span class='line'>530</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
538<span class='line'>531</span> </span><span class="WHIT">   
539<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">
540<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">
541<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">
542<span class='line'>535</span> </span><span class="WHIT">     
543<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
544<span class='line'>537</span>        * on the second pass (i.e. the right hand column). This significantly speeds up a draw
545<span class='line'>538</span>        * where both the left and right columns are fixed since we don't need to get the height of
546<span class='line'>539</span>        * each row twice
547<span class='line'>540</span>        */</span><span class="WHIT">
548<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">
549<span class='line'>542</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
550<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">
551<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">
552<span class='line'>545</span> </span><span class="WHIT">        </span><span class="PUNC">{</span><span class="WHIT">
553<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">
554<span class='line'>547</span> </span><span class="WHIT">        </span><span class="PUNC">}</span><span class="WHIT">
555<span class='line'>548</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
556<span class='line'>549</span> </span><span class="WHIT">      </span><span class="KEYW">else</span><span class="WHIT">
557<span class='line'>550</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
558<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">
559<span class='line'>552</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
560<span class='line'>553</span> </span><span class="WHIT">     
561<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">
562<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">
563<span class='line'>556</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
564<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">
565<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">
566<span class='line'>559</span>       </span><span class="PUNC">}</span><span class="WHIT">
567<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">
568<span class='line'>561</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
569<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">
570<span class='line'>563</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
571<span class='line'>564</span> </span><span class="WHIT">      </span><span class="KEYW">else</span><span class="WHIT">
572<span class='line'>565</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
573<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">
574<span class='line'>567</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
575<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">
576<span class='line'>569</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
577<span class='line'>570</span> </span><span class="WHIT"> 
578<span class='line'>571</span>  
579<span class='line'>572</span>   </span><span class="COMM">/**
580<span class='line'>573</span>    * Set the absolute position of the fixed column tables when scrolling the DataTable
581<span class='line'>574</span>    *  @method  _fnPosition
582<span class='line'>575</span>    *  @returns void
583<span class='line'>576</span>    *  @private
584<span class='line'>577</span>    */</span><span class="WHIT">
585<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">
586<span class='line'>579</span> </span><span class="WHIT">  </span><span class="PUNC">{</span><span class="WHIT">
587<span class='line'>580</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT">
588<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">
589<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">
590<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">
591<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">
592<span class='line'>585</span> </span><span class="WHIT">     
593<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">
594<span class='line'>587</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
595<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">
596<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">
597<span class='line'>590</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
598<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">
599<span class='line'>592</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
600<span class='line'>593</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
601<span class='line'>594</span> </span><span class="WHIT">   
602<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">
603<span class='line'>596</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
604<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">
605<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">
606<span class='line'>599</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
607<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">
608<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">
609<span class='line'>602</span> </span><span class="WHIT">        </span><span class="PUNC">{</span><span class="WHIT">
610<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">
611<span class='line'>604</span> </span><span class="WHIT">        </span><span class="PUNC">}</span><span class="WHIT">
612<span class='line'>605</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
613<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">
614<span class='line'>607</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
615<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">
616<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">
617<span class='line'>610</span> </span><span class="WHIT">        </span><span class="PUNC">{</span><span class="WHIT">
618<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">
619<span class='line'>612</span> </span><span class="WHIT">        </span><span class="PUNC">}</span><span class="WHIT">
620<span class='line'>613</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
621<span class='line'>614</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
622<span class='line'>615</span> </span><span class="WHIT">   
623<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">
624<span class='line'>617</span> </span><span class="WHIT">    </span><span class="PUNC">{</span><span class="WHIT">
625<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">
626<span class='line'>619</span> </span><span class="WHIT">     
627<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">
628<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">
629<span class='line'>622</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
630<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">
631<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">
632<span class='line'>625</span> </span><span class="WHIT">        </span><span class="PUNC">{</span><span class="WHIT">
633<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">
634<span class='line'>627</span> </span><span class="WHIT">        </span><span class="PUNC">}</span><span class="WHIT">
635<span class='line'>628</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
636<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">
637<span class='line'>630</span> </span><span class="WHIT">      </span><span class="PUNC">{</span><span class="WHIT">
638<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">
639<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">
640<span class='line'>633</span> </span><span class="WHIT">        </span><span class="PUNC">{</span><span class="WHIT">
641<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">
642<span class='line'>635</span> </span><span class="WHIT">        </span><span class="PUNC">}</span><span class="WHIT">
643<span class='line'>636</span> </span><span class="WHIT">      </span><span class="PUNC">}</span><span class="WHIT">
644<span class='line'>637</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
645<span class='line'>638</span> </span><span class="WHIT">  </span><span class="PUNC">}</span><span class="WHIT">
646<span class='line'>639</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
647<span class='line'>640</span> </span></pre></body></html>
Note: See TracBrowser for help on using the repository browser.