	function updatePreview(text) {
		
		var tmp_text = text;

		search = new Array(
				  /xD/gi,
				  /:D/gi,
				  /8D/gi,
				  /:\(/gi,
				  /:\)/gi,
				  /:o/gi,
				  /:p/gi,
				  /:3/gi,
				  /:-\)/gi,
				  /:-\(/gi,
				  /:-D/gi,
				  /x-D/gi,
				  /8-D/gi,
				  /:-p/gi,
				  /:-3/gi,
				  /:-o/gi,
				  /;-\)/gi,
				  /;\)/gi,
				  /\[img\](.*?)=\1\[\/img\]/gi,
				  /\[url=([\w]+?:\/\/[^ \\"\n\r\t<]*?)\](.*?)\[\/url\]/gi,
				  /\[url\]((www|ftp|)\.[^ \\"\n\r\t<]*?)\[\/url\]/gi,
				  /\[url=((www|ftp|)\.[^ \\"\n\r\t<]*?)\](.*?)\[\/url\]/gi,
				  /\[email\](([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)?[\w]+))\[\/email\]/gi,
				  /\[b\](.*?)\[\/b\]/gi,
				  /\[i\](.*?)\[\/i\]/gi,
				  /\[u\](.*?)\[\/u\]/gi,
				  /\[quote\](.*?)\[\/quote\]/gi,
				  /\[center\](.*?)\[\/center\]/gi,
				  /\[color=(.*?)\](.*?)\[\/color\]/gi,
				  /\[url\](http:\/\/[^ \\"\n\r\t<]*?)\[\/url\]/gi);

		replace = new Array(
				  '<img src="images/smilies/evilgrin.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/grin.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/happygrin.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/sad.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/smile.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/surprised.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/tongue.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/waiii.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/smile.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/sad.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/grin.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/evilgrin.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/happygrin.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/tongue.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/waiii.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/surprised.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/wink.png" align="absmiddle" border="0" />',
				  '<img src="images/smilies/wink.png" align="absmiddle" border="0" />',
				  "<img src=\"$1\" alt=\"An image\">",
				  "<a href=\"$1\" target=\"blank\">$2</a>",
				  "<a href=\"http://$1\" target=\"blank\">$1</a>",
				  "<a href=\"$1\" target=\"blank\">$1</a>",
				  "<a href=\"mailto:$1\">$1</a>",
				  "<b>$1</b>",
				  "<em>$1</em>",
				  "<u>$1</u>",
				  "<div style='margin-left: 10px; padding-left: 5px; border: 1px solid #000000; background-color: #ffffcc; width: 90%; text-align: left; position: relative;'>$1</div>",
				  "<center>$1</center>",
				  "<span style='color: $1;'>$2</span>",
				  "<a href=\"$1\" target=\"blank\">$1</a>");

		for(i = 0; i < search.length; i++) {
			 tmp_text = tmp_text.replace(search[i],replace[i]);
		}

		tmp_text = tmp_text.replace(/([^>])\n/g, '$1<br />\r\n');
		return tmp_text;

	}
	
    function clearStatusMsg($obj) {
        if($('div#statusMsg').html() != "") {
            $('div#statusMsg').html('');
        }
    }
    function ajaxDeleteMessage(id) {
        $('img#loading').show();
        $.ajax({
            type: "POST", 
            url: "includes/ajax/deleteMessage.php",
            data: "action=delete&id=" + id,
            success: function(msg) { 
                if(msg.indexOf("failed") == -1) {
                    $('div#msg_' + id).remove();
                    $('div#statusMsg').html(msg); 
                    $('img#loading').hide(); 
                    t = setTimeout("clearStatusMsg()", 5000);
                } else {
                    $('div#statusMsg').html(msg);
                    $('img#loading').hide(); 
                    t = setTimeout("clearStatusMsg()", 5000);
                }
            }
        });
    }
    function init() {
        $(".edit").editable("includes/ajax/deleteMessage.php", {
             type      : 'textarea', //Give it a field type, text in my case but you can use textarea
             cancel    : 'Stop', //the label for the cancel button
             submit    : 'Opslaan', //the label for the submit button
             indicator : "Loading...", //the loading indicator. Yes and image can be used just put <img src="/path/to/img/" />
             tooltip   : 'Klik om te bewerken..', //the message to show if you hover over for a second
             onblur    : 'ignore', //what do to if you click outside of the editable field after making something editable
             width     : '300px', //the width of the text field
             height    : '100px', //the height of the text field. (required or the tabel goes strange)
             callback  : function(value, settings) { 
                if(value.indexOf("|") != -1) {
                    splitValue = value.split("|");
                    $('div#statusMsg').html(splitValue[1]);
                    $(this).html(splitValue[0]);
                }
                $('.edit').removeClass("editable");
                t = setTimeout("clearStatusMsg()", 5000);
            }
        }).mouseover(function() { 
            $(this).addClass('editable');
        }).mouseout(function() { 
            $(this).removeClass('editable');
        });
    }        