This is my method of toggling the editor in and out of existence.
function show_old()
{
var allFrameAreas = document.getElementsByTagName("iframe");
oEditor = FCKeditorAPI.GetInstance('mesfsage') ;
document.getElementById("bbcode_panel").style.display="block";
document.getElementById("showpanel").style.display="none";
document.getElementById("showhtml").style.display="block";
document.getElementById("mesfsage").style.display="block";
document.getElementById("mesfsage").value = oEditor.GetHTML(false);
oEditor.EditorWindow.parent.FCKTools.RemoveEventListener( oEditor.GetParentForm(), 'submit', oEditor.UpdateLinkedField ) ;
for (var i=0; i < allFrameAreas.length; i++) {
if ( allFrameAreas[i].parentNode.id == "postholder")
{
allFrameAreas[i].style.display="none";
}
}
}
function show_new()
{
var allFrameAreas = document.getElementsByTagName("iframe");
oEditor = FCKeditorAPI.GetInstance('mesfsage') ;
document.getElementById("bbcode_panel").style.display="none";
document.getElementById("showpanel").style.display="block";
document.getElementById("showhtml").style.display="none";
document.getElementById("mesfsage").style.display="block";
replaceTextArea();
}
Notably whilst it does seem to work, all I do is to crudely hide the editor and them create a new one. But it is the best solution I have so far.
Note that a div is needed as parent of the text editor which I have given an id of postholder so I know which frames to hide.
function show_old()
{
var allFrameAreas = document.getElementsByTagName("iframe");
oEditor = FCKeditorAPI.GetInstance('mesfsage') ;
document.getElementById("bbcode_panel").style.display="block";
document.getElementById("showpanel").style.display="none";
document.getElementById("showhtml").style.display="block";
document.getElementById("mesfsage").style.display="block";
document.getElementById("mesfsage").value = oEditor.GetHTML(false);
oEditor.EditorWindow.parent.FCKTools.RemoveEventListener( oEditor.GetParentForm(), 'submit', oEditor.UpdateLinkedField ) ;
for (var i=0; i < allFrameAreas.length; i++) {
if ( allFrameAreas[i].parentNode.id == "postholder")
{
allFrameAreas[i].style.display="none";
}
}
}
function show_new()
{
var allFrameAreas = document.getElementsByTagName("iframe");
oEditor = FCKeditorAPI.GetInstance('mesfsage') ;
document.getElementById("bbcode_panel").style.display="none";
document.getElementById("showpanel").style.display="block";
document.getElementById("showhtml").style.display="none";
document.getElementById("mesfsage").style.display="block";
replaceTextArea();
}
Notably whilst it does seem to work, all I do is to crudely hide the editor and them create a new one. But it is the best solution I have so far.
Note that a div is needed as parent of the text editor which I have given an id of postholder so I know which frames to hide.
RE: Toggling the editor