(function($){

  $.widget = $.widget || {};

  $.fn.widget = function(options, callback)
  {
    return this.each(function(){
      new $.widget.init(this, options, callback);
    });
  }
  
  $.widget.init = function(el, options, callback)
  {
    var $widget = $(el).loader();

    var options = $.extend($.maplage.defaults.widget, options);
    
    var timeOut = setTimeout(
      function()
      {
        $.ajax({
          url:      $widget.attr("rel"),
          timeout:  19000,
          success:  function(data) {
            $widget.html(data);
            Util._fn(callback)();
          },
          error:    function(data) {
            $widget.html("Impossible de charger "+options.url);
          }
        });
      },
      options.delay
    );
  }
  
})(jQuery);