1/* begin Page */ 2 3/* Generated with Artisteer version 2.4.0.27666, file checksum is 67973312. */ 4 5// required for IE7, #150675 6if (window.addEvent) window.addEvent('domready', function() { }); 7 8var artEventHelper = { 9 'bind': function(obj, evt, fn) { 10 if (obj.addEventListener) 11 obj.addEventListener(evt, fn, false); 12 else if (obj.attachEvent) 13 obj.attachEvent('on' + evt, fn); 14 else 15 obj['on' + evt] = fn; 16 } 17}; 18 19var artUserAgent = navigator.userAgent.toLowerCase(); 20 21var artBrowser = { 22 version: (artUserAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], 23 safari: /webkit/.test(artUserAgent) && !/chrome/.test(artUserAgent), 24 chrome: /chrome/.test(artUserAgent), 25 opera: /opera/.test(artUserAgent), 26 msie: /msie/.test(artUserAgent) && !/opera/.test(artUserAgent), 27 mozilla: /mozilla/.test(artUserAgent) && !/(compatible|webkit)/.test(artUserAgent) 28}; 29 30artCssHelper = function() { 31 var is = function(t) { return (artUserAgent.indexOf(t) != -1) }; 32 var el = document.getElementsByTagName('html')[0]; 33 var val = [(!(/opera|webtv/i.test(artUserAgent)) && /msie (\d)/.test(artUserAgent)) ? ('ie ie' + RegExp.$1) 34 : is('firefox/2') ? 'gecko firefox2' 35 : is('firefox/3') ? 'gecko firefox3' 36 : is('gecko/') ? 'gecko' 37 : is('chrome/') ? 'chrome' 38 : is('opera/9') ? 'opera opera9' : /opera (\d)/.test(artUserAgent) ? 'opera opera' + RegExp.$1 39 : is('konqueror') ? 'konqueror' 40 : is('applewebkit/') ? 'webkit safari' 41 : is('mozilla/') ? 'gecko' : '', 42 (is('x11') || is('linux')) ? ' linux' 43 : is('mac') ? ' mac' 44 : is('win') ? ' win' : '' 45 ].join(' '); 46 if (!el.className) { 47 el.className = val; 48 } else { 49 var newCl = el.className; 50 newCl += (' ' + val); 51 el.className = newCl; 52 } 53} (); 54 55(function() { 56 // fix ie blinking 57 var m = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand; 58 try { if (!!m) { m('BackgroundImageCache', false, true); } } 59 catch (oh) { }; 60})(); 61 62var artLoadEvent = (function() { 63 var list = []; 64 65 var done = false; 66 var ready = function() { 67 if (done) return; 68 done = true; 69 for (var i = 0; i < list.length; i++) 70 list[i](); 71 }; 72 73 if (document.addEventListener && !artBrowser.opera) 74 document.addEventListener('DOMContentLoaded', ready, false); 75 76 if (artBrowser.msie && window == top) { 77 (function() { 78 try { 79 document.documentElement.doScroll('left'); 80 } catch (e) { 81 setTimeout(arguments.callee, 10); 82 return; 83 } 84 ready(); 85 })(); 86 } 87 88 if (artBrowser.opera) { 89 document.addEventListener('DOMContentLoaded', function() { 90 for (var i = 0; i < document.styleSheets.length; i++) { 91 if (document.styleSheets[i].disabled) { 92 setTimeout(arguments.callee, 10); 93 return; 94 } 95 } 96 ready(); 97 }, false); 98 } 99 100 if (artBrowser.safari || artBrowser.chrome) { 101 var numStyles; 102 (function() { 103 if (document.readyState != 'loaded' && document.readyState != 'complete') { 104 setTimeout(arguments.callee, 10); 105 return; 106 } 107 if ('undefined' == typeof numStyles) { 108 numStyles = document.getElementsByTagName('style').length; 109 var links = document.getElementsByTagName('link'); 110 for (var i = 0; i < links.length; i++) { 111 numStyles += (links[i].getAttribute('rel') == 'stylesheet') ? 1 : 0; 112 } 113 if (document.styleSheets.length != numStyles) { 114 setTimeout(arguments.callee, 0); 115 return; 116 } 117 } 118 ready(); 119 })(); 120 } 121 122 if (!(artBrowser.msie && window != top)) { // required for Blogger Page Elements in IE, #154540 123 artEventHelper.bind(window, 'load', ready); 124 } 125 return ({ 126 add: function(f) { 127 list.push(f); 128 } 129 }) 130})(); 131 132 133function artGetElementsByClassName(clsName, parentEle, tagName) { 134 var elements = null; 135 var found = []; 136 var s = String.fromCharCode(92); 137 var re = new RegExp('(?:^|' + s + 's+)' + clsName + '(?:$|' + s + 's+)'); 138 if (!parentEle) parentEle = document; 139 if (!tagName) tagName = '*'; 140 elements = parentEle.getElementsByTagName(tagName); 141 if (elements) { 142 for (var i = 0; i < elements.length; ++i) { 143 if (elements[i].className.search(re) != -1) { 144 found[found.length] = elements[i]; 145 } 146 } 147 } 148 return found; 149} 150 151var _artStyleUrlCached = null; 152function artGetStyleUrl() { 153 if (null == _artStyleUrlCached) { 154 var ns; 155 _artStyleUrlCached = ''; 156 ns = document.getElementsByTagName('link'); 157 for (var i = 0; i < ns.length; i++) { 158 var l = ns[i]; 159 if (l.href && /style\.ie6\.css(\?.*)?$/.test(l.href)) { 160 return _artStyleUrlCached = l.href.replace(/style\.ie6\.css(\?.*)?$/, ''); 161 } 162 } 163 164 ns = document.getElementsByTagName('style'); 165 for (var i = 0; i < ns.length; i++) { 166 var matches = new RegExp('import\\s+"([^"]+\\/)style\\.ie6\\.css"').exec(ns[i].innerHTML); 167 if (null != matches && matches.length > 0) 168 return _artStyleUrlCached = matches[1]; 169 } 170 } 171 return _artStyleUrlCached; 172} 173 174function artFixPNG(element) { 175 if (artBrowser.msie && artBrowser.version < 7) { 176 var src; 177 if (element.tagName == 'IMG') { 178 if (/\.png$/.test(element.src)) { 179 src = element.src; 180 element.src = artGetStyleUrl() + 'images/spacer.gif'; 181 } 182 } 183 else { 184 src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i); 185 if (src) { 186 src = src[1]; 187 element.runtimeStyle.backgroundImage = 'none'; 188 } 189 } 190 if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "')"; 191 } 192} 193 194function artHasClass(el, cls) { 195 return (el && el.className && (' ' + el.className + ' ').indexOf(' ' + cls + ' ') != -1); 196} 197/* end Page */ 198 199/* begin Menu */ 200function artGTranslateFix() { 201 var menus = artGetElementsByClassName("art-menu", document, "ul"); 202 for (var i = 0; i < menus.length; i++) { 203 var menu = menus[i]; 204 var childs = menu.childNodes; 205 var listItems = []; 206 for (var j = 0; j < childs.length; j++) { 207 var el = childs[j]; 208 if (String(el.tagName).toLowerCase() == "li") listItems.push(el); 209 } 210 for (var j = 0; j < listItems.length; j++) { 211 var item = listItems[j]; 212 var a = null; 213 var gspan = null; 214 for (var p = 0; p < item.childNodes.length; p++) { 215 var l = item.childNodes[p]; 216 if (!(l && l.tagName)) continue; 217 if (String(l.tagName).toLowerCase() == "a") a = l; 218 if (String(l.tagName).toLowerCase() == "span") gspan = l; 219 } 220 if (gspan && a) { 221 var t = null; 222 for (var k = 0; k < gspan.childNodes.length; k++) { 223 var e = gspan.childNodes[k]; 224 if (!(e && e.tagName)) continue; 225 if (String(e.tagName).toLowerCase() == "a" && e.firstChild) e = e.firstChild; 226 if (e && e.className && e.className == 't') { 227 t = e; 228 if (t.firstChild && t.firstChild.tagName && String(t.firstChild.tagName).toLowerCase() == "a") { 229 while (t.firstChild.firstChild) t.appendChild(t.firstChild.firstChild); 230 t.removeChild(t.firstChild); 231 } 232 a.appendChild(t); 233 break; 234 } 235 } 236 gspan.parentNode.removeChild(gspan); 237 } 238 } 239 } 240} 241artLoadEvent.add(artGTranslateFix); 242 243function artAddMenuSeparators() { 244 var menus = artGetElementsByClassName("art-menu", document, "ul"); 245 for (var i = 0; i < menus.length; i++) { 246 var menu = menus[i]; 247 var childs = menu.childNodes; 248 var listItems = []; 249 for (var j = 0; j < childs.length; j++) { 250 var el = childs[j]; 251 if (String(el.tagName).toLowerCase() == "li") listItems.push(el); 252 } 253 for (var j = 0; j < listItems.length - 1; j++) { 254 var item = listItems[j]; 255 var span = document.createElement('span'); 256 span.className = 'art-menu-separator'; 257 var li = document.createElement('li'); 258 li.appendChild(span); 259 item.parentNode.insertBefore(li, item.nextSibling); 260 } 261 } 262} 263artLoadEvent.add(artAddMenuSeparators); 264 265function artMenuIE6Setup() { 266 var isIE6 = navigator.userAgent.toLowerCase().indexOf("msie") != -1 267 && navigator.userAgent.toLowerCase().indexOf("msie 7") == -1; 268 if (!isIE6) return; 269 var aTmp2, i, j, oLI, aUL, aA; 270 var aTmp = artGetElementsByClassName("art-menu", document, "ul"); 271 for (i = 0; i < aTmp.length; i++) { 272 aTmp2 = aTmp[i].getElementsByTagName("li"); 273 for (j = 0; j < aTmp2.length; j++) { 274 oLI = aTmp2[j]; 275 aUL = oLI.getElementsByTagName("ul"); 276 if (aUL && aUL.length) { 277 oLI.UL = aUL[0]; 278 aA = oLI.getElementsByTagName("a"); 279 if (aA && aA.length) 280 oLI.A = aA[0]; 281 oLI.onmouseenter = function() { 282 this.className += " art-menuhover"; 283 this.UL.className += " art-menuhoverUL"; 284 if (this.A) this.A.className += " art-menuhoverA"; 285 }; 286 oLI.onmouseleave = function() { 287 this.className = this.className.replace(/art-menuhover/, ""); 288 this.UL.className = this.UL.className.replace(/art-menuhoverUL/, ""); 289 if (this.A) this.A.className = this.A.className.replace(/art-menuhoverA/, ""); 290 }; 291 } 292 } 293 } 294} 295artLoadEvent.add(artMenuIE6Setup); 296/* end Menu */ 297 298/* begin Layout */ 299function artLayoutIESetup() { 300 var isIE = navigator.userAgent.toLowerCase().indexOf("msie") != -1; 301 if (!isIE) return; 302 var q = artGetElementsByClassName("art-content-layout", document, "div"); 303 if (!q || !q.length) return; 304 for (var i = 0; i < q.length; i++) { 305 var l = q[i]; 306 var l_childs = l.childNodes; 307 var r = null; 308 for (var p = 0; p < l_childs.length; p++) { 309 var l_ch = l_childs[p]; 310 if ((String(l_ch.tagName).toLowerCase() == "div") && artHasClass(l_ch, "art-content-layout-row")) { 311 r = l_ch; 312 break; 313 } 314 } 315 if (!r) continue; 316 var c = []; 317 var r_childs = r.childNodes; 318 for (var o = 0; o < r_childs.length; o++) { 319 var r_ch = r_childs[o]; 320 if ((String(r_ch.tagName).toLowerCase() == "div") && artHasClass(r_ch, "art-layout-cell")) { 321 c.push(r_ch); 322 } 323 } 324 if (!c || !c.length) continue; 325 var table = document.createElement("table"); 326 table.className = l.className; 327 var row = table.insertRow(-1); 328 table.className = l.className; 329 for (var j = 0; j < c.length; j++) { 330 var cell = row.insertCell(-1); 331 var s = c[j]; 332 cell.className = s.className; 333 while (s.firstChild) { 334 cell.appendChild(s.firstChild); 335 } 336 } 337 l.parentNode.insertBefore(table, l); 338 l.parentNode.removeChild(l); 339 } 340} 341artLoadEvent.add(artLayoutIESetup); 342/* end Layout */ 343 344/* begin VMenu */ 345function artAddVMenuSeparators() { 346 var create_VSeparator = function(sub, first) { 347 var cls = 'art-v' + (sub ? "sub" : "") + 'menu-separator'; 348 var li = document.createElement('li'); 349 li.className = (first ? (cls + " " + cls + " art-vmenu-separator-first") : cls); 350 var span = document.createElement('span'); 351 span.className = cls+'-span'; 352 li.appendChild(span); 353 return li; 354 }; 355 var menus = artGetElementsByClassName("art-vmenublock", document, "div"); 356 for (var k = 0; k < menus.length; k++) { 357 var uls = menus[k].getElementsByTagName("ul"); 358 for (var i = 0; i < uls.length; i++) { 359 var ul = uls[i]; 360 var childs = ul.childNodes; 361 var listItems = []; 362 for (var y = 0; y < childs.length; y++) { 363 var el = childs[y]; 364 if (String(el.tagName).toLowerCase() == "li") listItems.push(el); 365 } 366 for (var j = 0; j < listItems.length; j++) { 367 var item = listItems[j]; 368 if ((item.parentNode.getElementsByTagName("li")[0] == item) && (item.parentNode != uls[0])) 369 item.parentNode.insertBefore(create_VSeparator(item.parentNode.parentNode.parentNode != uls[0], true), item); 370 if (j < listItems.length - 1) 371 item.parentNode.insertBefore(create_VSeparator(item.parentNode != uls[0], false), item.nextSibling); 372 } 373 } 374 } 375} 376artLoadEvent.add(artAddVMenuSeparators); 377 378/* end VMenu */ 379 380/* begin VMenuItem */ 381function artVMenu() { 382 var menus = artGetElementsByClassName("art-vmenu", document, "ul"); 383 for (var k = 0; k < menus.length; k++) { 384 var vmenu = menus[k]; 385 vmenu.uls = vmenu.getElementsByTagName("ul"); 386 vmenu.items = vmenu.getElementsByTagName("li"); 387 vmenu.alinks = vmenu.getElementsByTagName("a"); 388 389 for (var x = 0; x < vmenu.items.length; x++) { 390 var li = vmenu.items[x]; 391 li.className = li.className.replace(/active/, "").replace(" ", " "); 392 for (var s = 0; s < li.childNodes.length; s++) { 393 var ch = li.childNodes[s]; 394 if (!(ch && ch.tagName)) continue; 395 if (String(ch.tagName).toLowerCase() == "a") { 396 if (ch.href == window.location.href) 397 vmenu.active = li; 398 li.a = ch; 399 } 400 if (String(ch.tagName).toLowerCase() == "ul") 401 li.ul = ch; 402 ch.className = ch.className.replace(/active/, "").replace(" ", " "); 403 } 404 } 405 if (!vmenu.active) return; 406 if (vmenu.active.ul) vmenu.active.ul.className += " active"; 407 var parent = vmenu.active; 408 while (parent && parent != vmenu) { 409 parent.className += " active"; 410 if (parent.a) parent.a.className += " active"; 411 parent = parent.parentNode; 412 } 413 } 414} 415 416artLoadEvent.add(artVMenu); 417/* end VMenuItem */ 418 419/* begin Button */ 420 421function artButtonsSetupJsHover(className) { 422 var tags = ["input", "a", "button"]; 423 for (var j = 0; j < tags.length; j++){ 424 var buttons = artGetElementsByClassName(className, document, tags[j]); 425 for (var i = 0; i < buttons.length; i++) { 426 var button = buttons[i]; 427 if (!button.tagName || !button.parentNode) return; 428 if (!artHasClass(button.parentNode, 'art-button-wrapper')) { 429 if (!artHasClass(button, 'art-button')) button.className += ' art-button'; 430 var wrapper = document.createElement('span'); 431 wrapper.className = "art-button-wrapper"; 432 if (artHasClass(button, 'active')) wrapper.className += ' active'; 433 var spanL = document.createElement('span'); 434 spanL.className = "l"; 435 spanL.innerHTML = " "; 436 wrapper.appendChild(spanL); 437 var spanR = document.createElement('span'); 438 spanR.className = "r"; 439 spanR.innerHTML = " "; 440 wrapper.appendChild(spanR); 441 button.parentNode.insertBefore(wrapper, button); 442 wrapper.appendChild(button); 443 } 444 artEventHelper.bind(button, 'mouseover', function(e) { 445 e = e || window.event; 446 wrapper = (e.target || e.srcElement).parentNode; 447 wrapper.className += " hover"; 448 }); 449 artEventHelper.bind(button, 'mouseout', function(e) { 450 e = e || window.event; 451 button = e.target || e.srcElement; 452 wrapper = button.parentNode; 453 wrapper.className = wrapper.className.replace(/hover/, ""); 454 if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, ""); 455 }); 456 artEventHelper.bind(button, 'mousedown', function(e) { 457 e = e || window.event; 458 button = e.target || e.srcElement; 459 wrapper = button.parentNode; 460 if (!artHasClass(button, 'active')) wrapper.className += " active"; 461 }); 462 artEventHelper.bind(button, 'mouseup', function(e) { 463 e = e || window.event; 464 button = e.target || e.srcElement; 465 wrapper = button.parentNode; 466 if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, ""); 467 }); 468 } 469 } 470} 471 472artLoadEvent.add(function() { artButtonsSetupJsHover("art-button"); }); 473/* end Button */ 474 475
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.