/**
 * 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).html(html);
		},

		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"
});

jQuery.nette.updateSnippet = function (id, html) {
    $("#" + id).fadeTo("fast", 0.01, function () {
        $(this).html(html).fadeTo("fast", 1);
    });
};

$(document).ready(function(){
    
    $("a.ajax").live("click", function (event) {
        event.preventDefault();
        $.get(this.href);
    });

    $("form.ajax").live("submit",function () {
        $(this).ajaxSubmit();
        return false;
    });

    $("form.ajax :submit").live("click",function () {
        $(this).ajaxSubmit();
        return false;
    });        
});

$(document).mousedown(function(event) {
   $('#spinner').css("left",event.pageX);
   $('#spinner').css("top",event.pageY);
});

$(document).ajaxStart(function() {
   $('#spinner').show();
});

$(document).ajaxStop(function() {
    $('#spinner').hide();
});    

