%globalDTD; ]> document.getAnonymousElementByAttribute(this, "anonid", "scrollbox"); document.getAnonymousElementByAttribute(this, "anonid", "scrollbutton-up"); document.getAnonymousElementByAttribute(this, "anonid", "scrollbutton-down"); null null null null document.defaultView.getComputedStyle(this._scrollbox, "").direction == "ltr"; 2 || amountToScroll < -2) { scrollAmount = round(amountToScroll * 0.2); scrollAmounts.push (scrollAmount, scrollAmount, scrollAmount); amountToScroll -= 3 * scrollAmount; } while (this._isScrolling < 0 && amountToScroll < 0 || this._isScrolling > 0 && amountToScroll > 0) { amountToScroll -= (scrollAmount = round(amountToScroll * 0.5)); scrollAmounts.push(scrollAmount); } this._smoothScrollTimer = setInterval(processFrame, 60, this); processFrame(this); ]]> = edge) break; } } else { edge += scrollBox.width; for (var i = 0; nextElement = elements[i]; i++) { var x = nextElement.boxObject.screenX; if (x <= edge && x + nextElement.boxObject.width > edge) break; } } if (!nextElement) return; var targetElement; while (index < 0 && nextElement) { targetElement = nextElement; nextElement = nextElement.previousSibling; index++; } while (index > 0 && nextElement) { targetElement = nextElement; nextElement = nextElement.nextSibling; index--; } this.ensureElementIsVisible(targetElement); ]]> 0 0 0 150 3) return; var scrollLeft = (aEvent.originalTarget == this._scrollButtonUp); if (!this._isLTRScrollbox) scrollLeft = !scrollLeft; var targetElement; var elements = this.hasChildNodes() ? this.childNodes : document.getBindingParent(this).childNodes; if (aEvent.detail == 2) { // scroll by the width of the scrollbox; make sure that the next // partly-offscreen element will become fully visible. var scrollBox = this.scrollBoxObject; var edge = scrollBox.screenX; if (scrollLeft) { for (var i = 0; targetElement = elements[i]; i++) { var x = targetElement.boxObject.screenX; if (x < edge && x + targetElement.boxObject.width + 1 >= edge) break; } if (!targetElement) return; edge = targetElement.boxObject.screenX + targetElement.boxObject.width - scrollBox.width; while ((targetElement = targetElement.previousSibling)) if (targetElement.boxObject.screenX < edge) break; if (targetElement) targetElement = targetElement.nextSibling; } else { edge += scrollBox.width; for (var i = 0; targetElement = elements[i]; i++) { var x = targetElement.boxObject.screenX; if (x <= edge && x + targetElement.boxObject.width > edge) break; } if (!targetElement) return; edge = targetElement.boxObject.screenX + scrollBox.width; while ((targetElement = targetElement.nextSibling)) if (targetElement.boxObject.screenX + targetElement.boxObject.width > edge) break; if (targetElement) targetElement = targetElement.previousSibling; } } if (!targetElement) // scroll to the first resp. last element targetElement = scrollLeft ? elements[0] : elements[elements.length - 1]; this.ensureElementIsVisible(targetElement); ]]>