//function to initialize tiny mce.  This should be used by both the "new" pages using the
//include and TinyMCEEmailForm.
//call this inside $(document).ready.
//e.g., $(document).ready(function { initTinyMCE('/path/to/css'); });
//tinymce is a DOM reference to the textarea
//cssUrl is the url to the css file.
var rmEditorRef;
function initTinyMCE(tinymce, cssUrl) {
	initTinyMCE(tinymce, cssUrl, false);
}

function initTinyMCE(tinymce, cssUrl, readonly) {
	tinymce.tinymce({
		// Location of TinyMCE script
		script_url : '../resources/tiny_mce_jquery/tiny_mce.js',
		// General options
		theme : "advanced",
		plugins : "safari,pagebreak,table,advlink,iespell,inlinepopups,media,searchreplace,print,contextmenu,paste,fullscreen",
		theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,undo,redo,|,help, search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,forecolor,backcolor,|,sub,sup",
		theme_advanced_buttons3 : "link,unlink,anchor,image,cleanup,code,|,hr,removeformat,visualaid,|,iespell,media,|,print,|,fullscreen,|,tablecontrols",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : false,
		theme_advanced_source_editor_wrap : true,
		content_css : cssUrl,
	    forced_root_block : false,
	    force_br_newlines : true,
	    force_p_newlines : false,

		// Drop lists for link/image/media/template dialogs
		template_external_list_url : "lists/template_list.js",
		external_link_list_url : "lists/link_list.js",
		external_image_list_url : "lists/image_list.js",
		media_external_list_url : "lists/media_list.js",
		urlconverter_callback : "myCustomURLConverter",
		convert_urls : false,
		readonly: readonly,
		
		// Events
		setup : function(ed) {
		  // Note, onActivate should, but doesn't work. It never fires. Whoever figures out why first, wins.
	      ed.onActivate.add(function(ed) {
	          if(typeof tinyMCEOnFocusCallback == 'function') {
	        	  tinyMCEOnFocusCallback(ed);
	          }
	      });
	      // Fired anytime the user clicks in the editor.
	      ed.onClick.add(function(ed, e) {
	          if(typeof tinyMCEOnClickCallback == 'function') {
	        	  tinyMCEOnClickCallback(ed);
	          }
	      });
		}

	});
	rmEditorRef = tinymce;
	//alert(rmEditorRef);
	//alert(rmEditorRef.tinymce);
	//alert(rmEditorRef.tinymce());
}

function myCustomURLConverter(url, node, on_save) {
    // Call built in logic
    //url = rmEditorRef.tinymce().convertURL(url, node, on_save);
    // Call our page specific logic if it exists
	if(typeof tinyMCEURLConverterCallback == 'function') {
		url = tinyMCEURLConverterCallback(url, node, on_save);
	}
	return url;
}
