// Create scrolling variable if it doesn't existif (!Scrolling) var Scrolling = {};//Scroller constructorScrolling.Scroller = function (o, w, h, t) {	//get the container	var list = o.getElementsByTagName("div");	for (var i = 0; i < list.length; i++) {		if (list[i].className.indexOf("Scroller-Container") > -1) {			o = list[i];		}	}		//private variables	var self  = this;	var _vwidth   = w;	var _vheight  = h;	var _twidth   = o.offsetWidth	var _theight  = o.offsetHeight;	var _hasTween = t ? true : false;	var _timer, _x, _y;		//public variables	this.onScrollStart = function (){};	this.onScrollStop  = function (){};	this.onScroll      = function (){};	this.scrollSpeed   = 30;		//private functions	function setPosition (x, y) {		if (x < _vwidth - _twidth) 			x = _vwidth - _twidth;		if (x > 0) x = 0;		if (y < _vheight - _theight) 			y = _vheight - _theight;		if (y > 0) y = 0;				_x = x;		_y = y;				o.style.left = _x +"px";		o.style.top  = _y +"px";	};		//public functions	this.scrollBy = function (x, y) { 		setPosition(_x - x, _y - y);		this.onScroll();	};		this.scrollTo = function (x, y) { 		setPosition(-x, -y);		this.onScroll();	};		this.startScroll = function (x, y) {		this.stopScroll();		this.onScrollStart();		_timer = window.setInterval(			function () { self.scrollBy(x, y); }, this.scrollSpeed		);	};			this.stopScroll  = function () { 		if (_timer) window.clearInterval(_timer);		this.onScrollStop();	};		this.reset = function () {		_twidth  = o.offsetWidth		_theight = o.offsetHeight;		_x = 0;		_y = 0;				o.style.left = "0px";		o.style.top  = "0px";				if (_hasTween) t.apply(this);	};		this.swapContent = function (c, w, h) {		o = c;		var list = o.getElementsByTagName("div");		for (var i = 0; i < list.length; i++) {			if (list[i].className.indexOf("Scroller-Container") > -1) {				o = list[i];			}		}				if (w) _vwidth  = w;		if (h) _vheight = h;		this.reset();	};		this.getDimensions = function () {		return {			vwidth  : _vwidth,			vheight : _vheight,			twidth  : _twidth,			theight : _theight,			x : -_x, y : -_y		};	};		this.getContent = function () {		return o;	};		this.reset();};
