1/* begin Page */ 2 3/* Generated with Artisteer version 2.4.0.25435, file checksum is CE766479. */ 4 5var artEventHelper = { 6 'bind': function(obj, evt, fn) { 7 if (obj.addEventListener) 8 obj.addEventListener(evt, fn, false); 9 else if (obj.attachEvent) 10 obj.attachEvent('on' + evt, fn); 11 else 12 obj['on' + evt] = fn; 13 } 14}; 15 16var artUserAgent = navigator.userAgent.toLowerCase(); 17 18var artBrowser = { 19 version: (artUserAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], 20 safari: /webkit/.test(artUserAgent) && !/chrome/.test(artUserAgent), 21 chrome: /chrome/.test(artUserAgent), 22 opera: /opera/.test(artUserAgent), 23 msie: /msie/.test(artUserAgent) && !/opera/.test(artUserAgent), 24 mozilla: /mozilla/.test(artUserAgent) && !/(compatible|webkit)/.test(artUserAgent) 25}; 26 27artCssHelper = function() { 28 var is = function(t) { return (artUserAgent.indexOf(t) != -1) }; 29 var el = document.getElementsByTagName('html')[0]; 30 var val = [(!(/opera|webtv/i.test(artUserAgent)) && /msie (\d)/.test(artUserAgent)) ? ('ie ie' + RegExp.$1) 31 : is('firefox/2') ? 'gecko firefox2' 32 : is('firefox/3') ? 'gecko firefox3' 33 : is('gecko/') ? 'gecko' 34 : is('chrome/') ? 'chrome' 35 : is('opera/9') ? 'opera opera9' : /opera (\d)/.test(artUserAgent) ? 'opera opera' + RegExp.$1 36 : is('konqueror') ? 'konqueror' 37 : is('applewebkit/') ? 'webkit safari' 38 : is('mozilla/') ? 'gecko' : '', 39 (is('x11') || is('linux')) ? ' linux' 40 : is('mac') ? ' mac' 41 : is('win') ? ' win' : '' 42 ].join(' '); 43 if (!el.className) { 44 el.className = val; 45 } else { 46 var newCl = el.className; 47 newCl += (' ' + val); 48 el.className = newCl; 49 } 50} (); 51 52(function() { 53 // fix ie blinking 54 var m = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand; 55 try { if (!!m) { m('BackgroundImageCache', false, true); } } 56 catch (oh) { }; 57})(); 58 59var artLoadEvent = (function() { 60 var list = []; 61 62 var done = false; 63 var ready = function() { 64 if (done) return; 65 done = true; 66 for (var i = 0; i < list.length; i++) 67 list[i](); 68 }; 69 70 if (document.addEventListener && !artBrowser.opera) 71 document.addEventListener('DOMContentLoaded', ready, false); 72 73 if (artBrowser.msie && window == top) { 74 (function() { 75 try { 76 document.documentElement.doScroll('left'); 77 } catch (e) { 78 setTimeout(arguments.callee, 10); 79 return; 80 } 81 ready(); 82 })(); 83 } 84 85 if (artBrowser.opera) { 86 document.addEventListener('DOMContentLoaded', function() { 87 for (var i = 0; i < document.styleSheets.length; i++) { 88 if (document.styleSheets[i].disabled) { 89 setTimeout(arguments.callee, 10); 90 return; 91 } 92 } 93 ready(); 94 }, false); 95 } 96 97 if (artBrowser.safari || artBrowser.chrome) { 98 var numStyles; 99 (function() { 100 if (document.readyState != 'loaded' && document.readyState != 'complete') { 101 setTimeout(arguments.callee, 10); 102 return; 103 } 104 if ('undefined' == typeof numStyles) { 105 numStyles = document.getElementsByTagName('style').length; 106 var links = document.getElementsByTagName('link'); 107 for (var i = 0; i < links.length; i++) { 108 numStyles += (links[i].getAttribute('rel') == 'stylesheet') ? 1 : 0; 109 } 110 if (document.styleSheets.length != numStyles) { 111 setTimeout(arguments.callee, 0); 112 return; 113 } 114 } 115 ready(); 116 })(); 117 } 118 artEventHelper.bind(window, 'load', ready); 119 return ({ 120 add: function(f) { 121 list.push(f); 122 } 123 }) 124})(); 125 126 127function artGetElementsByClassName(clsName, parentEle, tagName) { 128 var elements = null; 129 var found = []; 130 var s = String.fromCharCode(92); 131 var re = new RegExp('(?:^|' + s + 's+)' + clsName + '(?:$|' + s + 's+)'); 132 if (!parentEle) parentEle = document; 133 if (!tagName) tagName = '*'; 134 elements = parentEle.getElementsByTagName(tagName); 135 if (elements) { 136 for (var i = 0; i < elements.length; ++i) { 137 if (elements[i].className.search(re) != -1) { 138 found[found.length] = elements[i]; 139 } 140 } 141 } 142 return found; 143} 144 145var _artStyleUrlCached = null; 146function artGetStyleUrl() { 147 if (null == _artStyleUrlCached) { 148 var ns; 149 _artStyleUrlCached = ''; 150 ns = document.getElementsByTagName('link'); 151 for (var i = 0; i < ns.length; i++) { 152 var l = ns[i]; 153 if (l.href && /style\.ie6\.css(\?.*)?$/.test(l.href)) { 154 return _artStyleUrlCached = l.href.replace(/style\.ie6\.css(\?.*)?$/, ''); 155 } 156 } 157 158 ns = document.getElementsByTagName('style'); 159 for (var i = 0; i < ns.length; i++) { 160 var matches = new RegExp('import\\s+"([^"]+\\/)style\\.ie6\\.css"').exec(ns[i].innerHTML); 161 if (null != matches && matches.length > 0) 162 return _artStyleUrlCached = matches[1]; 163 } 164 } 165 return _artStyleUrlCached; 166} 167 168function artFixPNG(element) { 169 if (artBrowser.msie && artBrowser.version < 7) { 170 var src; 171 if (element.tagName == 'IMG') { 172 if (/\.png$/.test(element.src)) { 173 src = element.src; 174 element.src = artGetStyleUrl() + 'images/spacer.gif'; 175 } 176 } 177 else { 178 src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i); 179 if (src) { 180 src = src[1]; 181 element.runtimeStyle.backgroundImage = 'none'; 182 } 183 } 184 if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "')"; 185 } 186} 187 188function artHasClass(el, cls) { 189 return (el && el.className && (' ' + el.className + ' ').indexOf(' ' + cls + ' ') != -1); 190} 191/* end Page */ 192 193/* begin Layout */ 194function artLayoutIESetup() { 195 var isIE = navigator.userAgent.toLowerCase().indexOf("msie") != -1; 196 if (!isIE) return; 197 var q = artGetElementsByClassName("art-content-layout", document, "div"); 198 if (!q || !q.length) return; 199 for (var i = 0; i < q.length; i++) { 200 var l = q[i]; 201 var l_childs = l.childNodes; 202 var r = null; 203 for (var p = 0; p < l_childs.length; p++) { 204 var l_ch = l_childs[p]; 205 if ((String(l_ch.tagName).toLowerCase() == "div") && artHasClass(l_ch, "art-content-layout-row")) { 206 r = l_ch; 207 break; 208 } 209 } 210 if (!r) continue; 211 var c = []; 212 var r_childs = r.childNodes; 213 for (var o = 0; o < r_childs.length; o++) { 214 var r_ch = r_childs[o]; 215 if ((String(r_ch.tagName).toLowerCase() == "div") && artHasClass(r_ch, "art-layout-cell")) { 216 c.push(r_ch); 217 } 218 } 219 if (!c || !c.length) continue; 220 var table = document.createElement("table"); 221 table.className = l.className; 222 var row = table.insertRow(-1); 223 table.className = l.className; 224 for (var j = 0; j < c.length; j++) { 225 var cell = row.insertCell(-1); 226 var s = c[j]; 227 cell.className = s.className; 228 while (s.firstChild) { 229 cell.appendChild(s.firstChild); 230 } 231 } 232 l.parentNode.insertBefore(table, l); 233 l.parentNode.removeChild(l); 234 } 235} 236artLoadEvent.add(artLayoutIESetup); 237/* end Layout */ 238 239/* begin Button */ 240 241function artButtonsSetupJsHover(className) { 242 var tags = ["input", "a", "button"]; 243 for (var j = 0; j < tags.length; j++){ 244 var buttons = artGetElementsByClassName(className, document, tags[j]); 245 for (var i = 0; i < buttons.length; i++) { 246 var button = buttons[i]; 247 if (!button.tagName || !button.parentNode) return; 248 if (!artHasClass(button.parentNode, 'art-button-wrapper')) { 249 if (!artHasClass(button, 'art-button')) button.className += ' art-button'; 250 var wrapper = document.createElement('span'); 251 wrapper.className = "art-button-wrapper"; 252 if (artHasClass(button, 'active')) wrapper.className += ' active'; 253 var spanL = document.createElement('span'); 254 spanL.className = "l"; 255 spanL.innerHTML = " "; 256 wrapper.appendChild(spanL); 257 var spanR = document.createElement('span'); 258 spanR.className = "r"; 259 spanR.innerHTML = " "; 260 wrapper.appendChild(spanR); 261 button.parentNode.insertBefore(wrapper, button); 262 wrapper.appendChild(button); 263 } 264 artEventHelper.bind(button, 'mouseover', function(e) { 265 e = e || window.event; 266 wrapper = (e.target || e.srcElement).parentNode; 267 wrapper.className += " hover"; 268 }); 269 artEventHelper.bind(button, 'mouseout', function(e) { 270 e = e || window.event; 271 button = e.target || e.srcElement; 272 wrapper = button.parentNode; 273 wrapper.className = wrapper.className.replace(/hover/, ""); 274 if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, ""); 275 }); 276 artEventHelper.bind(button, 'mousedown', function(e) { 277 e = e || window.event; 278 button = e.target || e.srcElement; 279 wrapper = button.parentNode; 280 if (!artHasClass(button, 'active')) wrapper.className += " active"; 281 }); 282 artEventHelper.bind(button, 'mouseup', function(e) { 283 e = e || window.event; 284 button = e.target || e.srcElement; 285 wrapper = button.parentNode; 286 if (!artHasClass(button, 'active')) wrapper.className = wrapper.className.replace(/active/, ""); 287 }); 288 } 289 } 290} 291 292artLoadEvent.add(function() { artButtonsSetupJsHover("art-button"); }); 293/* end Button */ 294 295
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.