﻿function jsScroller(o, w, h) { var b = this; var d = o.getElementsByTagName("div"); for (var i = 0; i < d.length; i++) { if (d[i].className.indexOf("Scroller-Container") > -1) { o = d[i] } } this._setPos = function(x, y) { if (x < this.viewableWidth - this.totalWidth) x = this.viewableWidth - this.totalWidth; if (x > 0) x = 0; if (y < this.viewableHeight - this.totalHeight) y = this.viewableHeight - this.totalHeight; if (y > 0) y = 0; this._x = x; this._y = y; with (o.style) { left = this._x + "px"; top = this._y + "px" } }; this.reset = function() { this.content = o; this.totalHeight = o.offsetHeight; this.totalWidth = o.offsetWidth; this._x = 0; this._y = 0; with (o.style) { left = "0px"; top = "0px" } }; this.scrollBy = function(x, y) { this._setPos(this._x + x, this._y + y) }; this.scrollTo = function(x, y) { this._setPos(-x, -y) }; this.stopScroll = function() { if (this.scrollTimer) window.clearInterval(this.scrollTimer) }; this.startScroll = function(x, y) { this.stopScroll(); this.scrollTimer = window.setInterval(function() { b.scrollBy(x, y) }, 40) }; this.swapContent = function(c, w, h) { o = c; var a = o.getElementsByTagName("div"); for (var i = 0; i < a.length; i++) { if (a[i].className.indexOf("Scroller-Container") > -1) { o = a[i] } } if (w) this.viewableWidth = w; if (h) this.viewableHeight = h; this.reset() }; this.content = o; this.viewableWidth = w; this.viewableHeight = h; this.totalWidth = o.offsetWidth; this.totalHeight = o.offsetHeight; this.scrollTimer = null; this.reset() };