function printfire()
{
	 if (document.createEvent)
	 {
		  printfire.args = arguments;
		  var ev = document.createEvent("Events");
		  ev.initEvent("printfire", false, true);
		  dispatchEvent(ev);
	 }
}

dp.sh.IsRegisteredAlias = function(alias)
{
	// register all brushes
	for(var brush in dp.sh.Brushes)
	{
		var aliases = dp.sh.Brushes[brush].Aliases;

		if(aliases == null)
			continue;

		for(var i = 0; i < aliases.length; i++)

			if(aliases[i] == alias) return true;
	}

	return false;
}

window.onload=function()
{
	var elements = document.getElementsByTagName('PRE');
	var textareas = [];

	for(var i=0; i<elements.length; i++)
	{
		var element = elements[i];
		var childElement = elements[i].childNodes[0];;

		if(childElement.nodeName != 'CODE') continue;

		// create a textarea for the actual syntax highlighter to use
		var textarea = document.createElement('textarea');

		for(var u=0; u<childElement.childNodes.length; u++)
		{
			var node = childElement.childNodes[u];
			textarea.appendChild(node.cloneNode(false));
		}

		// hide the original element
		element.style.display = 'none';
		textarea.name = 'code';
		textarea.className = 'basic';

		if(dp.SyntaxHighlighter.IsRegisteredAlias(childElement.className)) {
			textarea.className = childElement.className;
		}

		element.parentNode.insertBefore(textarea, element);

		textareas.push(textarea);
	}

	dp.SyntaxHighlighter.HighlightAll('code');

	// remove the temporary text area elements
	for(var u=0; u<textareas.length; u++)
	{
		textareas[u].parentNode.removeChild(textareas[u]);
	}
}
