var scrollposition = 0;
var _steps = [116];
var liPerDivs = [1];
var __steps = [116];
var _fix = [0];
var scrollIds = ['banners'];
var scrollIsRepeat = [true];
var scrollButtonIds = {'banners':['btn-prev','btn-next']};

var scrollObjs = [];

function initScroll()
{
	for(var i=0; i < scrollIds.length; i++)
	{
		var ul = document.getElementById(scrollIds[i]);
		if(ul)
		{
			var lis = ul.getElementsByTagName('li');
			var reminder = (lis.length) % liPerDivs[i];
			if(reminder > 0)
			{
				for(var j=0; j< liPerDivs[i]-reminder; j++)
				{
					var _li = document.createElement('li');
					_li.className = "no-bg";
					var __li = ul.appendChild(_li);
				}
			}
			
			var lis = ul.getElementsByTagName('li');
			total_cnt = lis.length;
			
			var ulw = (total_cnt/liPerDivs[i]) * _steps[i] + _fix[i];

			if(ulw > ul.parentNode.parentNode.offsetWidth)
			{
				ul.parentNode.id = "slide-div-" + i;
				ul.parentNode.style.position = "absolute";
				ul_offsetWidth = ul.offsetWidth;		
				ul.parentNode._ul_offsetWidth = ul_offsetWidth;
				
				ul.parentNode.mooeffect = new Fx.Styles( ul.parentNode.id, {wait:true,duration: 600,
								
							onStart: function(){
							},
							onComplete: function(){
														
								if(this.element.offsetLeft > this.element._start)
								{
									this.set({'left': this.element._end});
								}
								else if(this.element.offsetLeft < this.element._end)
								{
									this.set({'left': this.element._start});					
								}
							}		
					
					});
					
				ul.innerHTML = ul.innerHTML + ul.innerHTML + ul.innerHTML;
		
				ul.parentNode.mooeffect.set({'left': ul.parentNode.offsetLeft -1 * ulw });
		
				ul.parentNode._start = ul.parentNode.offsetLeft;
				ul.parentNode._end = ul.parentNode.offsetLeft - ulw +  __steps[i];
				
				if(scrollButtonIds[scrollIds[i]])
				{
					var aprev = document.getElementById(scrollButtonIds[scrollIds[i]][0]);
					if(aprev)
					{
						aprev.href = 'javascript:;';
						aprev._index = i;
						aprev.onclick = function(){
							_prev(this._index,1);
						}
					}
					var anext = document.getElementById(scrollButtonIds[scrollIds[i]][1]);
					if(anext)
					{
						anext.href = 'javascript:;';
						anext._index = i;
						anext.onclick = function(){
							_next(this._index,1);
						}
					}
				}
				
				ul._isrepeat = false;
				ul._currstep = 0;
				
				if(scrollIsRepeat[i])
				{
					ul._isrepeat = scrollIsRepeat[i];
				}				
				scrollObjs[i] = ul;
			}
		}
	}

}

function _next(_index,step)
{
	var ul = scrollObjs[_index];
	if(ul)
	{
		scrollObjs[_index]._currstep = scrollObjs[_index]._currstep + step;
		var __step = _steps[_index];
		if(__steps[_index]) __step = __steps[_index];
		if(ul._isrepeat)
		{	
			ul.parentNode.mooeffect.custom({'left':[ul.parentNode.offsetLeft,ul.parentNode.offsetLeft - step*__step]});
		}
		else
		{
			if(ul.parentNode.offsetLeft > ul.parentNode._end)
			{
				ul.parentNode.mooeffect.custom({'left':[ul.parentNode.offsetLeft,ul.parentNode.offsetLeft - step*__step]});
			}
		}
	}
}

function _prev(_index,step)
{
	var ul = scrollObjs[_index];
	if(ul)
	{
		scrollObjs[_index]._currstep = scrollObjs[_index]._currstep - step;
		var __step = _steps[_index];
		if(__steps[_index]) __step = __steps[_index];
		if(ul._isrepeat)
		{
			ul.parentNode.mooeffect.custom({'left':[ul.parentNode.offsetLeft,ul.parentNode.offsetLeft + step*__step]});
		}
		else
		{
			if(ul.parentNode.offsetLeft < ul.parentNode._start)
			{
				ul.parentNode.mooeffect.custom({'left':[ul.parentNode.offsetLeft,ul.parentNode.offsetLeft + step*__step]});		
			}		
		}
	}
}

if (window.addEventListener)
	window.addEventListener("load", initScroll, false);
else if (window.attachEvent)
	window.attachEvent("onload", initScroll);
