Indica.controller.cadastroempresa = {
	
	EMAIL_STATUS_BUSCANDO: 'buscando',
	
	EMAIL_STATUS_EXISTENTE: 'emailexistente',
	
	EMAIL_STATUS_NAOEXISTE: 'emailnaoexiste',
	
	statusEmail: '',
	
	index: function()
	{
		var that = this;
		
		NOIX.validation.registerTags();
		
		NOIX.get( 'cad_cnpj' ).applyMask( 'cnpj' );
		NOIX.get( 'cad_cep' ).applyMask( 'cep' );
		NOIX.get( 'cad_telefone' ).applyMask( 'number' );
		NOIX.get( 'cad_ddd' ).applyMask( 'number' );

		jQuery( '#formCadEmpresa' ).submit( 
			function() {
				var validou = NOIX.validation.process(
					function(){
						Indica.messages.appMessage( '', this.getError().message, 1 );
					}
				);

				if( !validou ){
					return false;
				}
				
				var campoEmail = NOIX.get( 'cad_email' ).value;
				var campoEmailVerif = NOIX.get( 'nm_conf_email' ).value;
				
				if( campoEmail != campoEmailVerif ){
					Indica.messages.appMessage( '', "E-mail de confirmação inválido.", 1 );
					return false;
				}
				
				var campoSenha = NOIX.get( 'nm_senha' ).value;
				var campoSenhaVerif = NOIX.get( 'nm_senha_verif' ).value;
				
				if( campoSenha.length >= 6 ){
					if( campoSenha != campoSenhaVerif ){
						Indica.messages.appMessage( '', "Senhas digitadas não coincidem.", 1 );
						return false;
					}
				}
				else {
					Indica.messages.appMessage( '', "A senha deve ter pelo menos 6 dígitos", 1 );
					return false;
				}
				
				if( Indica.controller.cadastroempresa.statusEmail == Indica.controller.cadastroempresa.EMAIL_STATUS_EXISTENTE ){
					Indica.messages.appMessage( '', 'O email informado já existe no nosso sistema. Por favor, informe outro.' );
					return false;
				}
				
				var objSelect = NOIX.get( "select_como_conheceu" );

				if( objSelect.options[ objSelect.selectedIndex ].getAttribute( 'comp' ) == '1' ){
					var txt = NOIX.get( 'como_conheceu_mais' ).value;
					if( txt == 'Informe qual' || txt == '' ){
						Indica.messages.appMessage( '', 'Informe onde conheceu o Indica' );
						return false;
					}
				}

				if( !NOIX.get( 'cad_termo' ).checked ) {
					Indica.messages.appMessage( '', "Você precisa aceitar os termos do Indica para continuar.", 1 );
					return false;
				}
			}
		);

		NOIX.get( 'cadastro_estado' ).on( 'change', function()
			{
				that.atualizaCidadeSelect( this.value );						
			} 
		);
	
	},
	
	atualizaCidadeSelect: function( idEstado ){	
		if( idEstado != '' ){
			
			var url = Excelsior.siteUrl + '/cadastroempresa/cidade';

			jQuery.ajax(
				{
					type: 'POST',
					
					data: {
						_ajax: 1,
						idEstado : idEstado
					},
						
					url: url,
					
					beforeSend: function(){
						NOIX.get( 'cadastro_cidade' ).setMessage( 'atualizando...' );
					},
					
					complete: function( data ){					
						eval( "response = " + data.responseText );
						
						NOIX.get( 'cadastro_cidade' ).clear();
						NOIX.get( 'cadastro_cidade' ).append( 'selecione', '' );
						NOIX.get( 'cadastro_cidade' ).appendJson( response );
					}
				}
			);
		
		}else{
			NOIX.get( 'cadastro_cidade' ).append( 'selecione', '' );
		}
	
	},

	validaEmail: function(){
		jQuery.ajax(
			{
				url: Indica.siteUrl + '/cadastroempresa/verificaemail',
				
				data: {
					email: NOIX.get( 'cad_email' ).value
				},
				
				beforeSend: function(){
					Indica.controller.cadastroempresa.statusEmail = Indica.controller.cadastroempresa.EMAIL_STATUS_BUSCANDO;
					NOIX.get( 'informacao_email' ).innerHTML = 'Verificando email...';
				},
				
				complete: function( data ){
					eval( 'var response = ' + data.responseText );
					
					if( response.status == 'success' ){
						Indica.controller.cadastroempresa.statusEmail = Indica.controller.cadastroempresa.EMAIL_STATUS_NAOEXISTE;
						NOIX.get('informacao_email').innerHTML = '';
					}
					else{
						Indica.controller.cadastroempresa.statusEmail = Indica.controller.cadastroempresa.EMAIL_STATUS_EXISTENTE;
						NOIX.get('informacao_email').innerHTML = response.message;
					}
				},
				
				type: 'POST'
			}
		);
	},

	mudaComoConheceu: function(){
		var objSelect = NOIX.get( 'select_como_conheceu' );
		var select = objSelect.value;
		var temcomplemento = objSelect.options[ objSelect.selectedIndex ].getAttribute( 'comp' );

		if( temcomplemento == '1' ){
			NOIX.get( 'conheceu_div' ).style.display = "block";
			NOIX.get( 'como_conheceu_mais' ).disabled = '';
			NOIX.get( 'como_conheceu_mais' ).value = 'Informe qual';

			NOIX.get( 'como_conheceu_mais' ).on( 'focus', function(){
				if( this.value == 'Informe qual' ){
					this.value = '';
				}
			} )
		}
		else{
			NOIX.get( 'conheceu_div' ).style.display = "none";
			NOIX.get( 'como_conheceu_mais' ).disabled = 'disabled';
		}
	}
	
}

