$(document).ready(function() {
    $('#cnpj').mask('99.999.999/9999-99');
    $('#telefone').mask('(99)9999-9999');
    $('#fundacao').mask('99/99/9999');
    $('#cep').mask('99999-999');
    
    $('a[rel*=facebox]').facebox({
        loadingImage : '/images/loading.gif',
        closeImage   : '/images/closelabel.png'
    });
    
    $('div.conteudo_banner').flash({
        src: '/flash/banner2.swf',
        width: 980,
        height: 300,
        wmode: 'transparent'
    });

    $('#cep').blur(function(){
        var url = '/tools/endereco';
        var data = 'data[Busca][cep]=' + $(this).val();
        var $img = $(this).parent().find('img:first');

        $img.show();

        $.ajax({
            url: url,
            type: 'POST',
            cache: false,
            data: data,
            success: function(xml) {
                var tipo = $(xml).find('tipo').attr('tipo_logradouro');
                var logradouro = $(xml).find('logradouro').attr('logradouro');
                var bairro = $(xml).find('bairro').attr('bairro');
                var cidade = $(xml).find('localidade').attr('localidade');
                var estado = $(xml).find('uf').attr('uf');

                $('#endereco').val(tipo + ' ' + logradouro);
                $('#bairro').val(bairro);
                $('#cidade').val(cidade);
                $('#estado').val(estado);

                $img.hide();
                $('#numero').focus();
            }
        });
    });

    $('#dominio').focus(function(){
        $(this).val('');
        $('#salvar').hide();
    });

    $('#disponibilidade').click(function() {
        var url = '/tools/disponibilidade';
        var data = 'data[Busca][dominio]=' + $('#dominio').val();
        var $img = $(this).parent().find('img:first');

        $img.show();

        $.ajax({
            url: url,
            type: 'POST',
            cache: false,
            data: data,
            success: function(xml) {
                var resultado = $(xml).find('result');
                var mensagem = (resultado) ? resultado.attr('mensagem') : false;
                var status = (resultado) ? resultado.attr('status') * 1 : false;

                if(status) {
                    $('#salvar').show();
                }else{
                    alert(mensagem);
                    $('#salvar').hide();
                }
                
                $img.hide();
            }
        });
    });
    
    $('#form-contato').live('submit', function() {
        var url = $(this).attr('action');
        var data = $(this).serialize();
        
        $.ajax({
            url: url,
            type: 'POST',
            cache: false,
            data: data,
            complete: function() {
                $(document).trigger('close.facebox');
                alert('Mensagem enviada com sucesso!');
            }
        });
        
        return false;
    });
    
    $('#form-newsletter').live('submit', function(){
        var url = $(this).attr('action');
        var data = $(this).serialize();
        
        $.ajax({
            url: url,
            type: 'POST',
            cache: false,
            data: data,
            complete: function() {
                alert('Cadastro efetuado com sucesso!');
            }
        });
        
        return false;
    });

    $('#form-assine').validate({
        rules: {
            'data[Empresa][responsavel]': {
                required: true
            },
            'data[Empresa][email]': {
                required: true,
                email:true
            },
            'data[Empresa][razao_social]': {
                required: true
            },
            'data[Empresa][cnpj]': {
                required: true
            },
            'data[Empresa][telefone]': {
                required: true
            },
            'data[Empresa][embratur]': {
                required: true
            },
            'data[Empresa][nome_fantasia]': {
                required: true
            },
            'data[Empresa][fundacao]': {
                required: true
            },
            'data[Empresa][funcionarios]': {
                required: true
            },
            'data[Empresa][cep]': {
                required: true
            },
            'data[Empresa][numero]': {
                required: true
            },
            'data[Empresa][dominio]': {
                required: true
            },
            'data[Usuario][email]': {
                required: true,
                email: true
            },
            'data[Usuario][senha]': {
                required: true,
                maxlength: 8,
                minlength: 6
            },
            'confirmacao': {
                required: true,
                maxlength: 8,
                minlength: 6,
                equalTo: '#senha'
            }
        },
        messages: {
            'data[Empresa][responsavel]': {
                required: 'Precisa informar o nome do responsável.'
            },
            'data[Empresa][email]': {
                required: 'Precisa informar o e-mail do responsável.',
                email: 'Precisa informar um e-mail válido.'
            },
            'data[Empresa][razao_social]': {
                required: 'Precisa informar a razão social.'
            },
            'data[Empresa][cnpj]': {
                required: 'Precisa informar um cnpj válido.'
            },
            'data[Empresa][telefone]': {
                required: 'Precisa informar um telefone.'
            },
            'data[Empresa][embratur]': {
                required: 'Precisa informar o registro na Embratur.'
            },
            'data[Empresa][nome_fantasia]': {
                required: 'Precisa informar o nome fantasia.'
            },
            'data[Empresa][fundacao]': {
                required: 'Precisa informar a data de fundação.'
            },
            'data[Empresa][funcionarios]': {
                required: 'Precisa informar a quantidade de funcionários.'
            },
            'data[Empresa][cep]': {
                required: 'Precisa informar o cep.'
            },
            'data[Empresa][numero]': {
                required: 'Precisa informar o número do endereço.'
            },
            'data[Empresa][dominio]': {
                required: 'Precisa escolher um domínio.'
            },
            'data[Usuario][email]': {
                required: 'Precisa escolher um e-mail para o usuário administrador.',
                email: 'Precisa informar um e-mail váido.'
            },
            'data[Usuario][senha]': {
                required: 'Precisa escolher uma senha para o usuário administrador.',
                maxlength: 'Máximo de 8 caracteres.',
                minlength: 'Mínimo de 6 caracteres.'
            },
            'confirmacao': {
                required: 'Precisa confirmar a senha do usuário.',
                maxlength: 'Máximo de 8 caracteres.',
                minlength: 'Mínimo de 6 caracteres.',
                equalTo: 'Senha e confirmação não coincidem.'
            }
        }
    });
});
