1// FancyZoomHTML.js - v1.0 2// Used to draw necessary HTML elements for FancyZoom 3// 4// Copyright (c) 2008 Cabel Sasser / Panic Inc 5// All rights reserved. 6 7function insertZoomHTML() { 8 9 // All of this junk creates the three <div>'s used to hold the closebox, image, and zoom shadow. 10 11 var inBody = document.getElementsByTagName("body").item(0); 12 13 // WAIT SPINNER 14 15 var inSpinbox = document.createElement("div"); 16 inSpinbox.setAttribute('id', 'ZoomSpin'); 17 inSpinbox.style.position = 'absolute'; 18 inSpinbox.style.left = '10px'; 19 inSpinbox.style.top = '10px'; 20 inSpinbox.style.visibility = 'hidden'; 21 inSpinbox.style.zIndex = '525'; 22 inBody.insertBefore(inSpinbox, inBody.firstChild); 23 24 var inSpinImage = document.createElement("img"); 25 inSpinImage.setAttribute('id', 'SpinImage'); 26 inSpinImage.setAttribute('src', zoomImagesURI+'zoom-spin-1.png'); 27 inSpinbox.appendChild(inSpinImage); 28 29 // ZOOM IMAGE 30 // 31 // <div id="ZoomBox"> 32 // <a href="javascript:zoomOut();"><img src="/images/spacer.gif" id="ZoomImage" border="0"></a> <!-- THE IMAGE --> 33 // <div id="ZoomClose"> 34 // <a href="javascript:zoomOut();"><img src="/images/closebox.png" width="30" height="30" border="0"></a> 35 // </div> 36 // </div> 37 38 var inZoombox = document.createElement("div"); 39 inZoombox.setAttribute('id', 'ZoomBox'); 40 41 inZoombox.style.position = 'absolute'; 42 inZoombox.style.left = '10px'; 43 inZoombox.style.top = '10px'; 44 inZoombox.style.visibility = 'hidden'; 45 inZoombox.style.zIndex = '499'; 46 47 inBody.insertBefore(inZoombox, inSpinbox.nextSibling); 48 49 var inImage1 = document.createElement("img"); 50 inImage1.onclick = function (event) { zoomOut(this, event); return false; }; 51 inImage1.setAttribute('src',zoomImagesURI+'spacer.gif'); 52 inImage1.setAttribute('id','ZoomImage'); 53 inImage1.setAttribute('border', '0'); 54 // inImage1.setAttribute('onMouseOver', 'zoomMouseOver();') 55 // inImage1.setAttribute('onMouseOut', 'zoomMouseOut();') 56 57 // This must be set first, so we can later test it using webkitBoxShadow. 58 inImage1.setAttribute('style', '-webkit-box-shadow: '+shadowSettings+'0.0)'); 59 inImage1.style.display = 'block'; 60 inImage1.style.width = '10px'; 61 inImage1.style.height = '10px'; 62 inImage1.style.cursor = 'pointer'; // -webkit-zoom-out? 63 inZoombox.appendChild(inImage1); 64 65 var inClosebox = document.createElement("div"); 66 inClosebox.setAttribute('id', 'ZoomClose'); 67 inClosebox.style.position = 'absolute'; 68 69 // In MSIE, we need to put the close box inside the image. 70 // It's 2008 and I'm having to do a browser detect? Sigh. 71 if (browserIsIE) { 72 inClosebox.style.left = '-1px'; 73 inClosebox.style.top = '0px'; 74 } else { 75 inClosebox.style.left = '-15px'; 76 inClosebox.style.top = '-15px'; 77 } 78 79 inClosebox.style.visibility = 'hidden'; 80 inZoombox.appendChild(inClosebox); 81 82 var inImage2 = document.createElement("img"); 83 inImage2.onclick = function (event) { zoomOut(this, event); return false; }; 84 inImage2.setAttribute('src',zoomImagesURI+'closebox.png'); 85 inImage2.setAttribute('width','30'); 86 inImage2.setAttribute('height','30'); 87 inImage2.setAttribute('border','0'); 88 inImage2.style.cursor = 'pointer'; 89 inClosebox.appendChild(inImage2); 90 91 // SHADOW 92 // Only draw the table-based shadow if the programatic webkitBoxShadow fails! 93 // Also, don't draw it if we're IE -- it wouldn't look quite right anyway. 94 95 if (! document.getElementById('ZoomImage').style.webkitBoxShadow && ! browserIsIE) { 96 97 // SHADOW BASE 98 99 var inFixedBox = document.createElement("div"); 100 inFixedBox.setAttribute('id', 'ShadowBox'); 101 inFixedBox.style.position = 'absolute'; 102 inFixedBox.style.left = '50px'; 103 inFixedBox.style.top = '50px'; 104 inFixedBox.style.width = '100px'; 105 inFixedBox.style.height = '100px'; 106 inFixedBox.style.visibility = 'hidden'; 107 inFixedBox.style.zIndex = '498'; 108 inBody.insertBefore(inFixedBox, inZoombox.nextSibling); 109 110 // SHADOW 111 // Now, the shadow table. Skip if not compatible, or irrevelant with -box-shadow. 112 113 // <div id="ShadowBox"><table border="0" width="100%" height="100%" cellpadding="0" cellspacing="0"> X 114 // <tr height="25"> 115 // <td width="27"><img src="/images/zoom-shadow1.png" width="27" height="25"></td> 116 // <td background="/images/zoom-shadow2.png"> </td> 117 // <td width="27"><img src="/images/zoom-shadow3.png" width="27" height="25"></td> 118 // </tr> 119 120 var inShadowTable = document.createElement("table"); 121 inShadowTable.setAttribute('border', '0'); 122 inShadowTable.setAttribute('width', '100%'); 123 inShadowTable.setAttribute('height', '100%'); 124 inShadowTable.setAttribute('cellpadding', '0'); 125 inShadowTable.setAttribute('cellspacing', '0'); 126 inFixedBox.appendChild(inShadowTable); 127 128 var inShadowTbody = document.createElement("tbody"); // Needed for IE (for HTML4). 129 inShadowTable.appendChild(inShadowTbody); 130 131 var inRow1 = document.createElement("tr"); 132 inRow1.style.height = '25px';
133 inShadowTbody.appendChild(inRow1); 134 135 var inCol1 = document.createElement("td"); 136 inCol1.style.width = '27px'; 137 inRow1.appendChild(inCol1); 138 var inShadowImg1 = document.createElement("img"); 139 inShadowImg1.setAttribute('src', zoomImagesURI+'zoom-shadow1.png'); 140 inShadowImg1.setAttribute('width', '27'); 141 inShadowImg1.setAttribute('height', '25'); 142 inShadowImg1.style.display = 'block'; 143 inCol1.appendChild(inShadowImg1); 144 145 var inCol2 = document.createElement("td"); 146 inCol2.setAttribute('background', zoomImagesURI+'zoom-shadow2.png'); 147 inRow1.appendChild(inCol2); 148 // inCol2.innerHTML = '<img src='; 149 var inSpacer1 = document.createElement("img"); 150 inSpacer1.setAttribute('src',zoomImagesURI+'spacer.gif'); 151 inSpacer1.setAttribute('height', '1'); 152 inSpacer1.setAttribute('width', '1'); 153 inSpacer1.style.display = 'block'; 154 inCol2.appendChild(inSpacer1); 155 156 var inCol3 = document.createElement("td"); 157 inCol3.style.width = '27px'; 158 inRow1.appendChild(inCol3); 159 var inShadowImg3 = document.createElement("img"); 160 inShadowImg3.setAttribute('src', zoomImagesURI+'zoom-shadow3.png'); 161 inShadowImg3.setAttribute('width', '27'); 162 inShadowImg3.setAttribute('height', '25'); 163 inShadowImg3.style.display = 'block'; 164 inCol3.appendChild(inShadowImg3); 165 166 // <tr> 167 // <td background="/images/zoom-shadow4.png"> </td> 168 // <td bgcolor="#ffffff"> </td> 169 // <td background="/images/zoom-shadow5.png"> </td> 170 // </tr> 171 172 inRow2 = document.createElement("tr"); 173 inShadowTbody.appendChild(inRow2); 174 175 var inCol4 = document.createElement("td"); 176 inCol4.setAttribute('background', zoomImagesURI+'zoom-shadow4.png'); 177 inRow2.appendChild(inCol4); 178 // inCol4.innerHTML = ' '; 179 var inSpacer2 = document.createElement("img"); 180 inSpacer2.setAttribute('src',zoomImagesURI+'spacer.gif'); 181 inSpacer2.setAttribute('height', '1'); 182 inSpacer2.setAttribute('width', '1'); 183 inSpacer2.style.display = 'block'; 184 inCol4.appendChild(inSpacer2); 185
186 var inCol5 = document.createElement("td"); 187 inCol5.setAttribute('bgcolor', '#ffffff'); 188 inRow2.appendChild(inCol5); 189 // inCol5.innerHTML = ' '; 190 var inSpacer3 = document.createElement("img"); 191 inSpacer3.setAttribute('src',zoomImagesURI+'spacer.gif'); 192 inSpacer3.setAttribute('height', '1'); 193 inSpacer3.setAttribute('width', '1'); 194 inSpacer3.style.display = 'block'; 195 inCol5.appendChild(inSpacer3); 196 197 var inCol6 = document.createElement("td"); 198 inCol6.setAttribute('background', zoomImagesURI+'zoom-shadow5.png'); 199 inRow2.appendChild(inCol6); 200 // inCol6.innerHTML = ' '; 201 var inSpacer4 = document.createElement("img"); 202 inSpacer4.setAttribute('src',zoomImagesURI+'spacer.gif'); 203 inSpacer4.setAttribute('height', '1'); 204 inSpacer4.setAttribute('width', '1'); 205 inSpacer4.style.display = 'block'; 206 inCol6.appendChild(inSpacer4); 207 208 // <tr height="26"> 209 // <td width="27"><img src="/images/zoom-shadow6.png" width="27" height="26"</td> 210 // <td background="/images/zoom-shadow7.png"> </td> 211 // <td width="27"><img src="/images/zoom-shadow8.png" width="27" height="26"></td> 212 // </tr> 213 // </table> 214 215 var inRow3 = document.createElement("tr"); 216 inRow3.style.height = '26px'; 217 inShadowTbody.appendChild(inRow3); 218 219 var inCol7 = document.createElement("td"); 220 inCol7.style.width = '27px'; 221 inRow3.appendChild(inCol7); 222 var inShadowImg7 = document.createElement("img"); 223 inShadowImg7.setAttribute('src', zoomImagesURI+'zoom-shadow6.png'); 224 inShadowImg7.setAttribute('width', '27'); 225 inShadowImg7.setAttribute('height', '26'); 226 inShadowImg7.style.display = 'block'; 227 inCol7.appendChild(inShadowImg7); 228 229 var inCol8 = document.createElement("td"); 230 inCol8.setAttribute('background', zoomImagesURI+'zoom-shadow7.png'); 231 inRow3.appendChild(inCol8); 232 // inCol8.innerHTML = ' '; 233 var inSpacer5 = document.createElement("img"); 234 inSpacer5.setAttribute('src',zoomImagesURI+'spacer.gif'); 235 inSpacer5.setAttribute('height', '1'); 236 inSpacer5.setAttribute('width', '1'); 237 inSpacer5.style.display = 'block'; 238 inCol8.appendChild(inSpacer5); 239 240 var inCol9 = document.createElement("td"); 241 inCol9.style.width = '27px'; 242 inRow3.appendChild(inCol9); 243 var inShadowImg9 = document.createElement("img"); 244 inShadowImg9.setAttribute('src', zoomImagesURI+'zoom-shadow8.png'); 245 inShadowImg9.setAttribute('width', '27'); 246 inShadowImg9.setAttribute('height', '26'); 247 inShadowImg9.style.display = 'block'; 248 inCol9.appendChild(inShadowImg9); 249 } 250 251 if (includeCaption) { 252 253 // CAPTION 254 // 255 // <div id="ZoomCapDiv" style="margin-left: 13px; margin-right: 13px;"> 256 // <table border="1" cellpadding="0" cellspacing="0"> 257 // <tr height="26"> 258 // <td><img src="zoom-caption-l.png" width="13" height="26"></td> 259 // <td rowspan="3" background="zoom-caption-fill.png"><div id="ZoomCaption"></div></td> 260 // <td><img src="zoom-caption-r.png" width="13" height="26"></td> 261 // </tr> 262 // </table> 263 // </div> 264 265 var inCapDiv = document.createElement("div"); 266 inCapDiv.setAttribute('id', 'ZoomCapDiv'); 267 inCapDiv.style.position = 'absolute'; 268 inCapDiv.style.visibility = 'hidden'; 269 inCapDiv.style.marginLeft = 'auto'; 270 inCapDiv.style.marginRight = 'auto'; 271 inCapDiv.style.zIndex = '501'; 272 273 inBody.insertBefore(inCapDiv, inZoombox.nextSibling); 274 275 var inCapTable = document.createElement("table"); 276 inCapTable.setAttribute('border', '0'); 277 inCapTable.setAttribute('cellPadding', '0'); // Wow. These honestly need to 278 inCapTable.setAttribute('cellSpacing', '0'); // be intercapped to work in IE. WTF? 279 inCapDiv.appendChild(inCapTable); 280 281 var inTbody = document.createElement("tbody"); // Needed for IE (for HTML4). 282 inCapTable.appendChild(inTbody); 283 284 var inCapRow1 = document.createElement("tr");
285 inTbody.appendChild(inCapRow1); 286 287 var inCapCol1 = document.createElement("td"); 288 inCapCol1.setAttribute('align', 'right'); 289 inCapRow1.appendChild(inCapCol1); 290 var inCapImg1 = document.createElement("img"); 291 inCapImg1.setAttribute('src', zoomImagesURI+'zoom-caption-l.png'); 292 inCapImg1.setAttribute('width', '13'); 293 inCapImg1.setAttribute('height', '26'); 294 inCapImg1.style.display = 'block'; 295 inCapCol1.appendChild(inCapImg1); 296 297 var inCapCol2 = document.createElement("td"); 298 inCapCol2.setAttribute('background', zoomImagesURI+'zoom-caption-fill.png'); 299 inCapCol2.setAttribute('id', 'ZoomCaption'); 300 inCapCol2.setAttribute('valign', 'middle'); 301 inCapCol2.style.fontSize = '14px'; 302 inCapCol2.style.fontFamily = 'Helvetica'; 303 inCapCol2.style.fontWeight = 'bold'; 304 inCapCol2.style.color = '#ffffff'; 305 inCapCol2.style.textShadow = '0px 2px 4px #000000'; 306 inCapCol2.style.whiteSpace = 'nowrap'; 307 inCapRow1.appendChild(inCapCol2); 308 309 var inCapCol3 = document.createElement("td"); 310 inCapRow1.appendChild(inCapCol3); 311 var inCapImg2 = document.createElement("img"); 312 inCapImg2.setAttribute('src', zoomImagesURI+'zoom-caption-r.png'); 313 inCapImg2.setAttribute('width', '13'); 314 inCapImg2.setAttribute('height', '26'); 315 inCapImg2.style.display = 'block'; 316 inCapCol3.appendChild(inCapImg2); 317 } 318}
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.