var htmlInicialPreco = '';
var htmlInicialCalculando = '';
var ajaxPrecoRodando = false;
var timedCalculando = false;

function atualizaPrecos() {

    uf = $('#estado').val();
    tipo = $('#tipo_da_placa').val();
    comprimento = parseInt($('#comprimento').val());
    largura = parseInt($('#largura').val());

    if (!htmlInicialPreco) htmlInicialPreco = $('.precoContainer').html();
    if (!htmlInicialCalculando) htmlInicialCalculando = $('.precoCalculando').html();

    if (tipo && comprimento && largura)
    {
        valores = $('form').serialize();

        $('.precoCalculando').html(htmlInicialCalculando).slideDown(function() {
            timedCalculando = setTimeout(function(){
                $('.precoCalculando').html('Contatando site dos correios. Isso pode levar alguns segundos...');
            }, 7000);
        });

        $('.precoContainer').slideUp();

        if (ajaxPrecoRodando)
            ajaxPrecoRodando.abort();

        ajaxPrecoRodando = $.get('calculaPreco.php?' + valores, null, function(data) {
            clearTimeout(timedCalculando);
            $('.precoCalculando').slideUp();
            $('.precoContainer').html(data).slideDown();
        }, "html");

    } else {
        if ($('.precoContainer').html() != htmlInicialPreco)
            $('.precoContainer').slideUp('normal', function(){
                $(this).html(htmlInicialPreco).slideDown();
            });
    }
}

$(document).ready(function(){

    $('#estado').change(atualizaPrecos);
    $('#tipo_da_placa').change(atualizaPrecos);
    $('#comprimento').change(atualizaPrecos);
    $('#largura').change(atualizaPrecos);
    atualizaPrecos();

});
