package classes.matuto.ui.simpleControl
{
	
	
	import classes.matuto.core.Button;
	
	import flash.display.*;
	import flash.events.*;

	
	public class SimpleControl extends Sprite
	{
		
		private var total		:int;
		public  var paginaAtual	:int;
		private var direita		:Button;
		private var esquerda	:Button;
		
		public function SimpleControl(_total:int,_paginaAtual:int=0,_direita:Button=null,_esquerda:Button=null) 
		{
			
			total 				= _total;
			paginaAtual			= _paginaAtual;
			direita				= _direita;
			esquerda			= _esquerda;
	
			if(total==0)
			valida0();
			else
			validaThis();
			
			direita.addEventListener("click",clickDireita);
			esquerda.addEventListener("click",clickEsquerda);
			
		}
		
		
		private function clickDireita(e:MouseEvent):void
		{
			paginaAtual++;
			dispatchEvent(new SimpleControlEvent(SimpleControlEvent.NEXT));
			validaThis();
		}
		
		private function clickEsquerda(e:MouseEvent):void
		{
			paginaAtual--;
			dispatchEvent(new SimpleControlEvent(SimpleControlEvent.PREV));	
			validaThis();

		}
		
		private function valida0():void
		{
			
			esquerda.visible = false;
			direita.visible  = false; 
			
			return void;
		}
		
		public function validaChange(value:int):void
		{
			paginaAtual = value;
			validaThis();
		}
		
		public function validaThis():void
		{
		
			if(paginaAtual==0)
			{
			
				esquerda.enabled 		= false;
				direita.enabled			= true;
				
				direita.addEventListener("click",clickDireita);
				esquerda.removeEventListener("click",clickEsquerda);
				
				
			}else
			if(paginaAtual == total)
			{
				
				
				direita.removeEventListener("click",clickDireita);
				esquerda.addEventListener("click",clickEsquerda);
				
			
				direita.enabled 		= false;
				esquerda.enabled 		= true; 
			
			}else
			{
				
				direita.addEventListener("click",clickDireita);
				esquerda.addEventListener("click",clickEsquerda);
				
			   direita.enabled 			= true;
			   esquerda.enabled			= true;
			
			}
		
				
				
		}
		
		
	}//end class

}



//EXEMPLO
/*
 * 
 * 		private var control					:SimpleControl;

 
 			
		control 	= 	new SimpleControl(grid.getTotalPaginacao,0,setaDir,setaEsq);
		control.addEventListener(SimpleControlEvent.NEXT, nextGrid);
		control.addEventListener(SimpleControlEvent.PREV, prevGrid);
		
		
		private function prevGrid(e:SimpleControlEvent):void 
		{
			grid.prev();
		}
		
		private function nextGrid(e:SimpleControlEvent):void 
		{
			grid.next();
		}
		
 * 
 * */