var HorizontalScroller = {	
	mobjItems : null,
	mintCurrent : 0,
	mobjTimer : null,
	mstrOffset : '900px',

	initialize: function(options) {
		this.mobjItems = $$('div.dmarquee a');
		
		if(!this.mobjItems || this.mobjItems.length==0)
		{
			return;
		}
		var  _this = this;
		this.mobjItems.each(function(node) {
			node.hide();
			node.style.left = _this.mstrOffset;
			node.style.top = 0;
		});

		this.mobjTimer = new Timer(this);

		if(this.mobjItems) 
		{
			this.showItems(this.mobjItems[this.mintCurrent]);
		}			
		
	},	
	hideItems: function(objNode) {
	    if(this.mobjItems) 
		{
			objNode.hide();		
			objNode.style.left = this.mstrOffset;		
			objNode.style.top = 0;			
			
	    }
	},
	showItems: function(objNode) {
	    if(this.mobjItems) 
		{
			new Effect.Appear(objNode, { duration: 3, afterFinish: function() {
				//new Effect.Fade(objNode, { duration: 1, delay: .3 });
			}});
			
			var objThis = this;
			new Effect.Move(objNode, { x: 0, y: 0, duration: 4, mode: 'absolute', transition: Effect.Transitions.linear, afterFinish: function() { 
				//objThis.hideItems(objNode);
			}});
			
			objThis.mobjTimer.setTimeout("nextItems",6000);
	    }
	},
	nextItems: function() {
	    if(this.mobjItems) 
		{
			var _this = this;
			new Effect.Fade(this.mobjItems[this.mintCurrent], { duration: 1, delay: 2 , afterFinish: function() {
				_this.hideItems(_this.mobjItems[_this.mintCurrent]);
				//_this.mobjItems[_this.mintCurrent].style.left = _this.mstrOffset;
				//_this.mobjItems[_this.mintCurrent].style.top = _this.mstrOffset;
		        _this.mintCurrent++;
		        if(_this.mintCurrent>=_this.mobjItems.length)
		        {
					_this.mintCurrent=0;
		        }
				_this.showItems(_this.mobjItems[_this.mintCurrent]);
			}});
			

	    }
	}	
}
Event.observe(document, 'dom:loaded', function(){ HorizontalScroller.initialize(); });