jQuery(function($){
    $.datepicker.regional['pt-BR'] = {
        closeText: 'Fechar',
        prevText: '&#x3c;Anterior',
        nextText: 'Pr&oacute;ximo&#x3e;',
        currentText: 'Hoje',
        monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
        'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
        monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
        'Jul','Ago','Set','Out','Nov','Dez'],
        dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
        dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
        dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
        weekHeader: 'Sm',
        dateFormat: 'dd/mm/yy',
        firstDay: 0,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: ''
    };
    $.datepicker.setDefaults($.datepicker.regional['pt-BR']);
});
jQuery.extend(jQuery.validator.messages, {
    required: "Campo obrigatório.",
    email: "Endereço inválido.",
    number: "Campo numérico.",
    minlength: jQuery.validator.format("Escreva pelo menos {0} caracteres."),
    rangelength: jQuery.validator.format("Campo tem de ter {0} a {1} caracteres.")
});
$(document).ready(function() {
	jQuery.validator.addMethod("notEqual", function(value, element, params) {
        return ($(element).val()!=params[0]);
    }, "Campo obrigatório.");
    $('#slider').anythingSlider({
        autoPlay : true,
        buildArrows : false,
        buildNavigation: false,
        hashTags : false,
        delay : 3000
    });
    if ($('.home').size() <=0) {
        $('.cont').jScrollPane({
            showArrows :true,
            verticalArrowPositions: 'after'
        });
    }
    $( ".date" ).datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat:'dd/mm/yy',
        constrainInput: true,
        yearRange: '-70:+0'
    });
    $('#candform').validate({
        rules : {
            ncontribuinte : {
                required : true, 
                minlength : 9, 
                number: true
            },
			'candidato-a' : {
				notEqual : '-'
			},
			regime : {
				notEqual : '-'
			},
            nome : {
                required : true
            },
			'estado-civil' : {
				notEqual : '-'
			},
			sexo : {
				notEqual : '-'
			},
			altura : {
				notEqual : '-'
			},
            peso : {
                required : true, 
                number: true, 
                rangelength: [2,4]
            },
            datanascimento : {
                required : true
            },
            bi : {
                required : true, 
                number: true
            },
            morada : {
                required : true
            },
            nacionalidade : {
                required : true
            },
            'cod-postal' : {
                required : true, 
                number: true, 
                rangelength: [4,4]
            },
            'cod-postal2' : {
                required : true, 
                number: true, 
                rangelength: [3,3]
            },
            freguesia : {
                required : true
            },
            conselho : {
                required : true
            },
            distrito : {
                required : true
            },
            telefones : {
                number : true, 
                minlength: 9,
                required: function(element) {
                    return ($('#telefones2').val().length == 0 && $('#telefones3').val().length == 0);
                }
            },
            telefones2 : {
                number : true, 
                minlength: 9
            },
            telefones3 : {
                number : true, 
                minlength: 9
            },
			habilitacoes : {
				notEqual : '-'
			},
        },
        submitHandler: function(form) {
            $("#candform button[type='submit']").attr('disabled','disabled');
            var fields = $(form).serialize();
            $.post('ajax/candidaturas.php?action=candidatar&'+fields, {}, function(data) {
                if (data == 'err') {
                    feedback("Este BI/C.C. já se encontra na base de dados.");
                    $("#candform button[type='submit']").removeAttr('disabled');
                } else {
                    feedback("A sua candidatura foi recepcionada com sucesso.\nObrigado.");
                    document.location.href= '/trabalhe-candidaturas';
                }
            });
            return false;
        } 
    });
    $('#contactForm').validate({
        rules : {
            name : {
                required : true
            },
            email : {
                required : true,
                email : true
            },
            tel : {
                number : true, 
                rangelength: [9,9],
                required: true
            },
            assunto : {
                required : true
            },
            mensagem : {
                required : true
            }
        },
        submitHandler: function(form) {
            $("#contactForm button[type='submit']").attr('disabled','disabled');
            var fields = $(form).serialize();
            $.post('ajax/contacts.php?action=send&'+fields, {}, function(data) {
                feedback("O seu email foi recepcionado com sucesso. \nObrigado.");
                document.location.href= '/';
            });
            return false;
        } 
    });
});

function isEmpty(str) {
    if (!str || str == null || str == '' || str.replace(' ','') == '') return true;
    return false;
}
function isValidEmail(str) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return reg.test(str);
}

function contactForm() {
    var nome = $('#name');
    var tel = $('#tel');
    var titular = $('#titular');
    var contacto = $('#contacto');
    var email = $('#email');
    var assunto = $('#assunto');
    var mensagem = $('#mensagem');
    if (isEmpty(nome.val())) {
        feedback('Preencha o campo: Nome');
        nome.focus();
        return;
    }
    if (isEmpty(tel.val())) {
        feedback('Preencha o campo: Número Telefone');
        tel.focus();
        return;
    }
    if (isEmpty(titular.val())) {
        feedback('Preencha o campo: Nome do Titular');
        titular.focus();
        return;
    }
    if (isEmpty(contacto.val())) {
        feedback('Preencha o campo: Número para Contacto');
        contacto.focus();
        return;
    }
    if (isEmpty(email.val())) {
        feedback('Preencha o campo: E-Mail');
        email.focus();
        return;
    }
    if (!isValidEmail(email.val())) {
        feedback('E-Mail inválido');
        email.focus();
        return;
    }
    if (isEmpty(assunto.val())) {
        feedback('Preencha o campo: Assunto');
        assunto.focus();
        return;
    }
    if (isEmpty(mensagem.val())) {
        feedback('Preencha o campo: Mensagem');
        mensagem.focus();
        return;
    }
    $.post('ajax/contacts.php', {
        action:'send',
        name : nome.val(),
        tel : tel.val(),
        titular : titular.val(),
        contacto : contacto.val(),
        email : email.val(),
        assunto : assunto.val(),
        mensagem : mensagem.val()
    }, function(data) {
        mensagem.html('');
        feedback('Enviado com sucesso!');
    });
}
function feedback(msg) {
    alert(msg);
}
