package classes.gustavo.ui.scrollCidadeEstados
{
	
	//MATUTO
	import classes.fl.motion.easing.*;
	import classes.greensock.*;
	import classes.matuto.core.*;
	import classes.matuto.core.module.*;
	import classes.matuto.interfaces.*;
	import classes.matuto.model.*;
	import classes.matuto.mtween.textinho.*;
	import classes.matuto.ui.grid.*;
	import classes.matuto.ui.simpleControl.*;
	import classes.matuto.utils.display.*;
	import classes.matuto.utils.model.*;
	
	import flash.display.*;
	import flash.events.*;
	import flash.utils.*;
	import classes.matuto.utils.form.CidadeEstado;
	
	
	public class ScrollEstadoCidade extends MovieClip implements IDisplay
	{
		
		private var cidades				:Array;	
		private var estados				:Array;	
		private var cidadesAtual		:Array;
		
		private var scrollCidades		:ScrollItemText;
		private var scrollEstados		:ScrollItemText;
		
		private var idCidade			:int = 0;
		
		private var retornoCidade		:String;
		private var retornoEstado		:String;
		
	
		public function ScrollEstadoCidade()
		{
			super();	
				
			scrollCidades = _scrollCidades;
			scrollEstados = _scrollEstados;	
		}
		
		public function init():void
		{
			
			
			cidades 	 = CidadeEstado.cidades;
			estados 	 = getDadosEstados();
			cidadesAtual = getDadosCidades(idCidade);
			
			scrollCidades.init(cidadesAtual);
			scrollEstados.init(estados);
			
			scrollEstados.setTexto = "Selecione o Estado";
			scrollCidades.setTexto = "Selecione a Cidade";
			
			scrollCidades.addEventListener(Event.SELECT,selectCidades);
			scrollEstados.addEventListener(Event.SELECT,selectEstados);
			
		}
	
		//########################################################//
		//SELECT
		//########################################################//
		
		private function selectCidades(e:Event):void
		{
			scrollCidades.setTexto = cidadesAtual[scrollCidades.id];
			retornoCidade 		   = cidadesAtual[scrollCidades.id];
		}
		
		private function selectEstados(e:Event):void
		{
			scrollEstados.setTexto = estados[scrollEstados.id];
			cidadesAtual 		   = getDadosCidades(scrollEstados.id);
			scrollCidades.update(cidadesAtual);	
			scrollCidades.setTexto = cidadesAtual[0];
			retornoEstado		   = estados[scrollEstados.id];
		}
		
	
		//########################################################//
		//########################################################//
	
		//#################################################
		//get dados
		//#################################################
		
		private function getDadosCidades(value:int):Array
		{
		    return cidades[value];
		}
		
		private function getDadosEstados():Array
		{
			var retorno:Array = [];
			
			for each(var i:Object in CidadeEstado.estados)
			retorno.push(i.uf);
			
			return retorno;
		}
		
		public function get getCidade():String
		{
		   return retornoCidade;	
		}
		
		public function get getEstado():String
		{
		   return retornoEstado;	
		}
		
		
		//#################################################
		//#################################################
	
		
		public function close():void
		{
		}
		
		public function resize():void
		{
		}
		
		public function dispose():void
		{
		}
	}
}