/**
 * AJAX Nette Framework plugin for jQuery
 *
 */

jQuery.extend({
    nette: {
        updateSnippet: function (id, html) {
            // prolínací efekt při updatu snippetu
            $("#" + id).fadeTo("fast", 0.3, function () {
                $(this).html(html).fadeTo("fast", 1);
                $.nette.registerAfterUpdate();
            });
        },

        success: function (payload) {
            // redirect
            if (payload.redirect) {
                window.location.href = payload.redirect;
                return;
            }

            // snippets
            if (payload.snippets) {
                for (var i in payload.snippets) {
                    jQuery.nette.updateSnippet(i, payload.snippets[i]);
                }
            }
        },

        registerAfterUpdate: function() { }
    }
});



jQuery.ajaxSetup({
    success: jQuery.nette.success,
    dataType: "json",
    error: jQuery.nette.error
});



$("a[href].ajax").livequery("click",function(e){
    e.preventDefault();
    $.get($(this).attr("href"));
})



// ajax spinner
$(function () {
    $('<div id="ajax-spinner"></div>').hide().ajaxStart(function () {
        $(this).show();
    }).ajaxStop(function () {
        $(this).hide();
    }).appendTo("body");
});

