jQuery.json = { callbacks: {} };

jQuery.fn.json = function( url, callback ) {
		var _$_ = this;
		load( url.replace( /{callback}/, name(callback) ) );
		return this;

		function name( callback ) {
				var id = (new Date).getTime();
				var name = 'json_' + id;

				var cb = $.json.callbacks[id] = function( json ) {
						delete $.json.callbacks[id];
						eval( 'delete ' + name );
						_$_.each( function() { callback(json); } );
				};

				eval( name + ' = cb' );
				return name;
		}

		function load( url ) {
				var script = document.createElement( 'script' );
				script.type = 'text/javascript';
				script.src = url;
				$('head',document).append( script );
		}
};
