/**
 * AJAX Nette Framwork plugin for jQuery
 *
 * @copyright   Copyright (c) 2009 Jan Marek
 * @license     MIT
 * @link        http://nettephp.com/cs/extras/jquery-ajax
 * @version     0.2
 */

jQuery.extend({
	nette: {
        updateSnippet: function (id, data, afterLoad) {
                    $("#" + id).fadeOut("fast", function () {
                        $(this).html(data).fadeIn("fast", function() {
                            jQuery.nette.afterLoad(afterLoad)
                            });
                    });
        },
		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], payload.afterLoad);
				}
			}
		},
        afterLoad: function (functions) {
            if (!functions)
                return;

            if (functions.scrollDown) {
                window.scrollBy(0,50000);
            }
            if (functions.focus) {
                $("#" + functions.focus).focus();
            }
        }

    }
});

jQuery.ajaxSetup({
	success: jQuery.nette.success,
	dataType: "json"
});

//make links with class ajax really using ajax!
$(function () {
        $("a.ajax").live("click", function () {
                return !nette.action(this);
        });
});

