/**
 *
 */
function xmlToHtml(string)
{
	string = striptags(string);
	string = string.replace(/\[image="([^"]*)"\]/gi, '<img src="$1" />');
	string = string.replace(/\[color="([^"]*)"\]/gi, '<span style="color:$1">');
	string = string.replace(/\[\/color\]/gi, '</span>');
	string = string.replace(/\[(\/?)(BR|B|I|U|P)\]/gi, '<$1$2>');
	return string;
}

/**
 *
 */
function htmlToXml(string)
{
	string = string.replace(/<img([^>]*)src="([^\"]*)"([^>]*)>/gi, '[image="$2"]');
	string = string.replace(/<(\/?)(BR|B|I|U|P)(\s[^>]*)?>/gi, '[$1$2]');
	string = string.replace(/(\[\/p\])([\n\s\t\r]*)(\[p\])/gi, '[br]');
	string = string.replace(/(\[\/?p\])+/gi, '');
	string = string.replace(/(\[br\]|\n)+/gi, '[br]');
	string = string.replace(/^(\[(br)\]|[\s\n\t\r])+/i, '');
	string = string.replace(/(\[(br)\]|[\s\n\t\r])+$/i, '');
	return htmlspecialchars(trim(striptags(string)));
}

/**
 *
 */
function trim(string)
{
	string = string.replace(/&nbsp;/g, ' ');
	string = string.replace(/^[\s\n\r\t]+/, '');
	string = string.replace(/[\s\n\r\t]+$/, '');
	return string;
}

/**
 *
 */
function striptags(string)
{
	string = string.replace(/<([^>]*)>/gi, '');
	return string;
}

/**
 *
 */
function htmlspecialchars(string)
{
	string = string.replace(/</g, '&lt;');
	string = string.replace(/>/g, '&gt;');
	//string = string.replace(/\"/g, '&quot;');
	string = string.replace(/\&/g, '&amp;');
	return string;
}
