docs: function destroy() {
  		var i,
  			parentNode = container && container.parentNode;
  
  		// If the chart is destroyed already, do nothing.
  		// This will happen if if a script invokes chart.destroy and
  		// then it will be called again on win.unload
  		if (chart === null) {
  			return;
  		}
  
  		// fire the chart.destoy event
  		fireEvent(chart, 'destroy');
  
  		// remove events
  		// PATCH by Simon Fishel
          //
          // use event namespacing to avoid creating a circular reference
          // TODO: would be better to not rely on jQuery's event namespacing here
          //       since this code is no longer agnostic to the event library
          //
          // - removeEvent(win, 'unload', destroy);
          //
          // + removeEvent(win, '.' + containerId);
          
          removeEvent(win, '.' + containerId);
          
  		removeEvent(chart);
  
  		// ==== Destroy collections:
  		// Destroy axes
  		i = axes.length;
  		while (i--) {
  			axes[i] = axes[i].destroy();
  		}
  
  		// Destroy each series
  		i = series.length;
  		while (i--) {
  			series[i] = series[i].destroy();
  		}
  
  		// ==== Destroy chart properties:
  		each(['title', 'subtitle', 'seriesGroup', 'clipRect', 'credits', 'tracker'], function (name) {
  			var prop = chart[name];
  
  			if (prop) {
  				chart[name] = prop.destroy();
  			}
  		});
  
  		// ==== Destroy local variables:
  		each([chartBackground, legend, tooltip, renderer, tracker], function (obj) {
  			if (obj && obj.destroy) {
  				obj.destroy();
  			}
  		});
  		chartBackground = legend = tooltip = renderer = tracker = null;
  
  		// remove container and all SVG
  		if (container) { // can break in IE when destroyed before finished loading
  			container.innerHTML = '';
  			removeEvent(container);
  			if (parentNode) {
  				parentNode.removeChild(container);
  			}
  
  			// IE6 leak
  			container = null;
  		}
  
  		// memory and CPU leak
  		clearInterval(tooltipInterval);
  
  		// clean it all up
  		for (i in chart) {
  			delete chart[i];
  		}
  
  		chart = null;
  	}