PageSourceSearch

https://www.bugsleague.com/js/fcmTabelle.js

js bugsleague.com collected 2026-10-05 05:18:59 UTC 23,148 bytes, 507 lines download raw bytes

1// Gestione Tabelle
2/**********************************
3*********** COSTRUTTORI ***********
4***********************************/
5// Costruttore dell'oggetto Cella per le tabelle
6function Cella(valore,stile,span) {
7	this.valore = valore
8	this.stile = stile
9	this.span = span
10	this.spanned = false
11}
12
13// Costruttore dell'oggetto RigaTabella
14function RigaTabella(numcolonne) {
15	this.numcolonne = numcolonne
16	this.riga = new Array(numcolonne)
17	this.Stile = ""
18	for (var i=1; i<=numcolonne; i++) {
19		this.riga[i] = new Cella("&nbsp;","",1)
20	}
21}
22
23// Costruttore dell'oggetto Tabella, formata da celle
24function Tabella(numrighe,numcolonne) {
25	this.nome = ""
26	this.id="tabellaDati"
27	this.numrighe = numrighe
28	this.numcolonne = numcolonne 
29	this.tab = new Array(numrighe)
30	this.altezza=100
31	this.intestazioni=false
32	this.larghezza = 100
33	this.border=0
34	this.cellspacing=0
35	this.cellpadding = 0
36	this.stile = ""
37	this.larghezzacolonne = new Array(numcolonne)
38	for (var i=1; i<=numrighe; i++) {
39		this.tab[i] = new RigaTabella(numcolonne)
40	}
41	this.SetStile = TabellaSetStile
42	this.SetValore = TabellaSetValore
43	this.GetStile = TabellaGetStile
44	this.GetValore = TabellaGetValore
45	this.AggiungiRiga = TabellaAggiungiRiga
46	this.SetSpan = TabellaSetSpan
47	this.GetSpan = TabellaGetSpan
48	this.SetStileRiga = TabellaSetStileRiga
49	this.GetStileRiga = TabellaGetStileRiga
50	this.SetSpanned = TabellaSetSpanned
51	this.GetSpanned = TabellaGetSpanned
52	this.Stampa = TabellaStampa
53	this.SetLarghezzaColonna = TabellaSetLarghezzaColonna
54	this.IncrementaColonna = TabellaIncrementaColonna
55}
56/***********************************
57************** METODI **************
58************************************/
59function TabellaIncrementaColonna(colonna) {
60	this.numcolonne=colonna
61	for (var r=1;r<=this.numrighe;r++) {
62		for (var c=this.numcolonne;c<=colonna;c++) this.tab[r].riga[c] =  new Cella("&nbsp;","",1)
63	}
64}
65function TabellaAggiungiRiga() {
66	// Aggiunge una riga all'array della visualizzazione
67	this.numrighe++
68	this.tab[this.tab.length] = new RigaTabella(this.numcolonne)
69}
70
71function TabellaSetStileRiga(riga,stile) {
72	while (riga>this.numrighe) {
73		this.AggiungiRiga()
74	}
75	this.tab[riga].Stile = stile
76}
77
78function TabellaGetStileRiga(riga) {
79	return this.tab[riga].Stile 
80}
81
82function TabellaSetValore(riga,colonna,valore) {
83	// Imposta un valore nella tabella alla posizione riga x colonna
84	while (riga>this.numrighe) {
85		this.AggiungiRiga()
86	}
87	if (colonna>this.numcolonne) this.IncrementaColonna(colonna)
88	this.tab[riga].riga[colonna].valore = valore
89}
90
91function TabellaSetStile(riga,colonna,stile) {
92	// Imposta uno stile CSS nell'array alla posizione riga x colonna
93	while (riga>this.numrighe) {
94		this.AggiungiRiga()
95	}
96	if (colonna>this.numcolonne) this.IncrementaColonna(colonna)
97	this.tab[riga].riga[colonna].stile = stile
98}
99
100function TabellaGetValore(riga,colonna) {
101	return this.tab[riga].riga[colonna].valore
102}
103
104function TabellaGetStile(riga,colonna) {
105	return this.tab[riga].riga[colonna].stile
106}
107
108function TabellaSetSpan(riga,colonna,span) {
109	while (riga>this.numrighe) {
110		this.AggiungiRiga()
111	}
112	if (colonna>this.numcolonne) this.IncrementaColonna(colonna)
113	this.tab[riga].riga[colonna].span = span
114}
115
116function TabellaGetSpan(riga,colonna) {
117	return this.tab[riga].riga[colonna].span
118}
119
120function TabellaSetSpanned(riga,colonna,spanned) {
121	while (riga>this.numrighe) {
122		this.AggiungiRiga()
123	}
124	if (colonna>this.numcolonne) this.IncrementaColonna(colonna)
125	this.tab[riga].riga[colonna].spanned = spanned
126}
127
128function TabellaGetSpanned(riga,colonna) {
129	return this.tab[riga].riga[colonna].spanned
130}
131
132function TabellaStampa() {
133var i,j,d10,sTemp
134	d10 = Math.ceil(this.numrighe / 10)
135	document.write("<TABLE id='" + this.id + "' height='"+this.altezza+"%' width='"+this.larghezza+"%' BORDER="+this.border+" CELLSPACING="+this.cellspacing+" CELLPADDING="+this.cellpadding+(this.stile!=""?" class='"+this.stile+"'":"")+">")
136	for (i=1;i<=this.numrighe;i++) {
137		if (i==1) {
138			sTemp="<thead><tr"
139		} else if (i==2) {
140			sTemp="<tbody><tr"
141		} else {
142			sTemp="<tr"
143		}
144		if (this.GetStileRiga(i)!="") sTemp += " class='" + this.tab[i].Stile + "'" 
145		sTemp += ">"
146		document.write(sTemp)
147		for (j=1;j<=this.numcolonne;j++) {
148			if (!this.GetSpanned(i,j)) {
149				if (this.intestazioni) {
150					if ((i==1) || (j==1)) {
151						sTemp="<th" 
152					} else {
153						sTemp="<td"
154					}
155				} else {
156					sTemp="<td"
157				}
158				if (this.GetSpan(i,j)==1){
159					if (this.larghezzacolonne[j]>
1590) sTemp += " width=" + this.larghezzacolonne[j] + "%"
160				}
161				if (this.GetSpan(i,j)>1) sTemp += " colspan=" + this.GetSpan(i,j)
162				if (this.GetStile(i,j)!="")	sTemp += " class='" + this.GetStile(i,j) + "'"
163				sTemp += ">" + this.GetValore(i,j) 
164				if (this.intestazioni) {
165					if ((i==1)|| (j==1)) {
166						sTemp += "</th>"
167					} else {
168						sTemp += "</td>"
169					}
170				} else {
171					sTemp += "</td>"
172				}
173				document.write(sTemp)
174			}
175		}
176		document.writeln("</tr>")		
177		if (i==1) {
178			document.writeln("</thead>")
179		} else if (i==this.numrighe) {
180			document.writeln("</tbody>")
181		}
182		if ((i % d10) == 0) Stato("Visualizzazione " + this.nome + "..." + (Math.floor((i*100)/this.numrighe)) + "%")
183	}
184	document.write("</table>")
185}
186
187function TabellaSetLarghezzaColonna(colonna,larghezzaperc) {
188	this.larghezzacolonne[colonna] = larghezzaperc
189}
190
191// Codice per TableSpan
192// Copyright di Richard Cornford
193/* Copyright Richard Cornford 2004 */
194var finalizeMe = (function(){
195	var global = this,base,safe = false,svType = (global.addEventListener && 2)||(global.attachEvent && 3)|| 0;
196	function addFnc(next, f){function t(ev){if(next)next(ev);f(ev);};t.addItem = function(d){if(f != d.getFunc()){if(next){next.addItem(d);}else{next = d;}}return this;};t.remove = function(d){if(f == d){f = null;return next;}else if(next){next = next.remove(d);}return this;};t.getFunc = function(){return f;};t.finalize = function(){if(next)next = next.finalize();return (f = null);};return t;};
197	function addFunction(f){if(base){base = base.addItem(addFnc(null, f));}else{base = addFnc(null, f);}};
198	function ulQue(f){addFunction(f);if(!safe){switch(svType){case 2:global.addEventListener("unload", base, false);safe = true;break;case 3:global.attachEvent("onunload", base);safe = true;break;default:if(global.onunload != base){if(global.onunload)addFunction(global.onunload);global.onunload = base;}break;}}};
199	ulQue.remove = function(f){if(base)base.remove(f);};
200	function finalize(){if(base){base.finalize();switch(svType){case 3:global.detachEvent("onunload", base);break;case 2:global.removeEventListener("unload", base, false);break;default:global.onunload = null;break;}base = null;}safe = false;};
201	ulQue(finalize);return ulQue;
202})();
203
204
205var InitializeMe = (function(){
206	var global = this,base = null,safe = false;
207	var listenerType = (global.addEventListener && 2)||(global.attachEvent && 3)|| 0;
208	function getStackFunc(next, funcRef, arg1,arg2,arg3,arg4){function l(ev){funcRef((ev?ev:global.event), arg1,arg2,arg3,arg4);if(next)next = next(ev);return (funcRef = null);};l.addItem = function(d){if(next){next.addItem(d);}else{next = d;}};return l;};
209	return (function(funcRef, arg1,arg2,arg3,arg4){if(base){base.addItem(getStackFunc(null, funcRef, arg1,arg2,arg3,arg4));}else{base = getStackFunc(null, funcRef, arg1,arg2,arg3,arg4);}if(!safe){switch(listenerType){case 2:global.addEventListener("load", base, false);safe = true;break;case 3:global.attachEvent("onload", base);safe = true;break;default:if(global.onload != base){if(global.onload){base.addItem(getStackFunc(null, global.onload));}global.onload = base;}break;}}});
210})();
211var queryStrings = (function(out){
212    if(typeof location != 'undefined'){
213        var temp = location.search||location.href||'';
214        var nvp, ofSet;
215        if((ofSet = temp.indexOf('?')) > -1){
216            temp = temp.split("#")[0];
217            temp = temp.substring((ofSet+1), temp.length);
218            var workAr = temp.split('&');
219            for(var c = workAr.length;c--;){
220                nvp = workAr[c].split('=');
221                if(nvp.length > 1){out[nvp[0]] = nvp[1];}
222            }
223        }
224    }
225    return out;
226})({});
227
228var TimedQue = (function(){
229	var base, timer;
230	var interval = 60;
231	var newFncs = null;
232	function addFnc(next, f){function t(){next = next&&next();if(f()){return t;}else{f = null;return next;}}t.addItem = function(d){if(next){next.addItem(d);}else{next = d;}return this;};t.finalize = function(){return ((next)&&(next = next.finalize())||(f = null));};return t;}
233	function tmQue(fc){if(newFncs){newFncs = newFncs.addItem(addFnc(null, fc));}else{newFncs = addFnc(null, fc);}if(!timer){timer = setTimeout(tmQue.act, interval);}}
234	tmQue.act = function(){var fn = newFncs, strt = new Date().getTime();if(fn){newFncs = null;if(base){base.addItem(fn);}else{base = fn;}}base = base&&base();if(base||newFncs){var t = interval - (new Date().getTime() - strt);timer = setTimeout(tmQue.act, ((t > 0)?t:1));}else{timer = null;}};
235	tmQue.act.toString = function(){return 'TimedQue.act()';};
236	tmQue.finalize = function(){timer = timer&&clearTimeout(timer);base = base&&base.finalize();newFncs = null;};
237	return tmQue;
238})();
239
240var getElementWithId = (function(){if(document.getElementById){return (function(id){return document.getElementById(id);});}else if(document.all){return (function(id){return document.all[id];});}return (function(id){return null;});})();
241
242function getSimpleExtPxIn(el){
243	var temp, temp2, tick = 0, getBorders = retFalse, doCompStyle = retFalse,defaultView,objList = [];
244	function retFalse(){return false;}
245	retFalse.elTest = retFalse;
246	retFalse.iY = retFalse.iX = retFalse.y = retFalse.x = retFalse.w = retFalse.h = retFalse.bb = retFalse.bt = retFalse.bl = retFalse.br = 0;
247	function retThis(){return retThis;}
248	function gCompStyleBorders(p, el){doCompStyle(p, defaultView.getComputedStyle(el, '' ));}
249	function doComputedStyleFloat(p, cs){p.bt = (cs.getPropertyCSSValue('border-top-width').getFloatValue(5));p.bl = (cs.getPropertyCSSValue('border-left-width').getFloatValue(5));p.br = (cs.getPropertyCSSValue('border-right-width').getFloatValue(5));p.bb = (cs.getPropertyCSSValue('border-bottom-width').getFloatValue(5));}
250	function doComputedStyleValue(p, cs){p.bt = Math.ceil(parseFloat(s.getPropertyValue('border-top-width')))|0;p.bl = Math.ceil(parseFloat(s.getPropertyValue('border-left-width')))|0;p.br = Math.ceil(parseFloat(s.getPropertyValue('border-right-width')))|0;p.bb = Math.ceil(parseFloat(s.getPropertyValue('border-bottom-width')))|0;}
251	function gClientBorders(p, el){if(el.clientWidth||el.clientHeight){p.bb = (el.offsetHeight - (el.clientHeight + (p.bt = el.clientTop|0)))|0;p.br = (el.offsetWidth - (el.clientWidth + (p.bl = el.clientLeft|0)))|0;}}
252	function getInterfaceObj(el){var lastTick = NaN;var offsetParent = getSimpleExtPxInFn(el.offsetParent)||retFalse;function p(doTick){if(doTick){tick = (1+tick)%0xEFFFFFFF;}if(tick != lastTick){lastTick = tick;offsetParent();getBorders(p, el);p.iY = (p.y = (offsetParent.iY + (el.offsetTop|0))) + p.bt;p.iX = (p.x = (offsetParent.iX + (el.offsetLeft|0))) + p.bl;p.w = el.offsetWidth|0;p.h = el.offsetHeight|0;}return p;}p.elTest = function(elmnt){return (elmnt == el);};p.iY = p.iX = p.w = p.h = p.y = p.x = p.bb = p.bt = p.bl = p.br = 0;return (objList[objList.length] = p);}
253	function getSimpleExtPxInFn(el){if((!el)||(el == document)){return retFalse;}for(var c = objList.length;c--;){if(objList[c].elTest(el)){return objList[c];}}return getInterfaceObj(el);}
254	function setSpecialObj(el){var lastTick = NaN;function p(doTick){if(doTick){tick = (1+tick)%0xEFFFFFFF;}return p;}p.elTest = function(elmnt){return (elmnt == el);};p.iY = p.iX = p.w = p.h = p.y = p.x = p.bb = p.bt = p.bl = p.br = 0;objList[objList.length] = p;}
255	if((typeof el.offsetParent != 'undefined')&&(typeof el.offsetTop == 'number')&&(typeof el.offsetWidth == 'number')){if((typeof el.clientTop == 'number')&&(typeof el.clientWidth == 'number')){getBorders = gClientBorders;}else if((defaultView = document.defaultView)&&defaultView.getComputedStyle &&(temp = defaultView.getComputedStyle(el, '' ))&&(((temp.getPropertyCSSValue)&&(temp2 = temp.getPropertyCSSValue('border-top-width'))&&(temp2.getFloatValue)&&(doCompStyle = doComputedStyleFloat))||((temp.getPropertyValue)&&(doCompStyle = doComputedStyleValue)))){getBorders = gCompStyleBorders;temp2 = temp = null;}if(document.documentElement){setSpecialObj(document.documentElement);}if(document.body){setSpecialObj(document.body);}return (getSimpleExtPxIn = getSimpleExtPxInFn)(el);}else{retThis.elTest = retFalse;retThis.iY = retThis.iX = retThis.y = retThis.x = retThis.w = retThis.h = retThis.bb = retThis.bt = retThis.bl = retThis.br = NaN;return (getSimpleExtPxIn = retThis);}
256}
257
258function getNewFILCFncStac(fnc){function getNewFnc(f){var next = null;function t(a){next = next&&next(a);return (f(a))?t:next;}t.finalize = function(){next = next&&next.finalize();return (f = null);};t.addItem = function(d){if(f != d){if(next){next.addItem(d);}else{next = getNewFnc(d);}}return this;};return t;}var base = getNewFnc(fnc);fnc = function(a){base = base&&base(a);};fnc.addItem = function(d){if(base){base.addItem(d)}else{base = getNewFnc(d);}};fnc.finalize = function(){return (base = base&&base.finalize());};return fnc;}
259
260function GlobalEventMonitor(eventName, functinRef){
261	var finalize, global = this;
262	var monitors = {};
263	var onName = ['on',''];
264	function mainMonitor(eventName, functinRef){
265		var monitor = monitors[eventName];
266		if(monitor){
267			monitor(functinRef);
268		}else{
269			setEventMonitor(eventName, functinRef);
270		}
271	}
272	function setListener(eventName, longName, fncStack){
273		global.addEventListener(eventName, fncStack, false);
274		return true;
275	}
276	function setListener_aE(eventName, longName, fncStack){
277		global.attachEvent(longName, fncStack);
278		return true;
279	}
280	function oldHandler(f){return (function(e){f(e);return true;});}
281	function retFalse(){return false;}
282	function setEventMonitor(eventName, functinRef){
283		var fncStack, longName;
284		onName[1] = eventName;
285		longName = onName.join('');
286		function main(funcRef){
287			if(funcRef){
288				fncStack.addItem(funcRef);
289				globalCheck();
290			}
291		}
292		function globalCheck(){
293			if(global[longName] != fncStack){
294				if(global[longName]){
295					fncStack.addItem(oldHandler(global[longName]));
296				}
297				global[longName] = fncStack;
298			}
299		}
300		fncStack = getNewFILCFncStac(functinRef);
301		if(setListener(eventName, longName, fncStack)){
302			globalCheck = retFalse;
303		}else{
304			globalCheck();
305		}
306		finalize.addItem(fncStack.finalize);
307		monitors[eventName] = main;
308		functinRef = null;
309	}
310	if(!global.addEventListener){
311		if(global.attachEvent){
312			setListener = setListener_aE;
313		}else{
314			setListener = retFalse;
315		}
316	}
317	finalizeMe((finalize = getNewFILCFncStac(
318		function(){
319			finalize = monitors = null;
320		})
321	));
322	(GlobalEventMonitor = mainMonitor)(eventName, functinRef);
323	functinRef = null;
324}
325
326var tableScroll = (function(){
327	var global = this, finalise, tableList = {};
328	var notOnScroll = true, notAbort = true;
329	var overrideStyles = {
330		margin:[{keys:['margin','marginBottom','marginLeft','marginRight','marginTop'],value:'0px'}],
331		padding:[{keys:['padding','paddingBottom','paddingLeft','paddingRight','paddingTop'],value:'0px'}],
332		border:[
333			{keys:['border','borderBottom','borderLeft','borderRight','borderTop'],value:'0px none #FFFFFF'},
334			{keys:['borderWidth','borderLeftWidth','borderRightWidth','borderBottomWidth','borderTopWidth'],value:'0px'},
335			{keys:['borderStyle','borderRightStyle','borderLeftStyle','borderBottomStyle','borderTopStyle'],value:'none'}
336		],
337		overflow:[{keys:['overflow'],value:'hidden'}],
338		positionRel:[{keys:['position'],value:'relative'}],
339		positionAbs:[{keys:['position'],value:'absolute'}],
340		top:[{keys:['top'],value:'0px'}],
341		left:[{keys:['left'],value:'0px'}],
342		zIndex:[{keys:['zIndex'],value:2}]
343	};
344	function setStyleProps(styleObj){
345		var data, dArray;
346		for(var c = 1;c < arguments.length;c++){
347			if((data = overrideStyles[arguments[c]])){
348				for(var d = data.length;d--;){
349					dArray = data[d].keys;
350					for(var e = dArray.length;e--;){
351						styleObj[dArray[e]] = data[d].value;
352					}
353				}
354			}
355		}
356		return true;
357	}
358	function setClass(el,val){
359		if(el.setAttribute){el.setAttribute('class',val);}
360		return (el.className = val);
361	}
362	function retFalse(){return false;}
363	function TableScroll(id){
364		var midAbsDiv, parent, vHeaderAbsStyle, vHeaderRelStyle, hHeaderAbsStyle, hHeaderRelStyle;
365		var midAbsDivStyle, midAbsinerDivStyle, inRelDivStyle, outRelDivDim;
366		var lastScrollTop = NaN, lastScrollLeft = NaN, lastWidth = NaN, lastHeight = NaN, tableDim, table = getElementWithId(id);
367		var midRelinerDivStyle, midRelinerDiv, testCellDim;
368		function position(){
369				var nh,nw,size,th,tw,cellWidth,celHeight,st = midAbsDiv.scrollTop, sl = midAbsDiv.scrollLeft, h = outRelDivDim(true).h, w = outRelDivDim.w;
370				if((size = ((w != lastWidth)||(h != lastHeight)))||(st != lastScrollTop)||(sl != lastScrollLeft)){
371					hHeaderRelStyle.left = (((cellWidth = (testCellDim().x - tableDim().iX)) + (lastScrollLeft = sl)) * -1)+'px';//position
372					vHeaderRelStyle.top = (((celHeight = (testCellDim.y - tableDim.iY)) + (lastScrollTop = st)) * -1)+'px';
373					if(size){
374						vHeaderRelStyle.width = vHeaderAbsStyle.width = midAbsDivStyle.left = hHeaderAbsStyle.left = (cellWidth+'px');
375						hHeaderRelStyle.height = hHeaderAbsStyle.height = midAbsDivStyle.top = vHeaderAbsStyle.top = (celHeight+'px');
376						inRelDivStyle.left = (cellWidth * -1)+'px';
377						inRelDivStyle.top = (celHeight * -1)+'px';
378						midRelinerDivStyle.width = midAbsinerDivStyle.width = ((tw = tableDim.w) - cellWidth)+'px';
379						midRelinerDivStyle.height = midAbsinerDivStyle.height = ((th = tableDim.h) - celHeight)+'px';
380						midAbsDivStyle.height = vHeaderAbsStyle.height = (((nh = ((lastHeight = h) - celHeight)) > celHeight)?nh:celHeight)+'px';
381						midAbsDivStyle.width = hHeaderAbsStyle.width = (((nw = ((lastWidth = w) - cellWidth)) > cellWidth)?nw:cellWidth)+'px';
382						hHeaderRelStyle.width = inRelDivStyle.width = tw + 'px';
383						vHeaderRelStyle.height = inRelDivStyle.height = th + 'px';
384					}
385				}
386				return notOnScroll;
387		}
388		function onScroll(){
389			notOnScroll = false;
390			position();
391		}
392		function onSize(){
393			position();
394			return true;
395		}
396		finalise.addItem(function(){
397			testCellDim = midRelinerDivStyle = midRelinerDiv = 
398			midAbsinerDivStyle =  tableDim = vHeaderAbsStyle = vHeaderRelStyle = hHeaderAbsStyle = hHeaderRelStyle = inRelDivStyle = outRelDivDim = midAbsDiv = parent = table = null;
399			})
400		if(
401			table&&
402			(typeof table.scrollTop == 'number')&&
403			(typeof table.offsetHeight == 'number')&&
404			table.tagName&&
405			table.appendChild&&
406			table.cloneNode&&
407			table.getAttribute&&
408			table.getElementsByTagName&&
409			(parent = table.parentNode)&&
410			parent.insertBefore
411		   ){
412			InitializeMe(function(){
413				var newTable, testCell;
414				var vHeaderAbs, vHeaderRel, hHeaderAbs, hHeaderRel,outRelDiv, midAbsinerDiv, inRelDiv;
415				if(
416					(notAbort)&&
417					(testCell = table.getElementsByTagName('td')[0])&&
418					(newTable = table.cloneNode(true))&&
419					(outRelDiv = document.createElement('DIV'))&&
420					(setClass(outRelDiv, 'tableBoxOuter'))&&
421					(midAbsDiv = document.createElement('DIV'))&&
422					(midRelinerDiv = document.createElement('DIV'))&&
423					(midAbsinerDiv = document.createElement('DIV'))&&
424					(inRelDiv = document.createElement('DIV'))&&
425					(vHeaderAbs = document.createElement('DIV'))&&
426					(vHeaderRel = document.createElement('DIV'))&&
427					(hHeaderAbs = document.createElement('DIV'))&&
428					(hHeaderRel = document.createElement('DIV'))&&
429					(setStyleProps(outRelDiv.style, 'positionRel', 'padding'))&&
430					(midAbsDivStyle = midAbsDiv.style)&&
431					(setStyleProps(midAbsDivStyle, 'positionAbs', 'padding', 'margin', 'border', 'zIndex'))&&
432					(midRelinerDivStyle = midRelinerDiv.style)&&
433					(setStyleProps(midRelinerDivStyle, 'positionRel', 'padding', 'margin', 'border', 'top', 'left'))&&
434					(midAbsinerDivStyle = midAbsinerDiv.style)&&
435					(setStyleProps(midAbsinerDivStyle, 'positionAbs', 'overflow', 'padding', 'margin', 'border', 'top', 'left'))&&
436					(inRelDivStyle = inRelDiv.style)&&
437					(setStyleProps(inRelDivStyle, 'positionRel', 'padding', 'margin', 'border', 'top', 'left'))&&
438					(vHeaderAbsStyle = vHeaderAbs.style)&&
439					(setStyleProps(vHeaderAbsStyle, 'positionAbs', 'overflow', 'padding', 'margin', 'border', 'top', 'left', 'zIndex'))&&
440					(vHeaderRelStyle = vHeaderRel.style)&&
441					(setStyleProps(vHeaderRelStyle, 'positionRel', 'padding', 'margin', 'border', 'top', 'left'))&&
442					(hHeaderAbsStyle = hHeaderAbs.style)&&
443					(setStyleProps(hHeaderAbsStyle, 'positionAbs', 'overflow', 'padding', 'margin', 'border', 'top', 'left', 'zIndex'))&&
444					(hHeaderRelStyle = hHeaderRel.style)&&
445					(setStyleProps(hHeaderRelStyle, 'positionRel', 'padding', 'margin', 'border', 'top', 'left'))&&
446					(setStyleProps(table.style, 'margin'))&&
447					(midAbsDiv.appendChild(midRelinerDiv))&&
448					(midRelinerDiv.appendChild(midAbsinerDiv))&&
449					(midAbsinerDiv.appendChild(inRelDiv))&&
450					(outRelDiv.appendChild(midAbsDiv))&&
451					(vHeaderAbs.appendChild(vHeaderRel))&&
452					(hHeaderAbs.appendChild(hHeaderRel))&&
453					(outRelDiv.appendChild(vHeaderAbs))&&
454					(outRelDiv.appendChild(hHeaderAbs))&&
455					(parent.insertBefore(outRelDiv, table))&&
456					(!isNaN((outRelDivDim = getSimpleExtPxIn(outRelDiv)).w))&&
457					(inRelDiv.appendChild(table))&&
458					(!isNaN((testCellDim = getSimpleExtPxIn(testCell)).w))&&
459					(!isNaN((tableDim = getSimpleExtPxIn(table)).w))&&
460					(hHeaderRel.appendChild(newTable))&&
461					(newTable = table.cloneNode(true))&&
462					(vHeaderRel.appendChild(newTable))
463				   ){
464					midAbsDivStyle.overflow = 'scroll';
465					if(midAbsDiv.addEventListener){
466						midAbsDiv.addEventListener('scroll', onScroll, false);
467					}else if(midAbsDiv.attachEvent){
468						midAbsDiv.attachEvent('onscroll', onScroll);
469					}else{
470						midAbsDiv.onscroll = onScroll;
471					}
472					GlobalEventMonitor('resize', onSize);
473					position();
474					TimedQue(position);
475				}else{
476					notAbort = false;
477				}
478			});
479		}else{
480			notAbort = false;
481		}
482		return true;
483	}
484	function main(){
485		var id;
486		for(var c = 0;c < arguments.length;c++){
487			id = arguments[c];
488			if(notAbort&&!tableList[id]){
489				tableList[id] = TableScroll(id);
490			}
491		}
492	}
493	if(
494		(!global.queryStrings||!queryStrings['noTableScroll'])&&
495		global.setTimeout&&
496		global.document&&
497		document.createElement
498	){
499		finalizeMe((finalise = getNewFILCFncStac(function(){
500			finalise = tableList = null;
501		})));
502		return main;
503	}else{
504		return retFalse;
505	}
506})();
507

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.