function print_r(element, limit, depth)
{
	depth =	depth?depth:0;
	limit = limit?limit:1;

	returnString = '<ol>';

	for(property in element)
	{
		//Property domConfig isn't accessable
		if (property != 'domConfig')
		{
			returnString += '<li><strong>'+ property + '</strong> <small>(' + (typeof element[property]) +')</small>';

			if (typeof element[property] == 'number' || typeof element[property] == 'boolean')
				returnString += ' : <em>' + element[property] + '</em>';
			if (typeof element[property] == 'string' && element[property])
				returnString += ': <div style="background:#C9C9C9;border:1px solid black; overflow:auto;"><code>' +
									element[property].replace(/</g, '&amp;lt;').replace(/>/g, '&amp;gt;') + '</code></div>';

			if ((typeof element[property] == 'object') && (depth < limit))
				returnString += print_r(element[property], limit, (depth + 1));

			returnString += '</li>';
		}
	}
	returnString += '</ol>';

	if(depth == 0)
	{
		//winpop = window.open("", "","width=800,height=600,scrollbars,resizable");
		//winpop.document.write('<pre>'+returnString+ '</pre>');
		//winpop.document.close();
		document.write('<pre>'+returnString+ '</pre>');
	}

	return returnString;
}

function centerThis(obj)
{
	var browser = jQuery.browser.version;
	/* ie6 */
	if(browser == "6.0") var addTop = document.body.scrollTop;
	else var addTop = 0;

    var winH = $(window).height();
    var winW = $(window).width();
    var centerObj = $('#' + obj);
    centerObj.css('top', winH/2-centerObj.height()/2+addTop);
    centerObj.css('left', winW/2-centerObj.width()/2);
}