function Box_Switchable($)
{
	
	Box_Switchable.arrayOfBoxes=new Array();
	Box_Switchable.currentBox=0;
	Box_Switchable.autoscroll=true;
	
	Box_Switchable.setBoxOnTop=setBoxOnTop;
	Box_Switchable.setNextBoxOnTop=setNextBoxOnTop;
	Box_Switchable.setPrevBoxOnTop=setPrevBoxOnTop;
	
	$('.box-switchable .box').each( function (i)
			{
				$j('.box-switchableControl tr').append('<td><a href="#" id="box-switchableControlButton_'+(i)+'">'+(i+1)+'</a></td>');
				
				Box_Switchable.arrayOfBoxes.push($(this));
			}
		);

	$('.box-switchableControl tr td:first a').attr('class','akt');
	
	
	for (i=0 ; i<Box_Switchable.arrayOfBoxes.length; i++)
	{
		Box_Switchable.arrayOfBoxes[i].css('z-index',0);
	}
	

	
	Box_Switchable.setBoxOnTop(0);

	

		
		$j(".box-switchableControl tr td a[id^='box-switchableControlButton_']").click(function()
																{
																id=$(this).attr('id').replace('box-switchableControlButton_','');
																Box_Switchable.setBoxOnTop(id);
																return false;
																});
		
		$j('#box-switchableControlNav-next a').click(function()
																{
																Box_Switchable.setNextBoxOnTop();
																return false;
																});
		
		$j('#box-switchableControlNav-prev a').click(function()
																{
																Box_Switchable.setPrevBoxOnTop();
																return false;
																});	
		
		
		setInterval(function() { if (Box_Switchable.autoscroll) Box_Switchable.setNextBoxOnTop();} , 5000);
		
		
		$('.box-switchable, .box-switchableControl').hover(
								function() {Box_Switchable.autoscroll=false;},
								function() {Box_Switchable.autoscroll=true;}
								);
	
	/*implementacja metod:*/

	
	function setBoxOnTop(id)
	{
		
		current=Box_Switchable.currentBox;
	
		for (i=0 ; i<Box_Switchable.arrayOfBoxes.length; i++)
		{
			if (id!=i && current!=i)
			Box_Switchable.arrayOfBoxes[i].css('z-index',0);
			
			$j(".box-switchableControl tr td a[id^='box-switchableControlButton_']").attr('class','');
			$j(".box-switchableControl tr td a[id^='box-switchableControlButton_"+id+"']").attr('class','akt');
		}

		if(!Box_Switchable.arrayOfBoxes.length) return true;

		Box_Switchable.arrayOfBoxes[current].css('z-index',2);
		
		Box_Switchable.arrayOfBoxes[id].css('z-index',1);
		
		if (current!=id)
		Box_Switchable.arrayOfBoxes[current].fadeOut(1000, function()  {
																		$(this).css('z-index',0);
																		$(this).show()
																	}
																	);
		
		Box_Switchable.currentBox=id;
	}
	
	function setNextBoxOnTop()
	{
		if (Box_Switchable.currentBox==Box_Switchable.arrayOfBoxes.length-1) id=0;
		else
		id= (Box_Switchable.currentBox+1) % Box_Switchable.arrayOfBoxes.length;
		setBoxOnTop(id);
	}
	
	function setPrevBoxOnTop()
	{
		if (Box_Switchable.currentBox==0) id=Box_Switchable.arrayOfBoxes.length-1;
		else
		id= (Box_Switchable.currentBox-1) % Box_Switchable.arrayOfBoxes.length;
		
		setBoxOnTop(id);		
	}	
	
}



