annotate client/digitallibrary/greyskin/fixed.js @ 644:bffc7d8c3641 jquery

renamed 'actions' to 'buttons' and 'methods' to 'actions' actionGroups now buttonGroups all functions in actions automatically get 'data' as first argument
author robcast
date Thu, 20 Jan 2011 19:37:19 +0100
parents cb654584a685
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
477
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
1 // fixed.js: fix fixed positioning and fixed backgrounds in IE/Win
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
2 // version 1.8, 08-Aug-2003
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
3 // written by Andrew Clover <and@doxdesk.com>, use freely
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
4
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
5 /*@cc_on
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
6 @if (@_win32 && @_jscript_version>4)
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
7
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
8 var fixed_positions= new Array();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
9 var fixed_backgrounds= new Array();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
10 var fixed_viewport;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
11
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
12 // Initialisation. Called when the <body> tag arrives. Set up viewport so the
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
13 // rest of the script knows we're going, and add a measurer div, used to detect
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
14 // font size changes and measure image sizes for backgrounds later
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
15
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
16 function fixed_init() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
17 fixed_viewport= (document.compatMode=='CSS1Compat') ?
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
18 document.documentElement : document.body;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
19 var el= document.createElement('div');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
20 el.setAttribute('id', 'fixed-measure');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
21 el.style.position= 'absolute';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
22 el.style.top= '0'; el.style.left= '0';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
23 el.style.overflow= 'hidden'; el.style.visibility= 'hidden';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
24 el.style.fontSize= 'xx-large'; el.style.height= '5em';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
25 el.style.setExpression('width', 'fixed_measureFont()');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
26 document.body.insertBefore(el, document.body.firstChild);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
27 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
28
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
29 // Binding. Called every time an element is added to the document, check it
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
30 // for fixed features, if found add to our lists and set initial props
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
31
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
32 function fixed_bind(el) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
33 var needLayout= false;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
34 var tag= el.tagName.toLowerCase();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
35 var st= el.style;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
36 var cst= el.currentStyle;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
37 var anc;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
38
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
39 // find fixed-position elements
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
40 if (cst.position=='fixed') {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
41 needLayout= true;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
42 fixed_positions[fixed_positions.length]= el;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
43 // store original positioning as we'll overwrite it
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
44 st.position= 'absolute';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
45 st.fixedPLeft= cst.left;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
46 st.fixedPTop= cst.top;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
47 st.fixedPRight= cst.right;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
48 st.fixedPBottom= cst.bottom;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
49 st.fixedPWidth= fixed_parseLength(cst.width);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
50 st.fixedPHeight= fixed_parseLength(cst.height);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
51 // find element that will act as containing box, for convenience later
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
52 st.fixedCB= null;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
53 for (anc= el; (anc= anc.parentElement).parentElement;) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
54 if (anc.currentStyle.position!='static') {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
55 st.fixedCB= anc;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
56 break;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
57 } }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
58 // detect nested fixed positioning (only ancestor need move)
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
59 st.fixedNest= false;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
60 for (anc= el; anc= anc.parentElement;) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
61 if (anc.style.fixedNest!=null)
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
62 st.fixedNest= true;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
63 break;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
64 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
65 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
66
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
67 // find fixed-background elements (not body/html which IE already gets right)
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
68 if (cst.backgroundAttachment=='fixed' && tag!='body' && tag!='html') {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
69 needLayout= true;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
70 fixed_backgrounds[fixed_backgrounds.length]= el;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
71 // get background offset, converting from keyword if necessary
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
72 st.fixedBLeft= fixed_parseLength(cst.backgroundPositionX);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
73 st.fixedBTop= fixed_parseLength(cst.backgroundPositionY);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
74 // if it's a non-zero %age, need to know size of image for layout
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
75 if (st.fixedBLeft[1]=='%' || st.fixedBTop[1]=='%') {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
76 st.fixedBWidth= 0; st.fixedBHeight= 0;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
77 fixed_measureBack(el);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
78 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
79 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
80 if (needLayout) fixed_layout();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
81 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
82
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
83 // Layout. On every window or font size change, recalculate positioning
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
84
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
85 // Request re-layout at next free moment
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
86 var fixed_delaying= false;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
87 function fixed_delayout() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
88 if (fixed_delaying) return;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
89 fixed_delaying= true;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
90 window.setTimeout(fixed_layout, 0);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
91 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
92
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
93 var fixed_ARBITRARY= 200;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
94
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
95 function fixed_layout() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
96 fixed_delaying= false;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
97 if (!fixed_viewport) return;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
98 var i, el, st, j, pr, tmp, A= 'auto';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
99 var cb, cbLeft, cbTop, cbRight, cbBottom, oLeft, oTop, oRight, oBottom;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
100 var vpWidth=fixed_viewport.clientWidth, vpHeight=fixed_viewport.clientHeight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
101
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
102 // calculate initial position for fixed-position elements [black magic]
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
103 for (i= fixed_positions.length; i-->0;) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
104 el= fixed_positions[i]; st= el.style;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
105 // find positioning of containing block
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
106 cb= st.fixedCB; if (!cb) cb= fixed_viewport;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
107 cbLeft= fixed_pageLeft(cb); cbTop= fixed_pageTop(cb);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
108 if (cb!=fixed_viewport) { cbLeft+= cb.clientLeft; cbTop+= cb.clientTop; }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
109 cbRight= fixed_viewport.clientWidth-cbLeft-cb.clientWidth;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
110 cbBottom= fixed_viewport.clientHeight-cbTop-cb.clientHeight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
111 // if size is in %, must recalculate relative to viewport
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
112 if (st.fixedPWidth[1]=='%')
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
113 st.width= Math.round(vpWidth*st.fixedPWidth[0]/100)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
114 if (st.fixedPHeight[1]=='%')
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
115 st.height= Math.round(vpHeight*st.fixedPHeight[0]/100)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
116 // find out offset values at max size, to account for margins
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
117 st.left= A; st.right= '0'; st.top= A; st.bottom= '0';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
118 oRight= el.offsetLeft+el.offsetWidth; oBottom= el.offsetTop+el.offsetHeight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
119 st.left= '0'; st.right= A; st.top= '0'; st.bottom= A;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
120 oLeft= el.offsetLeft; oTop= el.offsetTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
121 // use this to convert all edges to pixels
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
122 st.left= A; st.right= st.fixedPRight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
123 st.top= A; st.bottom= st.fixedPBottom;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
124 oRight-= el.offsetLeft+el.offsetWidth;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
125 oBottom-= el.offsetTop+el.offsetHeight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
126 st.left= st.fixedPLeft; st.top= st.fixedPTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
127 oLeft= el.offsetLeft-oLeft; oTop= el.offsetTop-oTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
128 // edge positioning fix
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
129 if (st.fixedPWidth[1]==A && st.fixedPLeft!=A && st.fixedPRight!=A) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
130 tmp= el.offsetLeft; st.left= A; st.width= fixed_ARBITRARY+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
131 tmp= fixed_ARBITRARY+el.offsetLeft-tmp+cbLeft+cbRight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
132 st.left= st.fixedPLeft; st.width= ((tmp<1)?1:tmp)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
133 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
134 if (st.fixedPHeight[1]==A && st.fixedPTop!=A && st.fixedPBottom!=A) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
135 tmp= el.offsetTop; st.top= A; st.height= fixed_ARBITRARY+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
136 tmp= fixed_ARBITRARY+el.offsetTop-tmp+cbTop+cbBottom;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
137 st.top= st.fixedPTop; st.height= ((tmp<1)?1:tmp)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
138 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
139 // move all non-auto edges relative to the viewport
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
140 st.fixedCLeft= (st.fixedPLeft=='auto') ? oLeft : oLeft-cbLeft;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
141 st.fixedCTop= (st.fixedPTop=='auto') ? oTop : oTop-cbTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
142 st.fixedCRight= (st.fixedPRight=='auto') ? oRight : oRight-cbRight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
143 st.fixedCBottom= (st.fixedPBottom=='auto') ? oBottom : oBottom-cbBottom;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
144 // remove left-positioning of right-positioned elements
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
145 if (st.fixedPLeft=='auto' && st.fixedPRight!='auto') st.fixedCLeft= 'auto';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
146 if (st.fixedPTop=='auto' && st.fixedPBottom!='auto') st.fixedCTop= 'auto';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
147 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
148
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
149
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
150 // calculate initial positioning of fixed backgrounds
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
151 for (i= fixed_backgrounds.length; i-->0;) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
152 el= fixed_backgrounds[i]; st= el.style;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
153 tmp= st.fixedBImage;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
154 if (tmp) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
155 if (tmp.readyState!='uninitialized') {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
156 st.fixedBWidth= tmp.offsetWidth;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
157 st.fixedBHeight= tmp.offsetHeight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
158 st.fixedBImage= window.undefined;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
159 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
160 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
161 st.fixedBX= fixed_length(el, st.fixedBLeft, vpWidth-st.fixedBWidth);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
162 st.fixedBY= fixed_length(el, st.fixedBTop, vpHeight-st.fixedBHeight);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
163 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
164
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
165 // now call scroll() to set the positions from the values just calculated
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
166 fixed_scroll();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
167 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
168
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
169 // Scrolling. Offset fixed elements relative to viewport scrollness
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
170
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
171 var fixed_lastX, fixed_lastY;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
172 var fixed_PATCHDELAY= 300;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
173 var fixed_patching= false;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
174
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
175 // callback function after a scroll, because incorrect scroll position is
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
176 // often reported first go!
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
177 function fixed_patch() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
178 fixed_patching= false;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
179 var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
180 if (scrollX!=fixed_lastX && scrollY!=fixed_lastY) fixed_scroll();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
181 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
182
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
183 function fixed_scroll() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
184 if (!fixed_viewport) return;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
185 var i, el, st, viewportX, viewportY;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
186 var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
187 fixed_lastX= scrollX; fixed_lastY= scrollY;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
188
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
189 // move non-nested fixed-position elements
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
190 for (i= fixed_positions.length; i-->0;) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
191 st= fixed_positions[i].style;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
192 viewportX= (st.fixedNest) ? 0 : scrollX;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
193 viewportY= (st.fixedNest) ? 0 : scrollY;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
194 if (st.fixedCLeft!='auto') st.left= (st.fixedCLeft+viewportX)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
195 if (st.fixedCTop!='auto') st.top= (st.fixedCTop+viewportY)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
196 viewportX= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportX;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
197 viewportY= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportY;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
198 st.right= (st.fixedCRight-viewportX+1)+'px'; st.right= (st.fixedCRight-viewportX)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
199 st.bottom= (st.fixedCBottom-viewportY+1)+'px'; st.bottom= (st.fixedCBottom-viewportY)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
200 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
201
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
202 // align fixed backgrounds to viewport
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
203 for (i= fixed_backgrounds.length; i-->0;) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
204 el= fixed_backgrounds[i]; st= el.style;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
205 viewportX= scrollX;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
206 viewportY= scrollY;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
207 while (el.offsetParent) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
208 viewportX-= el.offsetLeft+el.clientLeft;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
209 viewportY-= el.offsetTop +el.clientTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
210 el= el.offsetParent;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
211 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
212 st.backgroundPositionX= (st.fixedBX+viewportX)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
213 st.backgroundPositionY= (st.fixedBY+viewportY)+'px';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
214 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
215
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
216 // call back again in a tic
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
217 if (!fixed_patching) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
218 fixed_patching= true;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
219 window.setTimeout(fixed_patch, fixed_PATCHDELAY);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
220 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
221 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
222
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
223 // Measurement. Load bg-image into an invisible element on the page, when
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
224 // loaded write the width/height to an element's style for layout use; detect
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
225 // when font size changes
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
226
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
227 function fixed_measureBack(el) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
228 var measure= document.getElementById('fixed-measure');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
229 var img= document.createElement('img');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
230 img.setAttribute('src', fixed_parseURL(el.currentStyle.backgroundImage));
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
231 measure.appendChild(img);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
232 el.style.fixedBImage= img;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
233 if (img.readyState=='uninitialized')
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
234 img.attachEvent('onreadystatechange', fixed_measureBackImage_ready);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
235 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
236
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
237 function fixed_measureBackImage_ready() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
238 var img= event.srcElement;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
239 if (img && img.readyState!='uninitialized') {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
240 img.detachEvent('onreadystatechange', fixed_measureBackImage_ready);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
241 fixed_layout();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
242 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
243 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
244
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
245 var fixed_fontsize= 0;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
246 function fixed_measureFont() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
247 var fs= document.getElementById('fixed-measure').offsetHeight;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
248 if (fixed_fontsize!=fs && fixed_fontsize!=0)
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
249 fixed_delayout();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
250 fixed_fontsize= fs;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
251 return '5em';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
252 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
253
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
254 // Utility. General-purpose functions
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
255
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
256 // parse url() to get value inside
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
257
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
258 function fixed_parseURL(v) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
259 v= v.substring(4, v.length-1);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
260 if (v.charAt(0)=='"' && v.charAt(v.length-1)=='"' ||
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
261 v.charAt(0)=="'" && v.charAt(v.length-1)=="'")
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
262 return v.substring(1, v.length-1);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
263 else return v;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
264 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
265
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
266 // parse length or auto or background-position keyword into number and unit
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
267
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
268 var fixed_numberChars= '+-0123456789.';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
269 var fixed_ZERO= new Array(0, 'px');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
270 var fixed_50PC= new Array(50, '%');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
271 var fixed_100PC= new Array(100, '%');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
272 var fixed_AUTO= new Array(0, 'auto');
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
273
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
274 function fixed_parseLength(v) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
275 var num, i;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
276 if (v=='left' || v=='top') return fixed_ZERO;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
277 if (v=='right' || v=='bottom') return fixed_100PC;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
278 if (v=='center') return fixed_50PC;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
279 if (v=='auto') return fixed_AUTO;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
280 i= 0;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
281 while (i<v.length && fixed_numberChars.indexOf(v.charAt(i))!=-1)
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
282 i++;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
283 num= parseFloat(v.substring(0, i));
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
284 if (num==0) return fixed_ZERO;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
285 else return new Array(num, v.substring(i));
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
286 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
287
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
288 // convert parsed (number, unit) into a number of pixels
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
289
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
290 function fixed_length(el, l, full) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
291 var tmp, x;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
292 if (l[1]=='px') return l[0];
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
293 if (l[1]=='%') return Math.round(full*l[0]/100);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
294 // other units - measure by setting position; this is rather inefficient
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
295 // but then these units are used for background-position so seldom...
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
296 tmp= el.currentStyle.left;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
297 el.style.left= '0';
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
298 x= el.offsetLeft;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
299 el.style.left= l[0]+l[1];
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
300 x= el.offsetLeft-x;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
301 el.style.left= tmp;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
302 return x;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
303 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
304
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
305 // convert stupid IE offsetLeft/Top to page-relative values
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
306
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
307 function fixed_pageLeft(el) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
308 var v= 0;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
309 while (el.offsetParent) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
310 v+= el.offsetLeft;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
311 el= el.offsetParent;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
312 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
313 return v;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
314 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
315 function fixed_pageTop(el) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
316 var v= 0;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
317 while (el.offsetParent) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
318 v+= el.offsetTop;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
319 el= el.offsetParent;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
320 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
321 return v;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
322 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
323
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
324 // Scanning. Check document every so often until it has finished loading. Do
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
325 // nothing until <body> arrives, then call main init. Pass any new elements
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
326 // found on each scan to be bound
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
327
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
328 var fixed_SCANDELAY= 500;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
329
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
330 function fixed_scan() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
331 if (!document.body) return;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
332 if (!fixed_viewport) fixed_init();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
333 var el;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
334 for (var i= 0; i<document.all.length; i++) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
335 el= document.all[i];
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
336 if (!el.fixed_bound) {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
337 el.fixed_bound= true;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
338 fixed_bind(el);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
339 } }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
340 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
341
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
342 var fixed_scanner;
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
343 function fixed_stop() {
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
344 window.clearInterval(fixed_scanner);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
345 fixed_scan();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
346 }
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
347
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
348 fixed_scan();
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
349 fixed_scanner= window.setInterval(fixed_scan, fixed_SCANDELAY);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
350 window.attachEvent('onload', fixed_stop);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
351 window.attachEvent('onresize', fixed_delayout);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
352 window.attachEvent('onscroll', fixed_scroll);
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
353
cb654584a685 added script that adds css "fixed" attribute for IE
hertzhaft
parents:
diff changeset
354 @end @*/