/***********************************************************************/

function print_code(id, print)
{
	if (document.getElementById(id))
	{
		var input = document.getElementById(id).innerHTML.split('\n');
		var code = new Array();
		var count = 0;
		var xcount = 0;

		while (count < input.length)
		{
			code[xcount] = input[count].replace(/(\<span.+?class=\"?code .+?\"?\>.+?)?\<pre.+?class=\"?code .+?\"?\/?\>/ig, '');
			if (navigator.userAgent.indexOf('MSIE') != -1)
			{
				code[xcount] = code[xcount].replace(/\<\/pre\>/ig, '\n');
			}
			else
			{
				code[xcount] = code[xcount].replace(/\<\/pre\>/ig, '');
			}

			xcount++;
			count++;
		}

		var doc = window.open('', 'code_print', 'resizable,height=400,width=500,scrollbars=yes');
		var newdoc = doc.document;

		newdoc.open('text/html');
		newdoc.write('<pre>'+code.join('\n')+'</pre>');
		newdoc.close();

		if (print)
		{
			if (navigator.userAgent.indexOf('Opera') != -1)
			{
				window.print();
			}
			else
			{
				doc.print();
			}
			doc.close();
		}
	}
}

/***********************************************************************/

function code_unparse(code)
{
	var find = new Array(/&amp;/g, /&#38;/g, /&quot;/g, /&#039;/g, /&lt;/g, /&#60;/g, /&gt;/g, /&#62;/g);
	var repl = new Array('&', '&', '"', '\'', '<', '<', '>', '>');
	var count = 0;

	while (count < find.length)
	{
		code = code.replace(find[count], repl[count]);
		count++;
	}
	return code;
}

/***********************************************************************/

