$(document).ready(function(){
    var v = {};
        v.input = $("#news-to-mail input[type='text']");
        v.result = $("#newsletter-ajax-result");
        v.result.hide();
        
    function resetResult(immediately, delay) {
        if (immediately) {
            $("#newsletter-ajax-result").html('').fadeOut();
        } else {
            setTimeout("$('#newsletter-ajax-result').fadeOut('fast', function(){ $(this).html(''); });", delay);
        }
        
        return;
    }
    
    $("#news-to-mail").submit(function(){
        if (v.input.val() == '') {
            v.result.html('<p class="error-paragraph">Musíte vyplnit emailovou adresu!</p>').fadeIn();
            resetResult(false, 2500);
            
            return false;
        } else {
            v.result.html("<img src='/image/ajax/loader/newsletter.gif' width='16' height='11' />").show();
            $.ajax({
                url: "/ajax/validator/email/?s=" + v.input.val(),
                method: "GET",
                dataType: "json",
                complete: function(){
                    resetResult(true);
                },
                success: function(json){
                    if (json.status) {
                        $.ajax({
                            url: "/ajax/action/add-to-newsletter/?email=" + v.input.val(), 
                            method: "GET",
                            dataType: "json",
                            success: function(json){
                                if (json.result) {
                                    v.result.html('<p class="success-paragraph">Email byl úspěšně přidán</p>').fadeIn();
                                } else {
                                    v.result.html('<p class="error-paragraph">'+ json.errors +'</p>').fadeIn();
                                }
                            }
                        });
                    } else {
                        v.result.html('<p class="error-paragraph">Zadali jste neplatnou emailovou adresu!</p>').fadeIn();
                    }
                    
                    window.location = "#newsletter-ajax-result";
                    resetResult(false, 5000);
                }
            });
            
            return false;
        }
    });
})
