var sys = navigator.appName; var vers = parseInt(navigator.appVersion); var n4 = document.layers var ie4Mac = (vers>=4) && (navigator.appVersion.indexOf("Mac")>-1) && (!n4) function testScroll() { if (window._pageXOffset==null) {window._pageXOffset = window.pageXOffset window._pageYOffset = window.pageYOffset} document.body.unwatch("scrollTop") document.body.unwatch("scrollLeft") document.body.scrollTop = window.pageYOffset document.body.scrollLeft = window.pageXOffset window.document.body.scrollHeight = document.height window.document.body.scrollWidth = document.width document.body.watch("scrollTop",CheckScrollTop) document.body.watch("scrollLeft",CheckScrollLeft) document.body.clientWidth = window.innerWidth-20; document.body.clientHeight = window.innerHeight-20; if (((window.pageXOffset!=window._pageXOffset) || (window.pageYOffset!=window._pageYOffset)) && (window.onscroll)) window.onscroll() window._pageXOffset = window.pageXOffset window._pageYOffset = window.pageYOffset } function CheckScrollTop(prop,temp,newValue) {return newValue} function CheckScrollLeft(prop,temp,newValue) {return newValue} function CheckTopChange(prop,temp,newValue) {this.NSLayer.owningElement.offsetTop = this.NSLayer.top = newValue return newValue} function CheckLeftChange(prop,temp,newValue) {this.NSLayer.owningElement.offsetLeft= this.NSLayer.left = newValue return newValue} function CheckWidthChange(prop,temp,newValue) {this.NSLayer.owningElement.offsetWidth = this.NSLayer.clip.width = newValue return newValue} function CheckHeightChange(prop,temp,newValue) {this.NSLayer.owningElement.offsetHeight = this.NSLayer.clip.height = newValue return newValue} function CheckColorChange(prop,temp,newValue) {this.NSLayer.bgColor = newValue return newValue} function CheckClipChange(prop,temp,newValue) {var sText = newValue.substring(5) sText = sText.substring(0,sText.length-1) var aVal = sText.split(" ") this.NSLayer.clip.top = aVal[0] this.NSLayer.clip.width = aVal[1] this.NSLayer.clip.height = aVal[2] this.NSLayer.clip.left = aVal[3] return newValue} function CheckZIndexChange(prop,temp,newValue) {this.NSLayer.zIndex = newValue return newValue} function CheckContentChange(prop,temp,newValue) {this.NSLayer.document.open() this.NSLayer.document.write(newValue) this.NSLayer.document.close() this.NSLayer.document.owningElement = this.NSLayer.owningElement = this _extract(this.NSLayer, true) return newValue} function CheckVisibilityChange(prop,temp,newValue) {if (newValue=="hidden") this.NSLayer.visibility = "hide"; else if (newValue=="visible") this.NSLayer.visibility = "show"; else if (newValue=="inherit") this.NSLayer.visibility = "inherit"; else this.NSLayer.visibility = ""; return newValue} function CheckContains(el) {return (el==this)} function _appendAll(obj, el, sName) {obj.all[sName] = el while (obj.offsetParent) {obj = obj.offsetParent obj.all[sName] = el}} function _extractRoot(obj, par) {for (var intLoop = 0; intLoop< obj.images.length; intLoop++) { var i = obj.images[intLoop] i.offsetParent = par i.offsetLeft = i.x i.offsetTop = i.y i.offsetWidth = i.width i.offsetHeight = i.height i.tagName = "IMG" i.contains = CheckContains if (""!=i.name) { window.document.all[i.name] = i if (obj.owningElement) _appendAll(obj.owningElement, i, i.name)} } for (var intLoop = 0; intLoop< obj.anchors.length; intLoop++) { var i = obj.anchors[intLoop] i.contains = CheckContains i.offsetWidth=i.offsetHeight=0 if (""!=i.name) { window.document.all[i.name] = i if (obj.owningElement) _appendAll(obj.owningElement, i, i.name) } obj.anchors[intLoop].offsetParent = par} for (var intLoop = 0; intLoop< obj.links.length; intLoop++) { var i=obj.links[intLoop] i.offsetWidth=0;i.offsetHeight=20 i.contains = CheckContains i.innerText = obj.links[intLoop].text i.offsetParent = par i.offsetLeft = obj.links[intLoop].x i.offsetTop = obj.links[intLoop].y } for (var intLoop = 0; intLoop< obj.forms.length; intLoop++) { obj.forms[intLoop].offsetParent = par var sName = obj.forms[intLoop].name obj.forms[intLoop].tagName = "FORM" if (""!=sName) { window.document.all[sName] = obj.forms[intLoop] if (obj.owningElement) _appendAll(obj.owningElement, obj.forms[intLoop], sName) } for (var intElements = 0; intElements < obj.forms[intLoop].length; intElements++) { var i = obj.forms[intLoop][intElements] var sName = i.name i.offsetParent = par // i.tagName = _getInputTagName(i.type) if (""!=sName) { window.document.all[sName] = i if (obj.owningElement) _appendAll(obj.owningElement, i, sName) // obj.owningElement.all[sName] = window.document.all[sName] } } } if (obj.owningElement) { var sName = obj.owningElement.id window.document.all[sName] = obj.owningElement _appendAll(obj.owningElement.offsetParent, obj.owningElement, sName) } } function _extract(obj, bRefresh) { // This function is called recursively for nested layers // Add walk up tree to add to collections code... ugh obj.document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.MOUSEMOVE | Event.KEYDOWN | Event.KEYPRESS | Event.KEYUP) obj.document.onmousedown = _NSLayerBubbling; obj.document.onmouseup = _NSLayerBubbling; obj.document.onmousemove = _NSLayerBubbling; obj.document.onkeydown = _NSLayerBubbling; obj.document.onkeypress = _NSLayerBubbling; obj.document.onkeyup = _NSLayerBubbling; obj.document._type = "document" // internal variable to track state // Hookup event handlers to establish event bubbling. if (bRefresh==null) { if (""!=obj.id) document.all[obj.id] = new Object var newEl = document.all[obj.id] newEl.all = new Object obj.document.owningElement= obj.owningElement = newEl newEl.id = obj.id newEl.style = new Object newEl.NSLayer = newEl.style.NSLayer = obj newEl.offsetTop = parseInt(obj.top) newEl.offsetLeft = parseInt(obj.left) obj._type = "layer" // internal variable if (obj.parentLayer.owningElement!=null) newEl.offsetParent = obj.parentLayer.owningElement else newEl.offsetParent = document.body newEl.style.pixelTop = parseInt(obj.top) newEl.style.pixelLeft = parseInt(obj.left) if (null!=obj.clip) { newEl.style.pixelWidth = obj.clip.width // estimation newEl.style.pixelHeight = obj.clip.height } newEl.style.clip = "rect(" + obj.clip.top + " " + obj.clip.width + " " + obj.clip.height + " " + obj.clip.left + ")" newEl.offsetWidth = newEl.style.pixelWidth // estimation newEl.offsetHeight = newEl.style.pixelHeight newEl.contains = CheckContains; if (obj.visibility=="hide") newEl.style.visibility = "hidden"; else if (obj.visibility=="show") newEl.style.visibility = "visible"; else if (obj.visibility=="inherit") newEl.style.visibility = "inherit"; else newEl.style.visibility = ""; newEl.style.zIndex = obj.zIndex newEl.style.backgroundColor = obj.bgColor; newEl.style.backgroundImage = "url("+obj.background+")"; newEl.innerHTML = "" newEl.style.watch("visibility",CheckVisibilityChange) newEl.style.watch("pixelTop",CheckTopChange) newEl.style.watch("pixelLeft",CheckLeftChange) newEl.style.watch("pixelWidth",CheckWidthChange) newEl.style.watch("pixelHeight",CheckHeightChange) newEl.style.watch("backgroundColor",CheckColorChange) newEl.style.watch("zIndex",CheckZIndexChange) newEl.style.watch("clip",CheckClipChange) newEl.watch("innerHTML",CheckContentChange) } _extractRoot(obj.document,newEl) for (var intLayer = 0; intLayer< obj.document.layers.length; intLayer++) _extract(obj.document.layers[intLayer]) // Nested layers, go get them. } function _NSLayerBubbling(ev) { // Bubble through any positioned elements. this.routeEvent(ev); // Fire on positioned element if (!window.event.cancelBubble) if (null!=this.owningElement["on"+ev.type]) this.owningElement["on"+ev.type]() } function setup() { if (4>vers) return; // Can't help old browsers if ("Netscape"==sys) { document.all = null; document.all = new Array; document.body = new Object; document.body.clientWidth = window.innerWidth-20; document.body.clientHeight = window.innerHeight-20 document.body.scrollTop = window.pageXOffset; document.body.scrollLeft = window.pageYOffset document.body.watch("scrollTop",CheckScrollTop) document.body.watch("scrollLeft",CheckScrollLeft) document.body.offsetParent = null document.body.offsetLeft = document.body.offsetTop = 0 document.body.all = new Object document.parentWindow = window _extractRoot(document,document.body) for (var intLayer = 0; intLayer< document.layers.length; intLayer++) { _extract(document.layers[intLayer]) // Nested layers, go get them. } // _setupBubbling(); // testScroll() // setInterval("testScroll()",50) document.readyState = "complete" } return } //window.onload = setup; // Initialize when loaded if ("Netscape"==sys) document.readyState = "loading" var sRepeat=null function doMarquee(dir, src, amount) { if (amount==null) amount=10 document.all[src].style.pixelLeft-=amount if (-document.all[src].style.pixelLeft>=document.all[src].offsetWidth) document.all[src].style.pixelLeft=document.all[src].offsetParent.offsetWidth return false } function RunMarquee(sDir,sWhich) { clearInterval(sRepeat) iAmount=5 sRepeat = setInterval("doMarquee('"+sDir+"','"+sWhich+"'," + iAmount+")",80) } function doLoad() { setup() // doMarquee('right','s1',-780) // RunMarquee("right","s1") } //window.onload = doLoad