code: function () {
  
  		var chart = this,
  			container = chart.container,
  			origDisplay = [],
  			origParent = container.parentNode,
  			body = doc.body,
  			childNodes = body.childNodes;
  
  		if (chart.isPrinting) { // block the button while in printing mode
  			return;
  		}
  
  		chart.isPrinting = true;
  
  		fireEvent(chart, 'beforePrint');
  
  		// hide all body content
  		each(childNodes, function (node, i) {
  			if (node.nodeType === 1) {
  				origDisplay[i] = node.style.display;
  				node.style.display = NONE;
  			}
  		});
  
  		// pull out the chart
  		body.appendChild(container);
  
  		// print
  		win.focus(); // #1510
  		win.print();
  
  		// allow the browser to prepare before reverting
  		setTimeout(function () {
  
  			// put the chart back in
  			origParent.appendChild(container);
  
  			// restore all body content
  			each(childNodes, function (node, i) {
  				if (node.nodeType === 1) {
  					node.style.display = origDisplay[i];
  				}
  			});
  
  			chart.isPrinting = false;
  
  			fireEvent(chart, 'afterPrint');
  
  		}, 1000);
  
  	}
docs: Print the chart