
		/**
		 *	------------------------
		 *	gxScroller.addScroller('scroller', 400, 20);
		 *	gxScroller.initScrolling('scroller', 50, 3);
		 *
		 */

		var gxScroller =
		{

			addCssProperty : function (element, property, value)
			{

				element.style[property] = value;
			},

			setStatusMessage : function (message)
			{

				window.status = message;
			},

			addScroller : function (element, width)
			{

				if (this.e == null)
				{

					this.e = {};
				}

				this.e[element] =
				{

					element  			: (typeof element == 'object') ? element : document.getElementById(element),
					top					: 0,
					left				: 0,
					allDisplays			: 0,
					steps				: null,
					displayCount		: 0,
					newValue			: null,
					currentValue		: null,
					valueDifferenz		: null,
					stoppFeadback		: false,
					interval			: null,
					width				: null
				};
				
				var obj = (this.e[element]['element'].firstChild.tagName == null) ? this.e[element]['element'].childNodes[1] : this.e[element]['element'].firstChild;
				var tds = obj.getElementsByTagName('ul');


				this.addCssProperty(this.e[element]['element'], 'overflow', 'hidden');
				this.addCssProperty(obj, 'position', 'absolute');
				this.addCssProperty(obj, 'left', '0px');
				this.addCssProperty(obj, 'top', '0px');
				this.e[element]['width'] = width;

				for(var y = -1, x = 0; x < tds.length; ++x)
				{
					tds[x].element = element;
					tds[x].onmouseover = function () {

						gxScroller.e[element]['stoppFeadback'] = true;
					};

					tds[x].onmouseout = function () {

						gxScroller.e[element]['stoppFeadback'] = false;
					};
				}

				this.e[element]['allDisplays'] 	= tds.length;
				this.e[element]['element'] 		= obj;
			},


			easeOutQuint : function (t, b, c, d)
			{

				return c*((t=t/d-1)*t*t*t*t + 1) + b;
			},


			initScrolling : function (element, duration, stoppTime)
			{

				if(arguments[3] == null)
				{

					window.clearTimeout(this.e[element]['interval']);

					this.e[element]['steps']			= 0;
					this.e[element]['newValue']			= (this.e[element]['width'] * this.e[element]['displayCount']) + ((!window.opera && document.all) ? 1 : 0);
					this.e[element]['currentValue']		= parseInt(this.e[element]['element'].style.left);
					this.e[element]['valueDifferenz']	= this.e[element]['newValue'] - this.e[element]['currentValue'];
					this.e[element]['interval']			= null;
				}

				if(this.e[element]['steps'] < duration)
				{

					this.e[element]['element'].style.left = this.easeOutQuint(this.e[element]['steps'], this.e[element]['currentValue'], this.e[element]['valueDifferenz'], duration) + 'px';

					if (!this.e[element]['stoppFeadback'])
					{

						this.e[element]['steps']++;
					}

					this.e[element]['interval'] = window.setTimeout('gxScroller.initScrolling("' + element + '", ' + duration + ', ' + stoppTime + ', true)', 10);
				}

				else

				{

					if (++this.e[element]['displayCount'] < this.e[element]['allDisplays'])
					{

						window.clearTimeout(this.e[element]['interval']);

						window.setTimeout('new Function("", gxScroller.initScrolling("' + element + '", ' + duration + ', ' + stoppTime + '))', stoppTime * 1000);
					}

					else

					{

						window.clearTimeout(this.e[element]['interval']);
						this.e[element]['steps'] 			= 0;
						this.e[element]['displayCount']		= 0;
						this.e[element]['newValue']			= -(this.e[element]['width'] * this.e[element]['displayCount']);
						this.e[element]['currentValue'] 	= parseInt(this.e[element]['element'].style.top);;
						this.e[element]['valueDifferenz'] 	= this.e[element]['newValue'] - this.e[element]['currentValue'];
						this.e[element]['interval']			= null;

						window.setTimeout('new Function("", gxScroller.initScrolling("' + element + '", ' + duration + ', ' + stoppTime + ', true))', stoppTime * 1000);
					}
				}
			}
		};

		window.onload = function ()
		{
			gxScroller.addScroller('scroller', 440);
			gxScroller.initScrolling('scroller', 50, 6);
		};
