/**
 * 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, html) {
			$("#" + id).fadeTo("fast", 0.3, function () {
				$(this).html(html).fadeTo("fast",1, function(){
					live();
				});
			});
		},

		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]);
				}
			}
		}
		
	}
});

jQuery.ajaxSetup({
	success: jQuery.nette.success,
	dataType: "json"
});



/**
 * AJAX form plugin for jQuery
 *
 * @copyright  Copyright (c) 2009 Jan Marek
 * @license    MIT
 * @link       http://nettephp.com/cs/extras/ajax-form
 * @version    0.1
 */

//// po načtení stránky
//$(function () {
//        // odeslání na formulářích
//        $("form.ajax").submit(function () {
//                $(this).ajaxSubmit();
//                return false;
//        });
//
//        // odeslání pomocí tlačítek
//        $("form.ajax :submit").click(function () {
//                $(this).ajaxSubmit();
//                return false;
//        });
//});

//$(function () {
//    // vhodně nastylovaný div vložím po načtení stránky
//    $('<div id="ajax-spinner"></div>').appendTo("body").ajaxStop(function () {
//        // a při události ajaxStop spinner schovám a nastavím mu původní pozici
//        $(this).hide().css({
//            position: "fixed",
//            left: "50%",
//            top: "50%"
//        });
//    }).hide();
//});

$("a.ajax").live("click", function (event) {
    event.preventDefault();
	$.get(this.href);

	// zobrazení spinneru a nastavení jeho pozice
    $("#ajax-spinner").show().css({
        position: "absolute",
        left: event.pageX + 20,
        top: event.pageY + 40
    });
});

