function initTinyMce(userOptions) {
	var options = {

		mode: "textareas",
		theme: "advanced",
		doctype: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">",

		plugins : "promote,video,filebrowser,textzone,safari,pagebreak,style,layer,table,advimage,advlink,emotions,insertdatetime,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups",

	    // Theme options
	    theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect,|,forecolor,backcolor",
	    theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,cleanup,help,code,|,insertdate,inserttime,",
	    theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,|,print,|,ltr,rtl,|,fullscreen",
	    theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,attribs,|,visualchars,nonbreaking,pagebreak,|,textzone,filebrowser,video,promote,",

	    theme_advanced_toolbar_location : "top",
	    theme_advanced_toolbar_align : "left",
	    theme_advanced_statusbar_location : "bottom",
	    theme_advanced_resizing : false,//TODO: enable this, but see if we can't get the modal to resize along.
        theme_advanced_resizing_use_cookie : false,
		
        convert_urls : false,

		verify_html : true,
		valid_elements : ""
		+"a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name"
		  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev"
		  +"|shape<circle?default?poly?rect|style|tabindex|title|target|type],"
		+"abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase"
		  +"|height|hspace|id|name|object|style|title|vspace|width],"
		+"area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref"
		  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup"
		  +"|shape<circle?default?poly?rect|style|tabindex|title|target],"
		+"base[href|target],"
		+"basefont[color|face|id|size],"
		+"bdo[class|dir<ltr?rtl|id|lang|style|title],"
		+"big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"blockquote[dir|style|cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
		  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
		  +"|onmouseover|onmouseup|style|title],"
		+"body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink],"
		+"br[class|clear<all?left?none?right|id|style|title],"
		+"button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur"
		  +"|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown"
		  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type"
		  +"|value],"
		+"caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
		  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
		  +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
		  +"|valign<baseline?bottom?middle?top|width],"
		+"colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl"
		  +"|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
		  +"|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title"
		  +"|valign<baseline?bottom?middle?top|width],"
		+"dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
		+"del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
		+"em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"font[class|color|dir<ltr?rtl|face|id|lang|size|style|title],"
		+"form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang"
		  +"|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit"
		  +"|style|title|target],"
		+"frame[class|frameborder|id|longdesc|marginheight|marginwidth|name"
		  +"|noresize<noresize|scrolling<auto?no?yes|src|style|title],"
		+"frameset[class|cols|id|onload|onunload|rows|style|title],"
		+"h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"head[dir<ltr?rtl|lang|profile],"
		+"hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|size|style|title|width],"
		+"html[dir<ltr?rtl|lang|version],"
		+"iframe[align<bottom?left?middle?right?top|class|frameborder|height|id"
		  +"|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style"
		  +"|title|width],"
		+"img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height"
		  +"|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|src|style|title|usemap|vspace|width],"
		+"input[accept|accesskey|align<bottom?left?middle?right?top|alt"
		  +"|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang"
		  +"|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
		  +"|readonly<readonly|size|src|style|tabindex|title"
		  +"|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text"
		  +"|usemap|value],"
		+"ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"isindex[class|dir<ltr?rtl|id|lang|prompt|style|title],"
		+"kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick"
		  +"|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
		  +"|onmouseover|onmouseup|style|title],"
		+"legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang"
		  +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type"
		  +"|value],"
		+"link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type],"
		+"map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme],"
		+"noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"noscript[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"object[align<bottom?left?middle?right?top|archive|border|class|classid"
		  +"|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name"
		  +"|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap"
		  +"|vspace|width],"
		+"ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|start|style|title|type],"
		+"optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick"
		  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
		  +"|onmouseover|onmouseup|selected<selected|style|title|value],"
		+"p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|style|title],"
		+"param[id|name|type|value|valuetype<DATA?OBJECT?REF],"
		+"pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick"
		  +"|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout"
		  +"|onmouseover|onmouseup|style|title|width],"
		+"q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
		+"samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"script[charset|defer|language|src|type],"
		+"select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name"
		  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style"
		  +"|tabindex|title],"
		+"small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"span[align|class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title],"
		+"strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"style[dir<ltr?rtl|lang|media|title|type],"
		+"sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title],"
		+"table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class"
		  +"|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules"
		  +"|style|summary|title|width],"
		+"tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id"
		  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
		  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
		  +"|valign<baseline?bottom?middle?top],"
		+"td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
		  +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
		  +"|style|title|valign<baseline?bottom?middle?top|width],"
		+"textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name"
		  +"|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect"
		  +"|readonly<readonly|rows|style|tabindex|title],"
		+"tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
		  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
		  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
		  +"|valign<baseline?bottom?middle?top],"
		+"th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class"
		  +"|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick"
		  +"|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove"
		  +"|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup"
		  +"|style|title|valign<baseline?bottom?middle?top|width],"
		+"thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id"
		  +"|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown"
		  +"|onmousemove|onmouseout|onmouseover|onmouseup|style|title"
		  +"|valign<baseline?bottom?middle?top],"
		+"title[dir<ltr?rtl|lang],"
		+"tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class"
		  +"|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title|valign<baseline?bottom?middle?top],"
		+"tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
		+"u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup"
		  +"|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
		+"ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown"
		  +"|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover"
		  +"|onmouseup|style|title|type],"
		+"var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress"
		  +"|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style"
		  +"|title]",
		cleanup_callback : "myCustomCleanup",
		entity_encoding : "named"

	}

    if(userOptions) {
        if(userOptions.auto_focus) {
            // Sets focus on an element id
            options.auto_focus = userOptions.auto_focus;
        }

        if(userOptions.content_css) {
            // Sets the css file
            options.content_css = userOptions.content_css;
        }

        if(userOptions.theme_advanced_resizing) {
            // Sets the resizing bool
            options.theme_advanced_resizing = userOptions.theme_advanced_resizing;
        }
    }

	jQuery.each(jQuery.browser, function(i) {
	    if($.browser.msie) {
		    options.theme_advanced_buttons2 = "cut,copy,paste,pastetext,pasteword,|,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,cleanup,help,code,|,insertdate,inserttime,";
	    } else if($.browser.safari) {
		    options.theme_advanced_buttons3 = "hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,|,print,|,ltr,rtl,|,fullscreen,|,styleprops,attribs,|,visualchars,nonbreaking,pagebreak,|,textzone,filebrowser,video,promote,";
		    options.theme_advanced_buttons4 = "";
	    } else if($.browser.mozilla) {
		    options.theme_advanced_buttons2 = "cut,copy,paste,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,cleanup,help,code,|,insertdate,inserttime,";
	    }
    });

	tinyMCE.init(options);

    return true;
}

function myCustomCleanup(type,value){
	var value = value + ""; //Ensure value is a string
	value = value.replace(/<(p|em|strong)(>|[^>]*>)(\s)*<\/\1>/ig,"");
	return removeHtmlComments(value);
}

function removeHtmlComments(source){
	var html = source + ""; //Ensure source is a string
	var regX = /<(?:!(?:--[\s\S]*?--\s*)?(>)\s*|(?:script|style|SCRIPT|STYLE)[\s\S]*?<\/(?:script|style|SCRIPT|STYLE)>)/g;
	return html.replace(regX, function(m,$1){return $1?'':m;});
}

function swap_class(element_id, new_class){
	document.getElementById(element_id).className = new_class;
}

//create our XmlHTTP object:
var xmlHttp;
//create and XmlHTTP Object:
function createXmlHttp() {
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	try {
		//most efficient and recent object:
		xmlHttp = new XMLHttpRequest();
	} catch(e) {
		//assume ie6 or older:
		var xmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
									   "MSXML2.XMLHTTP.5.0",
									   "MSXML2.XMLHTTP.4.0",
									   "MSXML2.XMLHTTP.3.0",
									   "MSXML2.XMLHTTP",
									   "Microsoft.XMLHTTP");
		for (var i=0; i<xmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(xmlHttpVersions[i]);
			} catch(e) {}
		}
	}
	if (xmlHttp) {
		return xmlHttp;
	} else {
		alert("Error creating XMLHttp Object.");
	}
	return false;

}

function toggleConfirmation(confirm_action, confirm_id){
	var confirmation_holder = document.getElementById("confirmation_holder");
	var last_confirmation = confirmation_holder.getAttribute("confirmation_id");
	var confirm_box = document.getElementById("confirmation_"+confirm_action+"_"+confirm_id);

	if(confirm_box.style.visibility == "visible"){
		confirm_box.style.visibility = "hidden";

	}else{
		confirm_box.style.visibility = "visible";
		if(last_confirmation != "" && last_confirmation != "confirmation_"+confirm_action+"_"+confirm_id){
			document.getElementById(last_confirmation).style.visibility = "hidden";
		}
		confirmation_holder.setAttribute("confirmation_id", "confirmation_"+confirm_action+"_"+confirm_id);
	}

	return false;
}

function swapDiv(div1, div2){
	div1 = document.getElementById(div1);
	div2 = document.getElementById(div2);

	if(div1.style.display == "none"){
		div1.style.display = "block";
		div2.style.display = "none";
	}else{
		div1.style.display = "none";
		div2.style.display = "block";
	}
	return false;
}

$(document).ready(function()
{
	$('input[charlimit], textarea[charlimit]').each(function()
	{
		var charlimit = this.getAttribute('charlimit');
		$(this).bind('blur focus mouseup keyup', function()
		{
			validateCharLimit(this, charlimit)
		});

	});
});

function validateCharLimit(field, charlimit)
{
	if($(field).val().length > charlimit){
		if($(field).next('ul').children('.charlimit').length == 0){
			$(field).after('<ul class="errors"><li class="charlimit">This field cannot be longer than ' + charlimit + ' characters.</li></ul>');
		}
	}else{
		$(field).next('ul').children('.charlimit').remove();
	}
}