window.addEvent('domready', function(){
	var obj = new Scroller('news_scroller_outer', 'news_scroller_inner', 3, 'news_scroller_steps', 'news_scroller_info', 'news_scroller_left', 'news_scroller_right', 'news_scroll_item', 'scroller_active', 'scroller_inactive');

	var obj2 = new Scroller('gallery_scroller_outer', 'gallery_scroller_inner', 5, 'gallery_scroller_steps', 'gallery_scroller_info', 'gallery_scroller_left', 'gallery_scroller_right', 'gallery_scroll_item', 'scroller_active', 'scroller_inactive');
})

function Scroller(strScrollerOuter, strScrollerInner, intInterval, strPaginator, strInfo, strLeft, strRight, strScrollItemClass, strPaginatorClass, strPaginatorActiveClass)
{
	if($type($(strScrollerOuter)) !== false 
		&& $type($(strScrollerInner)) !== false 
		&& $type($(strInfo)) !== false
		&& $type($(strPaginator)) !== false
		&& $type($(strLeft)) !== false
		&& $type($(strRight)) !== false)
	{
		if($(strScrollerInner).getElements('.' + strScrollItemClass).length > 0)
		{
			var przewijanie = new Fx.Scroll(strScrollerOuter);
			var intIndex 	= 0;
			var intInterval = intInterval;
			var tempLength  = $(strScrollerInner).getElements('.' + strScrollItemClass).length ;
			
			if((tempLength % intInterval) != 0)
			{
				var intOffset = intInterval - (tempLength % intInterval);

				for(var i=0; i < intOffset; i++)
				{
					var newEl = new Element('div');
					newEl.className = strScrollItemClass;
					$(strScrollerInner).appendChild(newEl);	
				}
			}
			
			
			var el_tab 			= [];
			var arrElements 	= $(strScrollerInner).getElements('.' + strScrollItemClass);
			var intMax 			= arrElements.length - 1;
			var intPages 		= arrElements.length / intInterval;
			var currentPage 	= 1;
			var arrPaginator 	= [];
			
			var strPaginatorWidth = 0;
			
			for(var i=0; i < intPages; i++)
			{
				var newEl = new Element('div');
				newEl.className = strPaginatorClass;
				if(i==0)
				{
					newEl.className = strPaginatorActiveClass;
				}
				
				arrPaginator[i+1] = newEl;
				
				$(strPaginator).appendChild(newEl);
				
				if(strPaginatorWidth == 0)
				{
					strPaginatorWidth = intPages * newEl.getSize().x;
				}
			}
			
			$(strPaginator).setStyle('width', strPaginatorWidth );
			
			$(strInfo).innerHTML = currentPage + '/' + intPages;
			var intWidth = arrElements[0].getStyle('width').toInt() * arrElements.length;
			
			$(strScrollerInner).setStyle('width', intWidth);
			
			arrElements.each(function(element,index){
				el_tab[index] = element;
			})
			
			$(strLeft).addEvent("click",function(e){
				var objEvent = new Event(e);
				objEvent.stop();
				
			   if(intIndex <= 0){
				  intIndex = (intMax - intInterval) + 1;
				  currentPage = intPages;
				  przewijanie.toElement(el_tab[intIndex]);
			   }
			   else{
				  intIndex -= intInterval;
				  currentPage--;
				  przewijanie.toElement(el_tab[intIndex]);
			   }
			   
			   arrPaginator.each(function(element,index){
					if(element != undefined)
					{
						element.className = strPaginatorClass;
					}
			   })
			   
			   arrPaginator[currentPage].className = strPaginatorActiveClass;
			   
			   $(strInfo).innerHTML = currentPage + '/' + intPages;
			   
			});
			
			$(strRight).addEvent("click",function(e){
				var objEvent = new Event(e);
				objEvent.stop();
				
			   if((intIndex + intInterval) > intMax){
				  intIndex = 0;
				  currentPage = 1;
				  przewijanie.toElement(el_tab[intIndex]);
			   }
			   else{
				  intIndex += intInterval;
				  currentPage++;
				  przewijanie.toElement(el_tab[intIndex]);
			   }
			   
			   arrPaginator.each(function(element, index){
					if(element != undefined)
					{
						element.className = strPaginatorClass;
					}
			   })
			   
			   arrPaginator[currentPage].className = strPaginatorActiveClass;
			  
				przewijanie.toElement(el_tab[intIndex]);
			   
				$(strInfo).innerHTML = currentPage + '/' + intPages;
			});
		}//end if
	}//end if
}

