 tinyMCE.init({
 mode: "textareas",
 editor_selector: "mceEditor",
 convert_urls : false,
 theme : "simple",
 theme_advanced_resizing : true,
 theme_advanced_toolbar_location : "top",
 theme_advanced_toolbar_align : "left",
 theme_advanced_path : false,
 theme_advanced_statusbar_location : "bottom",
 entity_encoding : "numeric",
 entities : "",

 plugins : "table,paste,advimage",
 theme_advanced_buttons3_add : "tablecontrols,pastetext,pasteword,selectall",

 table_styles : "Header 1=header1;Header 2=header2;Header 3=header3",
 table_cell_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Cell=tableCel1",
 table_row_styles : "Header 1=header1;Header 2=header2;Header 3=header3;Table Row=tableRow1",
 table_cell_limit : 144,
 table_row_limit : 48,
 table_col_limit : 6,

 paste_create_paragraphs : true,
 paste_create_linebreaks : false,
 paste_use_dialog : true,
 paste_auto_cleanup_on_paste : true,
 paste_convert_middot_lists : false,
 paste_unindented_list_class : "unindentedList",
 paste_convert_headers_to_strong : true,
//  paste_remove_styles : false,

    	file_browser_callback : "fileBrowserCallBack"
});

var tinyMCEmode = true;

     function getElementsByClassName(oElm, strTagName, oClassNames){
         var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
         var arrReturnElements = new Array();
         var arrRegExpClassNames = new Array();
         if(typeof oClassNames == "object"){
             for(var i=0; i<oClassNames.length; i++){
                 arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
             }
         }
         else{
             arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
         }
         var oElement;
         var bMatchesAll;
         for(var j=0; j<arrElements.length; j++){
             oElement = arrElements[j];
             bMatchesAll = true;
             for(var k=0; k<arrRegExpClassNames.length; k++){
                 if(!arrRegExpClassNames[k].test(oElement.className)){
                     bMatchesAll = false;
                     break;                      
                 }
             }
             if(bMatchesAll){
                 arrReturnElements.push(oElement);
             }
         }
         return (arrReturnElements)
     }

     function toggleEditorMode(sEditorID) {
      try {
        if(tinyMCEmode) {
            tinyMCE.removeMCEControl(tinyMCE.getEditorId(sEditorID));
            tinyMCEmode = false;
        } else {
            tinyMCE.addMCEControl(getElementsByClassName(document, "textarea", "mceEditor"), sEditorID);
            tinyMCEmode = true;
        }
      } catch(e) {
        //error handling
      }
     }
function convertWord(type, content) {
	switch (type) {
		// Gets executed before the built in logic performes it's cleanups
		case "before":
			content = content.toLowerCase(); // Some dummy logic
			break;

		// Gets executed after the built in logic performes it's cleanups
		case "after":
			content = content.toLowerCase(); // Some dummy logic
			break;
	}

	return content;
}
function fileBrowserCallBack(field_name, url, type, win) {
	// due to mcpuk bug with firefox please tiny the absolute path to the connector, something like:
	// var connector = "http://localhost/tinymcpuk/filemanager/browser.html?Connector=http://localhost/tinymcpuk/filemanager/connectors/php/connector.php";
	var connector = "/js/tinymce/jscripts/tiny_mce/filemanager/browser.html?Connector=connectors/php/connector.php";
	var enableAutoTypeSelection = true;
	
	var cType;
	tinymcpuk_field = field_name;
	tinymcpuk = win;
	
	switch (type) {
		case "image":
			cType = "Image";
			break;
		case "flash":
			cType = "Flash";
			break;
		case "file":
			cType = "File";
			break;
	}
	
	if (enableAutoTypeSelection && cType) {
		connector += "&Type=" + cType;
	}
	
	window.open(connector, "tinymcpuk", "width=600,height=400");
}