PageSourceSearch

https://challengers.tv/common/js/common.js

js challengers.tv collected 2026-10-02 11:32:26 UTC 20,547 bytes, 663 lines download raw bytes

1function jumpMenu(targ,selObj,restore){ //v3.0
2  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
3  if (restore) selObj.selectedIndex=0;
4}
5
6/**
7 * sisso.js - Ž¿‘f‚ÈWeb§ì‚Ì‚½‚ß‚ÌJS
8 *
9 * Copyright (C) KAYAC Inc. | http://www.kayac.com/
10 * Dual licensed under the MIT <http://www.opensource.org/licenses/mit-license.php>
11 * and GPL <http://www.opensource.org/licenses/gpl-license.php> licenses.
12 * Date: 2009-02-23
13 * @author kyo_ago <http://tech.kayac.com/archive/iepngfix-library-sisso-js.html>
14 * @version 1.0.8
15 *
16 * thanks from
17 *   http://www.isella.com/aod2/js/iepngfix.js
18 *   http://jquery.com/
19 *   http://kyosuke.jp/portfolio/javascript/yuga.html
20 *   http://webtech-walker.com/archive/2008/11/02151611.html
21 *   http://code.google.com/p/uupaa-js/source/browse/trunk/src/ieboost.js
22 */
23;new function () {
24	var name_space = 'Sisso';
25	var self = window[name_space] || {};
26	window[name_space] = self;
27
28	var Event, $ = window.jQuery;
29	if (!window.jQuery) {
30		load_lib();
31		$ = function () {};
32		$.data = function () {};
33		$.removeData = function () {};
34		self.Event = Event;
35	};
36
37	var $d = document;
38
39	new function () {
40		var scp = $d.getElementsByTagName('script');
41		var reg = new RegExp(name_space + '\\.js');
42		var i = scp.length;
43		while (i--) {
44			if (!reg.test(scp[i].src.toLowerCase())) continue;
45			var sp = scp[i].src.split('#');
46			if (sp.length === 1) return;
47			var pair = sp.pop().split(/[&;]+/);
48			var j = pair.length;
49			while (j--) {
50				var k_v = pair[j].split('=');
51				self[k_v[0]] = k_v[1];
52			}
53			return;
54		}
55	};
56
57	self.blankUrl = self.blankUrl || 'http://www.challengers.tv/common/js/blank.gif';
58	self.overClass = self.overClass || 'rollover';
59	self.blankClass = self.blankClass || 'blank';
60	self.breakAllClass = self.breakAllClass || 'wordBreak';
61	self.noRoll = self.noRoll || false;
62	self.noFix = self.noFix || false;
63	self.noblank = self.noblank || false;
64	self.noBreakAll = self.noBreakAll || false;
65
66	self.get_elems = (function () {
67		if ($d.getElementsByClassName) return function (cname) {
68			return $d.getElementsByClassName(cname);
69		}
70		if ($d.querySelectorAll) return function (cname) {
71			return $d.querySelectorAll('*.' + cname);
72		}
73		if ($d.evaluate) return function (cname) {
74			var elems = $d.evaluate("descendant::*[@class=" + cname + " or contains(concat(' ', @class, ' '), ' " + cname + " ')]", $d, null, 7, null);
75			var result = [];
76			for (var i = 0, l = elems.snapshotLength; i < l; result.push(elems.snapshotItem(i++)));
77			return result;
78		}
79		return function (cname) {
80			var reg = new RegExp('(?:^|[ \\n\\r\\t])' + cname + '(?:[ \\n\\r\\t]|$)');
81			var elems = $d.body.getElementsByTagName('*');
82			var result = [];
83			for (var i = 0, l = elems.length; i < l; ++i) {
84				var elem = elems[i];
85				if (elem.className.indexOf(cname) === -1) continue;
86				if (!reg.test(elem.className)) continue;
87				result.push(elem);
88			}
89			return result;
90		};
91	})();
92
93	self.get_src = function (elem) {
94		if (elem.src) return elem.src;
95		src = (elem.currentStyle || $d.defaultView.getComputedStyle(elem, '')).backgroundImage;
96		return (src.match(/^url\((["']?)(.*\.png)\1\)$/i) || [undefined]).pop();
97	};
98
99	self.hover = function (elem) {
100		var src = self.get_src(elem);
101		var over = self.replace_over(src);
102		return elem.src ? self.add_src_over(elem, src, over) : self.add_bg_over(elem, src, over);
103	};
104
105	self.replace_over = function (src) {
106		return src.replace(/(?:_o)?(\.\w+)$/, '_o$1');
107	};
108
109	new function () {
110		self.bind = window.jQuery ? _jq : window.addEventListener ? _add : _on;
111
112		function _jq (target, type, listener) {
113			$(target).bind(type + '.' + name_space, listener);
114		};
115		function _add (target, type, listener) {
116			target.addEventListener(type, listener, false);
117		};
118		function _on (target, type, listener) {
119			target.attachEvent('on' + type, listener);
120		};
121	};
122
123	self.add_src_over = function (elem, src, over) {
124		var img = new Image();
125		img.src = over;
126		self.bind(elem, 'mouseover', (function (target) {
127			return function () {
128				target.src = over;
129			};
130		})(elem));
131		self.bind(elem, 'mouseout', (function (target) {
132			return function () {
133				target.src = src;
134			};
135		})(elem));
136	};
137
138	self.add_bg_over = function (elem, src, over) {
139		(new Image()).src = over;
140		self.bind(elem, 'mouseover', (function (target) {
141				return function () {
142				target.style.backgroundImage = 'url(' + over + ')';
143			};
144		})(elem));
145		self.bind(elem, 'mouseout', (function (target) {
146			return function () {
147				target.style.backgroundImage = 'url(' + src + ')';
148			};
149		})(elem));
150	};
151
152	self.exec_hover = function () {
153		self.bind(window, 'load', function () {
154			var elems = self.get_elems(self.overClass);
155			for (var i = 0, l = elems.length; i < l; self.hover(elems[i++]));
156		});
157	};
158
159	self.exec_blank = function () {
160		self.bind(window, 'load', function () {
161			var elems = self.get_elems(self.blankClass);
162			for (var i = 0, l = elems.length; i < l; elems[i++].target = '_blank');
163		});
164	};
165
166	self.exec_break_all = function () {
167		var userAgent = navigator.userAgent;
168		var splitter = userAgent.indexOf(' Gecko/') !== -1 && userAgent.indexOf('; rv:1.8.1') !== -1 ? '<wbr/>' : String.fromCharCode(8203);
169		var split_text_node = function (elem) {
170			var elems = elem.childNodes;
171			var child = [];
172			var i = 0;
173			var len = elems.length;
174			while (i < len) {
175				child[i] = elems[i++];
176			}
177			for (i = 0, len = child.length; i < len; ++i) {
178				var self = child[i];
179				if (self.nodeType === 1) {
180					if (self.childNodes && self.childNodes.length) arguments.callee(self);
181					continue;
182				}
183				var val = self.nodeValue;
184				if (!val || /^[ \n\r\t]*$/.test(val)) continue;
185				var div = $d.createElement('div');
186				div.innerHTML = val.split('').join(splitter);
187				var parent = self.parentNode;
188				while (div.firstChild) parent.insertBefore(div.removeChild(div.firstChild), self);
189				parent.removeChild(self);
190			}
191		};
192		if (userAgent.indexOf('Mozilla/4.0 (compatible; MSIE ') === 0 && userAgent.toLowerCase().indexOf('opera') === -1) {
193			split_text_node = function (elem) {
194				elem.style.wordBreak = 'break-all';
195			};
196		}
197
198		var exec = function () {
199			var elems = self.get_elems(self.breakAllClass);
200			for (var i = 0, l = elems.length; i < l; split_text_node(elems[i++]));
201		};
202		window.jQuery ? $(exec) : Event.domReady.add(exec);
203	};
204
205	if (!self.noblank) self.exec_blank();
206	if (!self.noBreakAll) self.exec_break_all();
207
208	if (!/^Mozilla\/4\.0 \(compatible; MSIE (?:5\.5|[67]\.)/.test(navigator.userAgent)) {
209		if (!self.noRoll) self.exec_hover();
210		return;
211	}
212
213//-----------------------------------
214// for old IE only
215//-----------------------------------
216
217	self.eid = '_' + name_space + '_src';
218
219	self.store = function (elem, val) {
220		return val ? elem[self.eid] = val : elem[self.eid];
221	};
222
223	self.hover = function (elem) {
224		var src = elem[self.eid] || (elem[self.eid] = self.get_src(elem));
225		var over = self.replace_over(src);
226		return elem.src ? self.add_src_over(elem, src, over) : self.add_bg_over(elem, src, over);
227	};
228
229	self.set_width = function (elem) {
230		var cur = elem.currentStyle;
231		if (cur.width !== 'auto' || cur.height !== 'auto') return;
232		elem.style.width = elem.offsetWidth + 'px';
233	};
234
235	self.fix = function (elem) {
236		elem.runtimeStyle.behavior = 'none';
237		var src = elem[self.eid] || (elem[self.eid] = self.get_src(elem));
238		if (!src) src = elem.src;
239		if (!src || !/\.png$/.test(src.toLowerCase())) return;
240		self.set_width(elem);
241		if (elem.src) elem.src = self.blankUrl;
242		if (!elem.style.zoom && elem.style.zoom !== '0') elem.style.zoom = 1;
243		self.swap(elem, src);
244		if (!elem.src) self.fix_bg_elem(elem);
245		self.bind(elem, 'propertychange', function () {
246			propertychange.apply(this, arguments);
247		});
248
249		function propertychange () {
250			var env = window.event;
251			var target = env.srcElement;
252			if (window.jQuery) target = this;
253			var tmp = propertychange;
254			propertychange = function () {};
255			new function () {
256				if (target.src) {
257					if (target.src === self.blankUrl) return;
258					self.swap(target, target.src);
259					target[self.eid] = target.src;
260					target.src = self.blankUrl;
261					return;
262				}
263				var src = self.get_src(target);
264				if (!src) return;
265				self.swap(target, src);
266				target.style.backgroundImage = 'none';
267				target[self.eid] = src;
268			};
269			propertychange = tmp;
270		};
271	};
272
273	self.fix_bg_elem = function (elem) {
274		elem.style.backgroundImage = 'none';
275		self.set_pos(elem);
276		(elem.tagName.toUpperCase() === 'A') && (elem.style.cursor = elem.style.cursor || 'pointer');
277	};
278
279	self.set_pos = function (elem) {
280		var tags = ['input', 'textarea', 'select'];
281		var set = function (nodes, cursor) {
282			for (var i = nodes.length, node; node = nodes[--i];) {
283				var style = node.style;
284				!style.position && (style.position = 'relative');
285				if (!cursor) continue;
286				!style.cursor && (style.cursor = cursor);
287			}
288		};
289		while (tags.length) set(elem.getElementsByTagName(tags.pop()));
290		set(elem.getElementsByTagName('a'), 'pointer');
291	};
292
293	self.swap = function (elem, src) {
294		if (src === self.blankUrl) return;
295		var sizing = (elem.currentStyle.backgroundRepeat === 'no-repeat') ? 'crop' : 'scale';
296		var al = 'DXImageTransform.Microsoft.AlphaImageLoader';
297		if (elem.filters.length && al in elem.filters) {
298			elem.filters[al].enabled = 1;
299			elem.filters[al].src = src;
300			return;
301		}
302		elem.style.filter = 'progid:' + al + '(src="' + src + '",sizingMethod="' + sizing + '");';
303	};
304
305	self.exec_pngfix = function () {
306		var exp = 'expression(' + name_space + '.fix(this));';
307		var div = $d.createElement('div');
308		div.innerHTML = ([
309			'div<div><style type="text/css">',
310				'img, input { behavior : ' + exp + ' };',
311				'.bgpng { behavior : ' + exp + ' };',
312			'</style></div>'
313		]).join('');
314		$d.getElementsByTagName('head')[0].appendChild(div.getElementsByTagName('style')[0]);
315	};
316
317	if (!self.noRoll) self.exec_hover();
318	if (!self.noFix) self.exec_pngfix();
319
320	function load_lib () {
321		/**
322		 * domready.js
323		 * 
324		 * Copyright (c) 2007 Takanori Ishikawa.
325		 * License: MIT-style license.
326		 * 
327		 * MooTools Copyright:
328		 * copyright (c) 2007 Valerio Proietti, <http://mad4milk.net>
329		 * http://www.metareal.org/2007/07/10/domready-js-cross-browser-ondomcontentloaded/
330		 * http://snipplr.com/view/6029/domreadyjs/
331		 */
332		if(typeof Event=="undefined"){Event=new Object()}Event.domReady={add:function(b){if(Event.domReady.loaded){return b()}var e=Event.domReady.observers;if(!e){e=Event.domReady.observers=[]}e[e.length]=b;if(Event.domReady.callback){return}Event.domReady.callback=function(){if(Event.domReady.loaded){return}Event.domReady.loaded=true;if(Event.domReady.timer){clearInterval(Event.domReady.timer);Event.domReady.timer=null}var j=Event.domReady.observers;for(var f=0,h=j.length;f<h;f++){var g=j[f];j[f]=null;g()}Event.domReady.callback=Event.domReady.observers=null};var d=!!(window.attachEvent&&!window.opera);var a=navigator.userAgent.indexOf("AppleWebKit/")>-1;if(document.readyState&&a){Event.domReady.timer=setInterval(function(){var f=document.readyState;if(f=="loaded"||f=="complete"){Event.domReady.callback()}},50)}else{if(document.readyState&&d){var c=(window.location.protocol=="https:")?"://0":"javascript:void(0)";
332document.write('<script type="text/javascript" defer="defer" src="../common/common/js/'+c+'" onreadystatechange="if (this.readyState == \'complete\') '+name_space+'.Event.domReady.callback();"><\/script>')}else{if(window.addEventListener){document.addEventListener("DOMContentLoaded",Event.domReady.callback,false);window.addEventListener("load",Event.domReady.callback,false)}else{if(window.attachEvent){window.attachEvent("onload",Event.domReady.callback)}else{var b=window.onload;window.onload=function(){Event.domReady.callback();if(b){b()}}}}}}}};
333	};
334};
335
336
337// UTF-8
338/**
339 * scrollsmoothly.js
340 * Copyright (c) 2008 KAZUMiX
341 * http://d.hatena.ne.jp/KAZUMiX/20080418/scrollsmoothly
342 * Licensed under the MIT License:
343 * http://www.opensource.org/licenses/mit-license.php
344 * 
345 * XV—š—ð
346 * 2009/02/12
347 * ƒXƒNƒ[ƒ‹æ‚ª‰æ–ʍ¶ã‚ɂȂç‚È‚¢ê‡‚Ì‹““®‚ðC³
348 * 2008/04/18
349 * ŒöŠJ
350 *
351*/
352
353(function(){
354   var easing = 0.25;
355   var interval = 20;
356   var d = document;
357   var targetX = 0;
358   var targetY = 0;
359   var targetHash = '';
360   var scrolling = false;
361   var splitHref = location.href.split('#');
362   var currentHref_WOHash = splitHref[0];
363   var incomingHash = splitHref[1];
364   var prevX = null;
365   var prevY = null;
366
367   // ƒhƒLƒ…ƒƒ“ƒg“ǂݍž‚ÝŠ®—¹Žž‚Éinit()‚ðŽÀs‚·‚é
368   addEvent(window, 'load', init);
369
370   // ƒhƒLƒ…ƒƒ“ƒg“ǂݍž‚ÝŠ®—¹Žž‚̏ˆ—
371   function init(){
372     // ƒy[ƒW“àƒŠƒ“ƒN‚ɃCƒxƒ“ƒg‚ðÝ’è‚·‚é
373     setOnClickHandler();
374     // ŠO•”‚©‚çƒy[ƒW“àƒŠƒ“ƒN•t‚«‚ŌĂяo‚³‚ꂽê‡
375     if(incomingHash){
376       if(window.attachEvent && !window.opera){
377         // IE‚̏ꍇ‚Í‚¿‚å‚Á‚Ƒ҂Á‚Ä‚©‚çƒXƒNƒ[ƒ‹
378         setTimeout(function(){scrollTo(0,0);setScroll('#'+incomingHash);},50);
379       }else{
380         // IEˆÈŠO‚Í‚»‚̂܂ÜGO
381         scrollTo(0, 0);
382         setScroll('#'+incomingHash);
383       }
384     }
385   }
386
387   // ƒCƒxƒ“ƒg‚ð’ljÁ‚·‚éŠÖ”
388   function addEvent(eventTarget, eventName, func){
389     if(eventTarget.addEventListener){
390       // ƒ‚ƒ_ƒ“ƒuƒ‰ƒEƒU
391       eventTarget.addEventListener(eventName, func, false);
392     }else if(window.attachEvent){
393       // IE
394       eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);});
395     }
396   }
397   
398   function setOnClickHandler(){
399     var links = d.links;
400     for(var i=0; i<links.length; i++){
401       // ƒy[ƒW“àƒŠƒ“ƒN‚È‚çƒXƒNƒ[ƒ‹‚³‚¹‚é
402       var link = links[i];
403       var splitLinkHref = link.href.split('#');
404       if(currentHref_WOHash == splitLinkHref[0] && d.getElementById(splitLinkHref[1])){
405         addEvent(link, 'click', startScroll);
406       }
407     }
408   }
409
410   function startScroll(event){
411     // ƒŠƒ“ƒN‚̃fƒtƒHƒ‹ƒg“®ì‚ðŽE‚·
412     if(event){ // ƒ‚ƒ_ƒ“ƒuƒ‰ƒEƒU
413       event.preventDefault();
414       //alert('modern');
415     }else if(window.event){ // IE
416       window.event.returnValue = false;
417       //alert('ie');
418     }
419     // this‚͌Ăяo‚µŒ³‚ɂȂÁ‚Ä‚é
420     setScroll(this.hash);
421   }
422
423   function setScroll(hash){
424     // ƒnƒbƒVƒ…‚©‚çƒ^[ƒQƒbƒg—v‘f‚̍À•W‚ðƒQƒbƒg‚·‚é
425     var targetEle = d.getElementById(hash.substr(1));
426     if(!targetEle)return;
427     //alert(scrollSize.height);
428     // ƒXƒNƒ[ƒ‹æÀ•W‚ðƒZƒbƒg‚·‚é
429     var ele = targetEle;
430     var x = 0;
431     var y = 0;
432     while(ele){
433       x += ele.offsetLeft;
434       y += ele.offsetTop;
435       ele = ele.offsetParent;
436     }
437     var maxScroll = getScrollMaxXY();
438     targetX = Math.min(x, maxScroll.x);
439     targetY = Math.min(y, maxScroll.y);
440     targetHash = hash;
441     // ƒXƒNƒ[ƒ‹’âŽ~’†‚È‚çƒXƒNƒ[ƒ‹ŠJŽn
442     if(!scrolling){
443       scrolling = true;
444       scroll();
445     }
446   }
447
448   function scroll(){
449     var currentX = d.documentElement.scrollLeft||d.body.scrollLeft;
450     var currentY = d.documentElement.scrollTop||d.body.scrollTop;
451     var vx = (targetX - currentX) * easing;
452     var vy = (targetY - currentY) * easing;
453     var nextX = currentX + vx;
454     var nextY = currentY + vy;
455     if((Math.abs(vx) < 1 && Math.abs(vy) < 1)
456       || (prevX === currentX && prevY === currentY)){
457       // –Ú•WÀ•W•t‹ß‚É“ž’B‚µ‚Ä‚¢‚½‚çI—¹
458       scrollTo(targetX, targetY);
459       scrolling = false;
460       location.hash = targetHash;
461       prevX = prevY = null;
462       return;
463     }else{
464       // ŒJ‚è•Ô‚µ
465       scrollTo(parseInt(nextX), parseInt(nextY));
466       prevX = currentX;
467       prevY = currentY;
468       setTimeout(function(){scroll()},interval);
469     }
470   }
471   
472   function getDocumentSize(){
473     return {width:Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), height:Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)};
474   }
475
476   function getWindowSize(){
477     var result = {};
478     if(window.innerWidth){
479       var box = d.createElement('div');
480       with(box.style){
481         position = 'absolute';
482         top = '0px';
483         left = '0px';
484         width = '100%';
485         height = '100%';
486         margin = '0px';
487         padding = '0px';
488         border = 'none';
489         visibility = 'hidden';
490       }
491       d.body.appendChild(box);
492       var width = box.offsetWidth;
493       var height = box.offsetHeight;
494       d.body.removeChild(box);
495       result = {width:width, height:height};
496     }else{
497       result = {width:d.documentElement.clientWidth || d.body.clientWidth, height:d.documentElement.clientHeight || d.body.clientHeight};
498     }
499     return result;
500   }
501   
502   function getScrollMaxXY() {
503     if(window.scrollMaxX && window.scrollMaxY){
504       return {x:window.scrollMaxX, y:window.scrollMaxY};
505     }
506     var documentSize = getDocumentSize();
507     var windowSize = getWindowSize();
508     return {x:documentSize.width - windowSize.width, y:documentSize.height - windowSize.height};
509   }
510   
511 }());
512
513//ƒ|ƒbƒvƒAƒbƒvƒEƒBƒ“ƒhƒE
514window.onload = function() {
515	var node_a = document.getElementsByTagName('a');
516		for (var i in node_a) {
517			if (node_a[i].className == 'popup') {
518				node_a[i].onclick = function() {
519					return winOpen(this.href)
520				};
521			}
522		}
523};
524
525function winOpen(url) {
526	window.open(
527	url,'popup',
528	'width=330,height=300,scrollbars=1,resizable=1');
529
530	return false;
531};
532
533//ŒŸõ‘‹‚Ì•¶Žš‚ðÁ‚·
534
535
536//ƒAƒNƒeƒBƒuƒRƒ“ƒeƒ“ƒc•\ަ—p
537//v1.0
538//Copyright 2006 Adobe Systems, Inc. All rights reserved.
539function AC_AddExtension(src, ext)
540{
541  if (src.indexOf('?') != -1)
542    return src.replace(/\?/, ext+'?'); 
543  else
544    return src + ext;
545}
546
547function AC_Generateobj(objAttrs, params, embedAttrs) 
548{ 
549  var str = '<object ';
550  for (var i in objAttrs)
551    str += i + '="' + objAttrs[i] + '" ';
552  str += '>';
553  for (var i in params)
554    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
555  str += '<embed ';
556  for (var i in embedAttrs)
557    str += i + '="' + embedAttrs[i] + '" ';
558  str += ' ></embed></object>';
559
560  document.write(str);
561}
562
563function AC_FL_RunContent(){
564  var ret = 
565    AC_GetArgs
566    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
567     , "application/x-shockwave-flash"
568    );
569  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
570}
571
572function AC_SW_RunContent(){
573  var ret = 
574    AC_GetArgs
575    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
576     , null
577    );
578  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
579}
580
581function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
582  var ret = new Object();
583  ret.embedAttrs = new Object();
584  ret.params = new Object();
585  ret.objAttrs = new Object();
586  for (var i=0; i < args.length; i=i+2){
587    var currArg = args[i].toLowerCase();    
588
589    switch (currArg){	
590      case "classid":
591        break;
592      case "pluginspage":
593        ret.embedAttrs[args[i]] = args[i+1];
594        break;
595      case "src":
596      case "movie":	
597        args[i+1] = AC_AddExtension(args[i+1], ext);
598        ret.embedAttrs["src"] = args[i+1];
599        ret.params[srcParamName] = args[i+1];
600        break;
601      case "onafterupdate":
602      case "onbeforeupdate":
603      case "onblur":
604      case "oncellchange":
605      case "onclick":
606      case "ondblClick":
607      case "ondrag":
608      case "ondragend":
609      case "ondragenter":
610      case "ondragleave":
611      case "ondragover":
612      case "ondrop":
613      case "onfinish":
614      case "onfocus":
615      case "onhelp":
616      case "onmousedown":
617      case "onmouseup":
618      case "onmouseover":
619      case "onmousemove":
620      case "onmouseout":
621      case "onkeypress":
622      case "onkeydown":
623      case "onkeyup":
624      case "onload":
625      case "onlosecapture":
626      case "onpropertychange":
627      case "onreadystatechange":
628      case "onrowsdelete":
629      case "onrowenter":
630      case "onrowexit":
631      case "onrowsinserted":
632      case "onstart":
633      case "onscroll":
634      case "onbeforeeditfocus":
635      case "onactivate":
636      case "onbeforedeactivate":
637      case "ondeactivate":
638      case "type":
639      case "codebase":
640        ret.objAttrs[args[i]] = args[i+1];
641        break;
642      case "width":
643      case "height":
644      case "align":
645      case "vspace": 
646      case "hspace":
647      case "class":
648      case "title":
649      case "accesskey":
650      case "name":
651      case "id":
652      case "tabindex":
653        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
654        break;
655      default:
656        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
657    }
658  }
659  ret.objAttrs["classid"] = classid;
660  if (mimeType) ret.embedAttrs["type"] = mimeType;
661  return ret;
662}
663

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.