Hello,

I would like to remove the "Objects" Tab from my WYSIWYG Editor

remove the 'Objects' tab you can see in the pic

I have tried removing code, yet no success, part of the code below.

your help appreciated

WSMG Editor.JPG

PHP Code:
/***********************************************************
InnovaStudio WYSIWYG Editor 3.6
 2008, InnovaStudio (www.innovastudio.com). All rights reserved.
************************************************************/

var UA navigator.userAgent.toLowerCase();
var 
isIE = (UA.indexOf('msie') >= 0) ? true false;
var 
isNS = (UA.indexOf('mozilla') >= 0) ? true false;

/*** UTILITY OBJECT ***/
var oUtil=new InnovaEditorUtil();
function 
InnovaEditorUtil()
  {
  
/*** Localization ***/
  
this.langDir="en-US";
  try{if(
LanguageDirectory)this.langDir=LanguageDirectory;}catch(e){;}
  var 
oScripts=document.getElementsByTagName("script");
  for(var 
i=0;i<oScripts.length;i++)
    {
    var 
sSrc=oScripts[i].src.toLowerCase();
    if(
sSrc.indexOf("scripts/editor.js")!=-1this.scriptPath=oScripts[i].src.replace(/editor.js/ig,"");
    }
  
this.scriptPathLang=this.scriptPath+"language/"+this.langDir+"/";
  if(
this.langDir=="en-US")
    
document.write("<scr"+"ipt src='"+this.scriptPathLang+"editor_lang.js'></scr"+"ipt>");
  
/*** /Localization ***/

  
this.oName;this.oEditor;this.obj;
  
this.oSel;
  
this.sType;
  
this.bInside=bInside;
  
this.useSelection=true;
  
this.arrEditor=[];
  
this.onSelectionChanged=function(){return true;};
  
this.activeElement;
  
this.activeModalWin;
  
  
this.spcCharCode=[[169"&copy;"],[163"&pound;"],[174"&reg;"],[233"&eacute;"],[201"&Eacute;"],[8364,"&euro;"]];
  
this.spcChar=[];
  for(var 
i=0;i<this.spcCharCode.length;i++)
    {
    
this.spcChar[i]=[new RegExp(String.fromCharCode(this.spcCharCode[i][0]), "g"), this.spcCharCode[i][1]];
    }
  
  
this.replaceSpecialChar=function(sHTML
    {
    for(var 
i=0;i<this.spcChar.length;i++)
      {
      
sHTML=sHTML.replace(this.spcChar[i][0], this.spcChar[i][1]);
      }
    return 
sHTML;
    }
    
  }

/*** FOCUS STUFF ***/
function bInside(oElement)
  {
  while(
oElement!=null)
    {
    if(
oElement.contentEditable=="true")return true;
    
oElement=oElement.parentElement;
    }
  return 
false;
  }
function 
checkFocus()
  {
  var 
oEditor=eval("idContent"+this.oName);
  var 
oSel=oEditor.document.selection.createRange();
  var 
sType=oEditor.document.selection.type;

  if(
oSel.parentElement!=null)
    {
    if(!
bInside(oSel.parentElement()))return false;
    }
  else
    {
    if(!
bInside(oSel.item(0)))return false;
    }
  return 
true;
  }
function 
iwe_focus()
  {
  var 
oEditor=eval("idContent"+this.oName);
  
oEditor.focus()
  }

/*** EDITOR OBJECT ***/
function InnovaEditor(oName)
  {
  
this.oName=oName;
  
this.RENDER=RENDER;
  
this.init=initISEditor;
  
this.IsSecurityRestricted=false;

  
this.loadHTML=loadHTML;
  
this.putHTML=putHTML;
  
this.getHTMLBody=getHTMLBody;
  
this.getXHTMLBody=getXHTMLBody;
  
this.getHTML=getHTML;
  
this.getXHTML=getXHTML;
  
this.getTextBody=getTextBody;
  
this.initialRefresh=false;
  
this.preserveSpace=false;

  
this.bInside=bInside;
  
this.checkFocus=checkFocus;
  
this.focus=iwe_focus;
  
  
this.onKeyPress=function(){return true;};
  
  
this.styleSelectionHoverBg="#acb6bf";
  
this.styleSelectionHoverFg="white";

  
//clean
  
this.cleanEmptySpan=cleanEmptySpan;
  
this.cleanFonts=cleanFonts;
  
this.cleanTags=cleanTags;
  
this.replaceTags=replaceTags;
  
this.cleanDeprecated=cleanDeprecated;

  
this.doClean=doClean;
  
this.applySpanStyle=applySpanStyle;
  
this.applyLine=applyLine;
  
this.applyBold=applyBold;
  
this.applyItalic=applyItalic;

  
this.doOnPaste=doOnPaste;
  
this.isAfterPaste=false;

  
this.doCmd=doCmd;
  
this.applyParagraph=applyParagraph;
  
this.applyFontName=applyFontName;
  
this.applyFontSize=applyFontSize;
  
this.applyBullets=applyBullets;
  
this.applyNumbering=applyNumbering;
  
this.applyJustifyLeft=applyJustifyLeft;
  
this.applyJustifyCenter=applyJustifyCenter;
  
this.applyJustifyRight=applyJustifyRight;
  
this.applyJustifyFull=applyJustifyFull;
  
this.applyBlockDirLTR=applyBlockDirLTR;
  
this.applyBlockDirRTL=applyBlockDirRTL;
  
this.doPaste=doPaste;
  
this.doPasteText=doPasteText;
  
this.applySpan=applySpan;
  
this.makeAbsolute=makeAbsolute;
  
this.insertHTML=insertHTML;
  
this.clearAll=clearAll;
  
this.insertCustomTag=insertCustomTag;
  
this.selectParagraph=selectParagraph;
  
  
this.hide=hide;

  
this.width="620";
  
this.height="350";
  
this.publishingPath="";//ex."http://localhost/innovastudio/"

  
var oScripts=document.getElementsByTagName("script");
  for(var 
i=0;i<oScripts.length;i++)
    {
    var 
sSrc=oScripts[i].src.toLowerCase();
    if(
sSrc.indexOf("scripts/editor.js")!=-1this.scriptPath=oScripts[i].src.replace(/editor.js/,"");
    }

  
this.iconPath="icons/";
  
this.iconWidth=23//25;
  
this.iconHeight=25//22;
  
this.iconOffsetTop;//not used

  
this.dropTopAdjustment=-1;
  
this.dropLeftAdjustment=0;
  
this.heightAdjustment=-70;

  
this.runtimeBorder=runtimeBorder;
  
this.runtimeBorderOn=runtimeBorderOn;
  
this.runtimeBorderOff=runtimeBorderOff;
  
this.IsRuntimeBorderOn=true;
  
this.runtimeStyles=runtimeStyles;

  
this.applyColor=applyColor;
  
this.customColors=[];//["#ff4500","#ffa500","#808000","#4682b4","#1e90ff","#9400d3","#ff1493","#a9a9a9"];
  
this.oColor1 = new ColorPicker("oColor1",this.oName);//to call: oEdit1.oColor1
  
this.oColor2 = new ColorPicker("oColor2",this.oName);//rendered id: ...oColor1oEdit1
  
this.expandSelection=expandSelection;

  
this.fullScreen=fullScreen;
  
this.stateFullScreen=false;
  
this.onFullScreen=function(){return true;};
  
this.onNormalScreen=function(){return true;};

  
this.arrElm=new Array(300);
  
this.getElm=iwe_getElm;

  
this.features=[];
  
/*
  this.buttonMap=["Save","FullScreen","Preview","Print","Search","SpellCheck","|",
      "Cut","Copy","Paste","PasteWord","PasteText","|","Undo","Redo","|",
      "ForeColor","BackColor","|","Bookmark","Hyperlink",
      "Image","Flash","Media","ContentBlock","InternalLink","InternalImage","CustomObject","|",
      "Table","Guidelines","Absolute","|","Characters","Line",
      "Form","RemoveFormat","HTMLFullSource","HTMLSource","XHTMLFullSource",
      "XHTMLSource","ClearAll","BRK",
      "StyleAndFormatting","Styles","|","CustomTag","Paragraph","FontName","FontSize","|",
      "Bold","Italic","Underline","Strikethrough","Superscript","Subscript","|",
      "JustifyLeft","JustifyCenter","JustifyRight","JustifyFull","|",
      "Numbering","Bullets","|","Indent","Outdent","LTR","RTL"];//complete, default
  */
  
this.buttonMap=["Save","FullScreen","Preview","Print","Search","SpellCheck",
      
"Cut","Copy","Paste","PasteWord","PasteText","Undo","Redo",
      
"ForeColor","BackColor","Bookmark","Hyperlink",
      
"Image","Flash","Media","ContentBlock","InternalLink","InternalImage","CustomObject",
      
"Table","Guidelines","Absolute","Characters","Line",
      
"Form","RemoveFormat","HTMLFullSource","HTMLSource","XHTMLFullSource",
      
"XHTMLSource","ClearAll","BRK",
      
"StyleAndFormatting","Styles","CustomTag","Paragraph","FontName","FontSize",
      
"Bold","Italic","Underline","Strikethrough","Superscript","Subscript",
      
"JustifyLeft","JustifyCenter","JustifyRight","JustifyFull",
      
"Numbering","Bullets","Indent","Outdent","LTR","RTL"];//complete, default

  
this.btnSave=false;this.btnPreview=true;this.btnFullScreen=true;this.btnPrint=false;this.btnSearch=true;
  
this.btnSpellCheck=false;this.btnTextFormatting=true;
  
this.btnListFormatting=true;this.btnBoxFormatting=true;this.btnParagraphFormatting=true;this.btnCssText=true;this.btnCssBuilder=false;
  
this.btnStyles=false;this.btnParagraph=true;this.btnFontName=true;this.btnFontSize=true;
  
this.btnCut=true;this.btnCopy=true;this.btnPaste=true;this.btnPasteText=false;this.btnUndo=true;this.btnRedo=true;
  
this.btnBold=true;this.btnItalic=true;this.btnUnderline=true;
  
this.btnStrikethrough=false;this.btnSuperscript=false;this.btnSubscript=false;
  
this.btnJustifyLeft=true;this.btnJustifyCenter=true;this.btnJustifyRight=true;this.btnJustifyFull=true;
  
this.btnNumbering=true;this.btnBullets=true;this.btnIndent=true;this.btnOutdent=true;
  
this.btnLTR=false;this.btnRTL=false;this.btnForeColor=true;this.btnBackColor=true;
  
this.btnHyperlink=true;this.btnBookmark=true;this.btnCharacters=true;this.btnCustomTag=false;
  
this.btnImage=true;this.btnFlash=false;this.btnMedia=false;
  
this.btnTable=true;this.btnGuidelines=true;
  
this.btnAbsolute=true;this.btnPasteWord=true;this.btnLine=true;
  
this.btnForm=true;this.btnRemoveFormat=true;
  
this.btnHTMLFullSource=false;this.btnHTMLSource=false;
  
this.btnXHTMLFullSource=false;this.btnXHTMLSource=true;
  
this.btnClearAll=false;

  
this.tabs=[
  [
"tabHome""Home", ["grpEdit""grpFont""grpPara""grpInsert""grpTables"]],
  [
"tabStyle""Objects", ["grpMedia""grpMisc"]]
  ];

  
this.groups=[
  [
"grpEdit""", ["Undo""Redo""FullScreen""RemoveFormat""BRK""Cut""Copy""Paste""PasteWord""PasteText""XHTMLSource"]],
  [
"grpFont""", ["FontName""FontSize""Styles""BRK""Bold""Italic""Underline""Strikethrough""Superscript""ForeColor""BackColor"]],
  [
"grpPara""", ["Paragraph""Indent""Outdent""StyleAndFormatting""BRK""JustifyLeft""JustifyCenter""JustifyRight""JustifyFull""Numbering""Bullets"]],
  [
"grpInsert""", ["Hyperlink""Bookmark""BRK""Image"]],
  [
"grpTables""", ["Table""BRK""Guidelines"]],
  [
"grpMedia""", ["Media""BRK""Flash"]],
  [
"grpMisc""", ["Characters""Line""BRK"]]
  ];
    
  
this.useTab=true;

  
//*** CMS Features ***
  
this.cmdAssetManager="";
  
  
this.cmdFileManager="";
  
this.cmdImageManager="";
  
this.cmdMediaManager="";
  
this.cmdFlashManager="";
  
  
this.btnContentBlock=false;
  
this.cmdContentBlock=";";//needs ;
  
this.btnInternalLink=false;
  
this.cmdInternalLink=";";//needs ;
  
this.insertLink=insertLink;
  
this.btnCustomObject=false;
  
this.cmdCustomObject=";";//needs ;
  
this.btnInternalImage=false;
  
this.cmdInternalImage=";";//needs ; 
  //*****

  
this.css="";
  
this.arrStyle=[];
  
this.isCssLoaded=false;
  
this.openStyleSelect=openStyleSelect;

  
this.arrParagraph=[[getTxt("Heading 1"),"H1"],
            [
getTxt("Heading 2"),"H2"],
            [
getTxt("Heading 3"),"H3"],
            [
getTxt("Heading 4"),"H4"],
            [
getTxt("Heading 5"),"H5"],
            [
getTxt("Heading 6"),"H6"],
            [
getTxt("Preformatted"),"PRE"],
            [
getTxt("Normal (P)"),"P"],
            [
getTxt("Normal (DIV)"),"DIV"]];

  
this.arrFontName=["Arial","Arial Black","Arial Narrow",
            
"Book Antiqua","Bookman Old Style",
            
"Century Gothic","Comic Sans MS","Courier New",
            
"Franklin Gothic Medium","Garamond","Georgia",
            
"Impact","Lucida Console","Lucida Sans","Lucida Unicode",
            
"Modern","Monotype Corsiva","Palatino Linotype",
            
"Roman","Script","Small Fonts","Symbol",
            
"Tahoma","Times New Roman","Trebuchet MS",
            
"Verdana","Webdings","Wingdings","Wingdings 2","Wingdings 3",
            
"serif","sans-serif","cursive","fantasy","monospace"];

  
this.arrFontSize=[[getTxt("Size 1"),"1"],
            [
getTxt("Size 2"),"2"],
            [
getTxt("Size 3"),"3"],
            [
getTxt("Size 4"),"4"],
            [
getTxt("Size 5"),"5"],
            [
getTxt("Size 6"),"6"],
            [
getTxt("Size 7"),"7"]];

  
this.arrCustomTag=[];//eg.[["Full Name","{%full_name%}"],["Email","{%email%}"]];

  
this.docType="";
  
this.html="<html>";
  
this.headContent="";
  
this.preloadHTML="";

  
this.onSave=function(){document.getElementById("iwe_btnSubmit"+this.oName).click()};
  
this.useBR=false;
  
this.useDIV=true;

  
this.doUndo=doUndo;
  
this.doRedo=doRedo;
  
this.saveForUndo=saveForUndo;
  
this.arrUndoList=[];
  
this.arrRedoList=[];

  
this.useTagSelector=true;
  
this.TagSelectorPosition="bottom";
  
this.moveTagSelector=moveTagSelector;
  
this.selectElement=selectElement;
  
this.removeTag=removeTag;
  
this.doClick_TabCreate=doClick_TabCreate;
  
this.doRefresh_TabCreate=doRefresh_TabCreate;

  
this.arrCustomButtons = [["CustomName1","alert(0)","caption here","btnSave.gif"],
              [
"CustomName2","alert(0)","caption here","btnSave.gif"]];

  
this.onSelectionChanged=function(){return true;};
  
  
this.spellCheckMode="ieSpell";//NetSpell
  
  
this.encodeIO=false;
  
this.changeHeight=changeHeight;

  
this.REPLACE=REPLACE;
  
this.idTextArea;
  
this.mode="HTMLBody";
  
  var 
me=this;
  
this.tbar=new ISToolbarManager(this.oName);
}

/*** UNDO/REDO ***/
function saveForUndo()
  {
  var 
oEditor=eval("idContent"+this.oName);
  var 
obj=eval(this.oName);
  if(
obj.arrUndoList[0])
    if(
oEditor.document.body.innerHTML==obj.arrUndoList[0][0])return;
  for(var 
i=20;i>1;i--)obj.arrUndoList[i-1]=obj.arrUndoList[i-2];
  
obj.focus();
  var 
oSel=oEditor.document.selection.createRange();
  var 
sType=oEditor.document.selection.type;

  if(
sType=="None")
    
obj.arrUndoList[0]=[oEditor.document.body.innerHTML,
      
oEditor.document.selection.createRange().getBookmark(),"None"];
  else if(
sType=="Text")
    
obj.arrUndoList[0]=[oEditor.document.body.innerHTML,
      
oEditor.document.selection.createRange().getBookmark(),"Text"];
  else if(
sType=="Control")
    {
    
oSel.item(0).selThis="selThis";
    
obj.arrUndoList[0]=[oEditor.document.body.innerHTML,null,"Control"];
    
oSel.item(0).removeAttribute("selThis",0);
    }
  
this.arrRedoList=[];//clear redo list

  
if(this.btnUndothis.tbar.btns["btnUndo"+this.oName].setState(1);//makeEnableNormal(eval("document.all.btnUndo"+this.oName));
  
if(this.btnRedothis.tbar.btns["btnRedo"+this.oName].setState(5);//makeDisabled(eval("document.all.btnRedo"+this.oName));
  
}
function 
doUndo()
  {
  var 
oEditor=eval("idContent"+this.oName);
  var 
obj=eval(this.oName);
  if(!
obj.arrUndoList[0])return;
  
//~~~~
  
for(var i=20;i>1;i--)obj.arrRedoList[i-1]=obj.arrRedoList[i-2];
  var 
oSel=oEditor.document.selection.createRange();
  var 
sType=oEditor.document.selection.type;
  if(
sType=="None")
    
this.arrRedoList[0]=[oEditor.document.body.innerHTML,
      
oEditor.document.selection.createRange().getBookmark(),"None"];
  else if(
sType=="Text")
    
this.arrRedoList[0]=[oEditor.document.body.innerHTML,
      
oEditor.document.selection.createRange().getBookmark(),"Text"];
  else if(
sType=="Control")
    {
    
oSel.item(0).selThis="selThis";
    
this.arrRedoList[0]=[oEditor.document.body.innerHTML,null,"Control"];
    
oSel.item(0).removeAttribute("selThis",0);
    }
  
//~~~~
  
sHTML=obj.arrUndoList[0][0];
  
sHTML=fixPathEncode(sHTML);
  
oEditor.document.body.innerHTML=sHTML;
  
fixPathDecode(oEditor);

  
//*** RUNTIME STYLES ***
  
this.runtimeBorder(false);
  
this.runtimeStyles();
  
//***********************
  
var oRange=oEditor.document.body.createTextRange();
  if(
obj.arrUndoList[0][2]=="None")
    {
    
oRange.moveToBookmark(obj.arrUndoList[0][1]);
    
oRange.select(); //di-disable, spy tdk select all? tdk perlu utk undo
    
}
  else if(
obj.arrUndoList[0][2]=="Text")
    {
    
oRange.moveToBookmark(obj.arrUndoList[0][1]);
    
oRange.select();
    }
  else if(
obj.arrUndoList[0][2]=="Control")
    {
    for(var 
i=0;i<oEditor.document.all.length;i++)
      {
      if(
oEditor.document.all[i].selThis=="selThis")
        {
        var 
oSelRange=oEditor.document.body.createControlRange();
        
oSelRange.add(oEditor.document.all[i]);
        
oSelRange.select();
        
oEditor.document.all[i].removeAttribute("selThis",0);
        }
      }
    }
  
//~~~~
  
for(var i=0;i<19;i++)obj.arrUndoList[i]=obj.arrUndoList[i+1];
  
obj.arrUndoList[19]=null;
  
realTime(this.oName);
  }
function 
doRedo()
  {
  var 
oEditor=eval("idContent"+this.oName);
  var 
obj=eval(this.oName);
  if(!
obj.arrRedoList[0])return;
  
//~~~~
  
for(var i=20;i>1;i--)obj.arrUndoList[i-1]=obj.arrUndoList[i-2];
  var 
oSel=oEditor.document.selection.createRange();
  var 
sType=oEditor.document.selection.type;
  if(
sType=="None")
    
obj.arrUndoList[0]=[oEditor.document.body.innerHTML,
      
oEditor.document.selection.createRange().getBookmark(),"None"];
  else if(
sType=="Text")
    
obj.arrUndoList[0]=[oEditor.document.body.innerHTML,
      
oEditor.document.selection.createRange().getBookmark(),"Text"];
  else if(
sType=="Control")
    {
    
oSel.item(0).selThis="selThis";
    
this.arrUndoList[0]=[oEditor.document.body.innerHTML,null,"Control"];
    
oSel.item(0).removeAttribute("selThis",0);
    }
  
//~~~~
  
sHTML=obj.arrRedoList[0][0];
  
sHTML=fixPathEncode(sHTML);
  
oEditor.document.body.innerHTML=sHTML;
  
fixPathDecode(oEditor);
  
  
//*** RUNTIME STYLES ***
  
this.runtimeBorder(false);
  
this.runtimeStyles();
  
//***********************
  
var oRange=oEditor.document.body.createTextRange();
  if(
obj.arrRedoList[0][2]=="None")
    {
    
oRange.moveToBookmark(obj.arrRedoList[0][1]);
    
//oRange.select(); //di-disable, sph tdk select all, utk redo perlu
    
}
  else if(
obj.arrRedoList[0][2]=="Text")
    {
    
oRange.moveToBookmark(obj.arrRedoList[0][1]);
    
oRange.select();
    }
  else if(
obj.arrRedoList[0][2]=="Control")
    {
    for(var 
i=0;i<oEditor.document.all.length;i++)
      {
      if(
oEditor.document.all[i].selThis=="selThis")
        {
        var 
oSelRange oEditor.document.body.createControlRange();
        
oSelRange.add(oEditor.document.all[i]);
        
oSelRange.select();
        
oEditor.document.all[i].removeAttribute("selThis",0);
        }
      }
    }
  
//~~~~
  
for(var i=0;i<19;i++)obj.arrRedoList[i]=obj.arrRedoList[i+1];
  
obj.arrRedoList[19]=null;
  
realTime(this.oName);
  }

/*** RENDER ***/
var bOnSubmitOriginalSaved=false;
function 
REPLACE(idTextAreadvId)
  {
  
this.idTextArea=idTextArea;
  var 
oTextArea=document.getElementById(idTextArea);
  
oTextArea.style.display="none";
  var 
oForm=oTextArea.form;
  if(
oForm)
    {
    if(!
bOnSubmitOriginalSaved)
      {
      
onsubmit_original=oForm.onsubmit;
      
      
bOnSubmitOriginalSaved=true;  
      }
    
oForm.onsubmit = new Function("return onsubmit_new()");
    }
  
  var 
sContent=document.getElementById(idTextArea).value;
  
sContent=sContent.replace(/&/g,"&amp;");
  
sContent=sContent.replace(/</g,"&lt;");
  
sContent=sContent.replace(/>/g,"&gt;");
  
  
this.RENDER(sContentdvId);
  }
function 
onsubmit_new()
  {
  var 
sContent;
  for(var 
i=0;i<oUtil.arrEditor.length;i++)
    {
    var 
oEdit=eval(oUtil.arrEditor[i]);
    
    var 
oEditor=eval("idContent"+oEdit.oName);
    var 
allSpans oEditor.document.getElementsByTagName("SPAN");
    for (var 
j=0j<allSpans.lengthj++)
      {
      if ((
allSpans[j].innerHTML=="") && (allSpans[j].parentElement.children.length==1))
        {
        
allSpans[j].innerHTML "&nbsp;";
        }
      }

    if(
oEdit.mode=="HTMLBody")sContent=oEdit.getHTMLBody();
    if(
oEdit.mode=="HTML")sContent=oEdit.getHTML();
    if(
oEdit.mode=="XHTMLBody")sContent=oEdit.getXHTMLBody();
    if(
oEdit.mode=="XHTML")sContent=oEdit.getXHTML();
    
document.getElementById(oEdit.idTextArea).value=sContent;
    }
  if(
onsubmit_original)return onsubmit_original();
  }
function 
onsubmit_original(){}

var 
iconHeight;//icons related
function RENDER(sPreloadHTMLdvId)
  {
  
  if(
document.compatMode && document.compatMode!="BackCompat") {
    if(
String(this.height).indexOf("%") == -1) {
      var 
eh parseInt(this.height10);
      
eh += this.heightAdjustment;
      
this.height eh "px";
    }
  }
  
  
iconHeight=this.iconHeight;//icons related

  /*** Tetap Ada (For downgrade compatibility) ***/
  
if(sPreloadHTML.substring(0,4)=="<!--" &&
    
sPreloadHTML.substring(sPreloadHTML.length-3)=="-->")
    
sPreloadHTML=sPreloadHTML.substring(4,sPreloadHTML.length-3);

  if(
sPreloadHTML.substring(0,4)=="<!--" &&
    
sPreloadHTML.substring(sPreloadHTML.length-6)=="--&gt;")
    
sPreloadHTML=sPreloadHTML.substring(4,sPreloadHTML.length-6);

  
/*** Converting back HTML-encoded content (kalau tdk encoded tdk masalah) ***/
  
sPreloadHTML=sPreloadHTML.replace(/&lt;/g,"<");
  
sPreloadHTML=sPreloadHTML.replace(/&gt;/g,">");
  
sPreloadHTML=sPreloadHTML.replace(/&amp;/g,"&");

  
/*** enable required buttons ***/
  
if(this.cmdContentBlock!=";")this.btnContentBlock=true;
  if(
this.cmdInternalLink!=";")this.btnInternalLink=true;
  if(
this.cmdInternalImage!=";")this.btnInternalImage=true;
  if(
this.cmdCustomObject!=";")this.btnCustomObject=true;
  if(
this.arrCustomTag.length>0)this.btnCustomTag=true;
  if(
this.mode=="HTMLBody"){this.btnXHTMLSource=true;this.btnXHTMLFullSource=false;}
  if(
this.mode=="HTML"){this.btnXHTMLFullSource=true;this.btnXHTMLSource=false;}
  if(
this.mode=="XHTMLBody"){this.btnXHTMLSource=true;this.btnXHTMLFullSource=false;}
  if(
this.mode=="XHTML"){this.btnXHTMLFullSource=true;this.btnXHTMLSource=false;}
  
  
/*** features ***/
  
var bUseFeature=false;
  if(
this.features.length>0)
    {
    
bUseFeature=true;
    for(var 
i=0;i<this.buttonMap.length;i++)
      eval(
this.oName+".btn"+this.buttonMap[i]+"=true");//ex: oEdit1.btnStyleAndFormatting=true (no problem), oEdit1.btn|=true (no problem), oEdit1.btnBRK=true (no problem)

    
this.btnTextFormatting=false;this.btnListFormatting=false;
    
this.btnBoxFormatting=false;this.btnParagraphFormatting=false;
    
this.btnCssText=false;this.btnCssBuilder=false;
    for(var 
j=0;j<this.features.length;j++)
      eval(
this.oName+".btn"+this.features[j]+"=true");//ex: oEdit1.btnTextFormatting=true

    
for(var i=0;i<this.buttonMap.length;i++)
      {
      
sButtonName=this.buttonMap[i];
      
bBtnExists=false;
      for(var 
j=0;j<this.features.length;j++)
        if(
sButtonName==this.features[j])bBtnExists=true;//ada;

      
if(!bBtnExists)//tdk ada; set false
        
eval(this.oName+".btn"+sButtonName+"=false");//ex: oEdit1.btnBold=false, oEdit1.btn|=false (no problem), oEdit1.btnBRK=false (no problem)
      
}
    
//Remove:"TextFormatting","ListFormatting",dst.=>tdk perlu(krn diabaikan)
    
this.buttonMap=this.features;
    }
  
/*** /features ***/

  
this.preloadHTML=sPreloadHTML;
  var 
sHTMLDropMenus="";
  var 
sHTMLIcons="";
  var 
sTmp="";
  
  
/*---------------*/
  /*Color picker   */
  /*---------------*/
  
  //Render Color Picker (forecolor)
  
this.oColor1.url=this.scriptPath+"color_picker_fg.htm";
  
this.oColor1.onShow = new Function(this.oName+".hide()");
  
this.oColor1.onMoreColor = new Function(this.oName+".hide()");
  
this.oColor1.onPickColor = new Function(this.oName+".applyColor('ForeColor',eval('"+this.oName+"').oColor1.color)");
  
this.oColor1.onRemoveColor = new Function(this.oName+".applyColor('ForeColor','')");
  
this.oColor1.txtCustomColors=getTxt("Custom Colors");
  
this.oColor1.txtMoreColors=getTxt("More Colors...");

  
//Render Color Picker (backcolor)
  
this.oColor2.url=this.scriptPath+"color_picker_bg.htm";
  
this.oColor2.onShow = new Function(this.oName+".hide()");
  
this.oColor2.onMoreColor = new Function(this.oName+".hide()");
  
this.oColor2.onPickColor = new Function(this.oName+".applyColor('BackColor',eval('"+this.oName+"').oColor2.color)");
  
this.oColor2.onRemoveColor = new Function(this.oName+".applyColor('BackColor','')");
  
this.oColor2.txtCustomColors=getTxt("Custom Colors");
  
this.oColor2.txtMoreColors=getTxt("More Colors...");

  
  var 
me=this;

  if(
this.useTab && this.tabs) {
    var 
tmp=nulltmpTbgrpMap=new Object();
    
//create toolbar.
    
for (var i=0;i<this.buttonMap.length;i++) {
      eval(
this.oName+".btn"+this.buttonMap[i]+"=false");
    }
    for (var 
i=0i<this.groups.length;i++) {
      
tmp=this.groups[i];
      
tmpTb=this.tbar.createToolbar(this.oName+"tbar"+tmp[0]);
      
tmpTb.onClick=function(id) {tbAction(tmpTbidmeme.oName);};
      
tmpTb.style.toolbar="main_istoolbar";
      
tmpTb.iconPath=this.scriptPath+this.iconPath;
      
tmpTb.btnWidth=this.iconWidth;
      
tmpTb.btnHeight=this.iconHeight;
      
      for (var 
j=0;j<tmp[2].length;j++) {
        eval(
this.oName+".btn"+tmp[2][j]+"=true");
      }
      
buildToolbar(tmpTbthistmp[2]);
      
grpMap[tmp[0]]=tmp[1];
    }
  
    
//create tab
    
var eTab=this.tbar.createTbTab("tabCtl"+this.oName), tmpGrp;
    for(var 
i=0i<this.tabs.lengthi++) {
      
tmp=this.tabs[i];
      
tmpGrp=this.tbar.createTbGroup(this.oName+"grp"+tmp[0]);
      for (var 
j=0j<tmp[2].length;j++) {
        
tmpGrp.addGroup(this.oName+tmp[2][j], grpMap[tmp[2][j]] , this.oName+"tbar"+tmp[2][j]);
      }
      
eTab.addTab(this.oName+tmp[0], tmp[1], tmpGrp);
    }
  
  } else {
    var 
orTb=this.tbar.createToolbar(this.oName);  
      
orTb.onClick=function(id) {tbAction(orTbidmeme.oName);};
      
//orTb.style.toolbar="main_istoolbar";
      
orTb.iconPath=this.scriptPath+this.iconPath;
      
orTb.btnWidth=this.iconWidth;
      
orTb.btnHeight=this.iconHeight;
      
buildToolbar(orTbthisthis.buttonMap);
  }
  
  var 
sHTML="";

  
sHTML+="<iframe name=idFixZIndex"+this.oName+" id=idFixZIndex"+this.oName+"  frameBorder=0 style='display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)' src='"+this.scriptPath+"blank.gif' ></iframe>"//src='javascript:;'
  
sHTML+="<table id=idArea"+this.oName+" name=idArea"+this.oName+" border=0 "+
    
"cellpadding=0 cellspacing=0 width='"+this.width+"' height='"+this.height+"'>"+
    
"<tr><td colspan=2 style=\"position:relative;padding:0px;padding-left:0px;border:#cfcfcf 0px solid;border-bottom:0;background:url('"+this.scriptPath+"icons/bg.gif')\">"+
    
"<table cellpadding=0 cellspacing=0 width='100%'><tr><td dir=ltr style='padding:0px'>"+
    
this.tbar.render()+
    
"</td></tr></table>"+
    
"</td></tr>"+
    
"<tr id=idTagSelTopRow"+this.oName+"><td colspan=2 id=idTagSelTop"+this.oName+" height=0 style='padding:0px'></td></tr>";

  
sHTML+="<tr><td colspan=2 valign=top height=100% style='padding:0px;background:white'>";

  
sHTML+="<table cellpadding=0 cellspacing=0 width=100% height=100%><tr><td width=100% height=100% style='padding:0px'>";//StyleSelect

  
if(this.IsSecurityRestricted)
    
sHTML+="<iframe security='restricted' style='width:100%;height:100%;' src='"+this.scriptPath+"blank.gif'"+
      
" name=idContent"this.oName " id=idContent"+this.oName+
      
" contentEditable=true></iframe>";//prohibit running ActiveX controls
  
else
    
sHTML+="<iframe style='width:100%;height:100%;' src='"+this.scriptPath+"blank.gif'"+
      
" name=idContent"this.oName " id=idContent"+this.oName+
      
" contentEditable=true></iframe>";

  
//Paste From Word
  
sHTML+="<iframe style='width:1px;height:1px;overflow:auto;' src='"+this.scriptPath+"blank.gif'"+
    
" name=idContentWord"this.oName +" id=idContentWord"this.oName+
    
" contentEditable=true onfocus='"+this.oName+".hide()'></iframe>";

  
sHTML+="</td><td id=idStyles"+this.oName+" style='padding:0px;background:#E9E8F2' valign=top></td></tr></table>"//StyleSelect

  
sHTML+="</td></tr>";
  
sHTML+="<tr id=idTagSelBottomRow"+this.oName+"><td colspan=2 id=idTagSelBottom"+this.oName+" style='padding:0px;'></td></tr>";
  
sHTML+="</table>";

  
sHTML+=sHTMLDropMenus;//dropdown
  
  
sHTML+="<input type=submit name=iwe_btnSubmit"+this.oName+" id=iwe_btnSubmit"+this.oName+" value=SUBMIT style='display:none' >";//hidden submit button

  
if(dvId) {
    var 
edtStr=[];
    
edtStr[0]=sHTML;
    
document.getElementById(dvId).innerHTML=edtStr.join("");
  } else {
    
document.write(sHTML);
  }
  
  var 
clPick=document.getElementById("isClPiker"+this.oName);
  if(!
clPick) { 
    
clPick document.createElement("DIV");
    
clPick.id="isClPiker"+this.oName;
    
clPick.innerHTML=this.oColor1.generateHTML() + this.oColor2.generateHTML();
    
document.body.insertBefore(clPickdocument.body.childNodes[0]);
  }

  
this.init();
  }

function 
initISEditor() {

  if(
this.useTagSelector)
    {
    if(
this.TagSelectorPosition=="bottom")this.TagSelectorPosition="top";
    else 
this.TagSelectorPosition="bottom";
    
this.moveTagSelector()
    }

  
//paste from word temp storage
  /*var oWord=eval("idContentWord"+this.oName);
  oWord.document.designMode="on";
  oWord.document.open("text/html","replace");
  oWord.document.write("<html><head></head><body></body></html>");
  oWord.document.close();
  oWord.document.body.contentEditable=true;*/

  
oUtil.oName=this.oName;//default active editor
  
oUtil.oEditor=eval("idContent"+this.oName);
  
oUtil.oEditor.document.designMode="on";
  
oUtil.obj=eval(this.oName);

  
oUtil.arrEditor.push(this.oName);

  
//Normalize button position if the editor is placed in relative positioned element
  
eval("idArea"+this.oName).style.position="absolute";
  
window.setTimeout("eval('idArea"+this.oName+"').style.position='';",1);

  var 
arrA String(this.preloadHTML).match(/<HTML[^>]*>/ig);
  if(
arrA)
    {
//full html
    
this.loadHTML("");
    
//this.preloadHTML is required here. Can't use sPreloadHTML as in:
    //window.setTimeout(this.oName+".putHTML("+sPreloadHTML+")",0);
    
window.setTimeout(this.oName+".putHTML("+this.oName+".preloadHTML)",0);
    
//window.setTimeout utk fix swf loading.
    //Utk loadHTML & putHTML yg di SourceEditor tdk masalah
    
}
  else
    {
    
this.loadHTML(this.preloadHTML)
    }
  
this.focus();
}

function 
buildToolbar(tboEdtbtnMap) {
  var 
oName=oEdt.oName;
  
  for(var 
i=0;i<btnMap.length;i++)
    {
    
sButtonName=btnMap[i];
    switch(
sButtonName)
      {
      case 
"|":
        
tb.addSeparator();
        break;
      case 
"BRK":
        
tb.addBreak();
        break;
      case 
"Save":
        if(
oEdt.btnSave)tb.addButton("btnSave"+oName"btnSave.gif"getTxt("Save"));
        break;
      case 
"Preview":
          if(
oEdt.btnPreview) {
            
tb.addDropdownButton("btnPreview"+oName"ddPreview"+oName"btnPreview.gif",getTxt("Preview"));
            var 
pvDD=new ISDropdown("ddPreview"+oName); 
            
pvDD.addItem("btnPreview1"+oName"640x480");
            
pvDD.addItem("btnPreview2"+oName"800x600");
            
pvDD.addItem("btnPreview3"+oName"1024x768");
            
pvDD.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          }
        break;
      case 
"FullScreen":
        if(
oEdt.btnFullScreen)tb.addButton("btnFullScreen"+oName"btnFullScreen.gif",getTxt("Full Screen"));
        break;
      case 
"Print":
        if(
oEdt.btnPrint)tb.addButton("btnPrint"+oName,"btnPrint.gif",getTxt("Print"));
        break;
      case 
"Search":
        if(
oEdt.btnSearch)tb.addButton("btnSearch"+oName,"btnSearch.gif",getTxt("Search"));
        break;
      case 
"SpellCheck":
        if(
oEdt.btnSpellCheck)
          {
          
tb.addButton("btnSpellCheck"+oName"btnSpellCheck.gif",getTxt("Check Spelling"));
          }
        break;
      case 
"StyleAndFormatting":
        if(
oEdt.btnTextFormatting||oEdt.btnParagraphFormatting||oEdt.btnListFormatting||oEdt.btnBoxFormatting||oEdt.btnCssText||oEdt.btnCssBuilder) {
          
tb.addDropdownButton("btnStyleAndFormat"+oName"ddFormatting"+oName"btnStyle.gif",getTxt("Styles & Formatting"));
          var 
ddFmt=new ISDropdown("ddFormatting"+oName);
          
ddFmt.iconPath tb.iconPath;
          
ddFmt.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          if(
oEdt.btnTextFormattingddFmt.addItem("btnTextFormatting"+oNamegetTxt("Text Formatting"), "btnTextFormatting.gif"); 
          if(
oEdt.btnParagraphFormattingddFmt.addItem("btnParagraphFormatting"+oNamegetTxt("Paragraph Formatting"), "btnParagraphFormatting.gif");
          if(
oEdt.btnListFormattingddFmt.addItem("btnListFormatting"+oNamegetTxt("List Formatting"), "btnListFormatting.gif");
          if(
oEdt.btnBoxFormattingddFmt.addItem("btnBoxFormatting"+oNamegetTxt("Box Formatting"), "btnBoxFormatting.gif");
          if(
oEdt.btnCssTextddFmt.addItem("btnCssText"+oNamegetTxt("Custom CSS"), "btnCustomCss.gif");
          if(
oEdt.btnCssBuilderddFmt.addItem("btnCssBuilder"+oNamegetTxt("CSS Builder"));
        }
        break;
      case 
"Styles":
        if(
oEdt.btnStyles)tb.addButton("btnStyles"+oName,"btnStyleSelect.gif",getTxt("Style Selection"));
        break;
      case 
"Paragraph":
        if(
oEdt.btnParagraph)
          {
          
tb.addDropdownButton("btnParagraph"+oName,"ddParagraph"+oNameoUtil.langDir+"/btnParagraph.gif",getTxt("Paragraph"), 77);
          var 
ddPar=new ISDropdown("ddParagraph"+oName);
          
ddPar.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          for(var 
j=0;j<oEdt.arrParagraph.length;j++)
            {
            
ddPar.addItem("btnParagraph_"+j+oName
              
"<"+oEdt.arrParagraph[j][1]+" style=\"\margin-bottom:4px\"  unselectable=on> "+
              
oEdt.arrParagraph[j][0]+"</"+oEdt.arrParagraph[j][1]+">");
            }
          }
        break;
      case 
"FontName":
        if(
oEdt.btnFontName)
          {
          
tb.addDropdownButton("btnFontName"+oName,"ddFontName"+oName,oUtil.langDir+"/btnFontName.gif",getTxt("Font Name"),77);
          var 
ddFont=new ISDropdown("ddFontName"+oName);
          
ddFont.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          for(var 
j=0;j<oEdt.arrFontName.length;j++)
            {
            
ddFont.addItem("btnFontName_"+j+oName"<span style='font-family:"+oEdt.arrFontName[j]+"' unselectable=on>"+oEdt.arrFontName[j]+"</span><span unselectable=on style='font-family:tahoma'>("oEdt.arrFontName[j] +")</span>");
            }
          }
        break;
      case 
"FontSize":
        if(
oEdt.btnFontSize)
          {
          
tb.addDropdownButton("btnFontSize"+oName,"ddFontSize"+oName,oUtil.langDir+"/btnFontSize.gif",getTxt("Font Size"),60);
          var 
ddFs=new ISDropdown("ddFontSize"+oName);
          
ddFs.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          for(var 
j=0;j<oEdt.arrFontSize.length;j++)
            {
            
ddFs.addItem("btnFontSize_"+j+oName
              
"<font unselectable=on size=\""+oEdt.arrFontSize[j][1]+"\">"+
              
oEdt.arrFontSize[j][0]+"</font>");
            }
          }
        break;
      case 
"Cut":
        if(
oEdt.btnCut)tb.addButton("btnCut"+oName,"btnCut.gif",getTxt("Cut"));
        break;
      case 
"Copy":
        if(
oEdt.btnCopy)tb.addButton("btnCopy"+oName,"btnCopy.gif",getTxt("Copy"));
        break;

      case 
"Paste":
          if(
oEdt.btnPaste || oEdt.btnPasteWord || oEdt.btnPasteText) {
            
tb.addDropdownButton("btnPaste"+oName"ddPaste"+oName"btnPaste.gif",getTxt("Paste"));
            var 
pvDD=new ISDropdown("ddPaste"+oName); 
            
pvDD.iconPath tb.iconPath;
            if(
oEdt.btnPastepvDD.addItem("btnPasteClip"+oNamegetTxt("Paste"), "btnPasteClip.gif");
            if(
oEdt.btnPasteWordpvDD.addItem("btnPasteWord"+oNamegetTxt("Paste from Word"), "btnPasteWord.gif");
            if(
oEdt.btnPasteTextpvDD.addItem("btnPasteText"+oNamegetTxt("Paste Text"), "btnPasteText.gif");
            
pvDD.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          }
        break;
        
      
//case "Paste":
      //  if(oEdt.btnPaste)tb.addButton("btnPaste"+oName,"btnPaste.gif",getTxt("Paste"));
      //  break;
      //case "PasteWord":
      //  if(oEdt.btnPasteWord)tb.addButton("btnPasteWord"+oName,"btnPasteWord.gif",getTxt("Paste from Word"));
      //  break;
      //case "PasteText":
      //  if(oEdt.btnPasteText)tb.addButton("btnPasteText"+oName,"btnPasteText.gif",getTxt("Paste Text"));
      //  break;
      
case "Undo":
        if(
oEdt.btnUndo)tb.addButton("btnUndo"+oName,"btnUndo.gif",getTxt("Undo"));
        break;
      case 
"Redo":
        if(
oEdt.btnRedo)tb.addButton("btnRedo"+oName,"btnRedo.gif",getTxt("Redo"));
        break;
      case 
"Bold":
        if(
oEdt.btnBold)tb.addToggleButton("btnBold"+oName,"",false,"btnBold.gif",getTxt("Bold"));
        break;
      case 
"Italic":
        if(
oEdt.btnItalic)tb.addToggleButton("btnItalic"+oName,"",false,"btnItalic.gif",getTxt("Italic"));
        break;
      case 
"Underline":
        if(
oEdt.btnUnderline)tb.addToggleButton("btnUnderline"+oName,"",false,"btnUnderline.gif",getTxt("Underline"));
        break;
      case 
"Strikethrough":     
        if(
oEdt.btnStrikethrough)tb.addToggleButton("btnStrikethrough"+oName,"",false,"btnStrikethrough.gif",getTxt("Strikethrough"));
        break;
      case 
"Superscript":
        if(
oEdt.btnSuperscript)tb.addToggleButton("btnSuperscript"+oName,"",false,"btnSuperscript.gif",getTxt("Superscript"));
        break;
      case 
"Subscript":
        if(
oEdt.btnSubscript)tb.addToggleButton("btnSubscript"+oName,"",false,"btnSubscript.gif",getTxt("Subscript"));
        break;
      case 
"JustifyLeft":
        if(
oEdt.btnJustifyLeft)tb.addToggleButton("btnJustifyLeft"+oName,"align",false,"btnLeft.gif",getTxt("Justify Left"));
        break;
      case 
"JustifyCenter":
        if(
oEdt.btnJustifyCenter)tb.addToggleButton("btnJustifyCenter"+oName,"align",false,"btnCenter.gif",getTxt("Justify Center"));
        break;
      case 
"JustifyRight":
        if(
oEdt.btnJustifyRight)tb.addToggleButton("btnJustifyRight"+oName,"align",false,"btnRight.gif",getTxt("Justify Right"));
        break;
      case 
"JustifyFull":
        if(
oEdt.btnJustifyFull)tb.addToggleButton("btnJustifyFull"+oName,"align",false,"btnFull.gif",getTxt("Justify Full"));
        break;
      case 
"Numbering":
        if(
oEdt.btnNumbering)tb.addToggleButton("btnNumbering"+oName,"bullet",false,"btnNumber.gif",getTxt("Numbering"));
        break;
      case 
"Bullets":
        if(
oEdt.btnBullets)tb.addToggleButton("btnBullets"+oName,"bullet",false,"btnList.gif",getTxt("Bullets"));
        break;
      case 
"Indent":
        if(
oEdt.btnIndent)tb.addButton("btnIndent"+oName,"btnIndent.gif",getTxt("Indent"));
        break;
      case 
"Outdent":
        if(
oEdt.btnOutdent)tb.addButton("btnOutdent"+oName,"btnOutdent.gif",getTxt("Outdent"));
        break;
      case 
"LTR":
        if(
oEdt.btnLTR)tb.addToggleButton("btnLTR"+oName,"dir",false,"btnLTR.gif",getTxt("Left To Right"));
        break;
      case 
"RTL":
        if(
oEdt.btnRTL)tb.addToggleButton("btnRTL"+oName,"dir",false,"btnRTL.gif",getTxt("Right To Left"));
        break;
      case 
"ForeColor":
        if(
oEdt.btnForeColor)tb.addButton("btnForeColor"+oName,"btnForeColor.gif",getTxt("Foreground Color"));
        break;
      case 
"BackColor":
        if(
oEdt.btnBackColor)tb.addButton("btnBackColor"+oName,"btnBackColor.gif",getTxt("Background Color"));
        break;
      case 
"Bookmark":
        if(
oEdt.btnBookmark)tb.addButton("btnBookmark"+oName,"btnBookmark.gif",getTxt("Bookmark"));
        break;
      case 
"Hyperlink":
        if(
oEdt.btnHyperlink)tb.addButton("btnHyperlink"+oName,"btnHyperlink.gif",getTxt("Hyperlink"));
        break;
      case 
"CustomTag":
        if(
oEdt.btnCustomTag)
          {
          
tb.addDropdownButton("btnCustomTag"+oName,"ddCustomTag"+oName,oUtil.langDir+"/btnCustomTag.gif",getTxt("Tags"),60);
          var 
ddCustomTag=new ISDropdown("ddCustomTag"+oName);
          
ddCustomTag.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          for(var 
j=0;j<oEdt.arrCustomTag.length;j++)
            {
              
ddCustomTag.addItem("btnCustomTag_"+j+oNameoEdt.arrCustomTag[j][0]);
            }
          }
        break;
      case 
"Image":
        if(
oEdt.btnImage)tb.addButton("btnImage"+oName,"btnImage.gif",getTxt("Image"));
        break;
      case 
"Flash":
        if(
oEdt.btnFlash)tb.addButton("btnFlash"+oName,oUtil.langDir+"/btnFlash.gif",getTxt("Flash"), 55);
        break;
      case 
"Media":
        if(
oEdt.btnMedia)tb.addButton("btnMedia"+oName,oUtil.langDir+"/btnMedia.gif",getTxt("Media"), 55);
        break;
      case 
"ContentBlock":
        if(
oEdt.btnContentBlock)tb.addButton("btnContentBlock"+oName,"btnContentBlock.gif",getTxt("Content Block"));
        break;
      case 
"InternalLink":
        if(
oEdt.btnInternalLink)tb.addButton("btnInternalLink"+oName,oUtil.langDir+"/btnInternalLink.gif",getTxt("Internal Link"), 85);
        break;
      case 
"InternalImage":
        if(
oEdt.btnInternalImage)tb.addButton("btnInternalImage"+oName,"btnInternalImage.gif",getTxt("Internal Image"));
        break;
      case 
"CustomObject":
        if(
oEdt.btnCustomObject)tb.addButton("btnCustomObject"+oName,oUtil.langDir+"/btnCustomObject.gif",getTxt("Object"), 85);
        break;
      case 
"Table":
        if(
oEdt.btnTable)
          {
          var 
sdd=[], sZ=0;
          
sdd[sZ++]="<table width=195 id=dropTableCreate"+oName+" onmouseout='doOut_TabCreate();event.cancelBubble=true' style='cursor:default;background:#f3f3f8;border:#8a867a 1px solid;' cellpadding=0 cellspacing=2 border=0 unselectable=on>";
          for(var 
m=0;m<8;m++)
            {
            
sdd[sZ++]="<tr>";
            for(var 
n=0;n<8;n++)
              {
              
sdd[sZ++]="<td onclick='"+oName+".doClick_TabCreate()' onmouseover='doOver_TabCreate()' style='background:#ffffff;font-size:1px;border:#8a867a 1px solid;width:20px;height:20px;' unselectable=on>&nbsp;</td>";
              }
            
sdd[sZ++]="</tr>";
            }
          
sdd[sZ++]="<tr><td colspan=8 onclick=\""+oName+".hide();modelessDialogShow('"+oEdt.scriptPath+"table_insert.htm',300,322);\" onmouseover=\"this.innerText='"+getTxt("Advanced Table Insert")+"';this.style.border='#777777 1px solid';this.style.backgroundColor='#8d9aa7';this.style.color='#ffffff'\" onmouseout=\"this.style.border='#f3f3f8 1px solid';this.style.backgroundColor='#f3f3f8';this.style.color='#000000'\" align=center style='font-family:verdana;font-size:10px;font-color:black;border:#f3f3f8 1px solid;' unselectable=on>"+getTxt("Advanced Table Insert")+"</td></tr>";
          
sdd[sZ++]="</table>";
          
          
tb.addDropdownButton("btnTable"+oName,"ddTable"+oName,"btnTable.gif",getTxt("Insert Table"));
          var 
ddTable=new ISDropdown("ddTable"+oName);
          
ddTable.add(new ISCustomDDItem("btnInsertTable"sdd.join("")));
          
                    
          
tb.addDropdownButton("btnTableEdit"+oName,"ddTableEdit"+oName,"btnTableEdit.gif",getTxt("Edit Table/Cell"));
          var 
ddTblEdit=new ISDropdown("ddTableEdit"+oName);
          
ddTblEdit.iconPath tb.iconPath;
          
ddTblEdit.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          
ddTblEdit.addItem("mnuTableSize"+oNamegetTxt("Table Size"), "btnTableSize.gif");
          
ddTblEdit.addItem("mnuTableEdit"+oNamegetTxt("Edit Table"), "btnEditTable.gif");
          
ddTblEdit.addItem("mnuCellEdit"+oNamegetTxt("Edit Cell"), "btnEditCell.gif");
          }
        break;
      case 
"Guidelines":
        if(
oEdt.btnGuidelines)tb.addButton("btnGuidelines"+oName,"btnGuideline.gif",getTxt("Show/Hide Guidelines"));
        break;
      case 
"Absolute":
        if(
oEdt.btnAbsolute)tb.addButton("btnAbsolute"+oName,"btnAbsolute.gif",getTxt("Absolute"));
        break;
      case 
"Characters":
        if(
oEdt.btnCharacters)tb.addButton("btnCharacters"+oName,"btnSymbol.gif",getTxt("Special Characters"));
        break;
      case 
"Line":
        if(
oEdt.btnLine)tb.addButton("btnLine"+oName,"btnLine.gif",getTxt("Line"));
        break;
      case 
"Form":
        if(
oEdt.btnForm)
          {
          var 
arrFormMenu = [[getTxt("Form"),"form_form.htm","280","177"],
            [
getTxt("Text Field"),"form_text.htm","285","289"],
            [
getTxt("List"),"form_list.htm","295","332"],
            [
getTxt("Checkbox"),"form_check.htm","235","174"],
            [
getTxt("Radio Button"),"form_radio.htm","235","177"],
            [
getTxt("Hidden Field"),"form_hidden.htm","235","152"],
            [
getTxt("File Field"),"form_file.htm","235","132"],
            [
getTxt("Button"),"form_button.htm","235","174"]];
          
          
tb.addDropdownButton("btnForm"+oName"ddForm"+oName"btnForm.gif",getTxt("Form Editor"));
          var 
ddForm=new ISDropdown("ddForm"+oName);
          
ddForm.onClick=function(id) {ddAction(tbidoEdtoEdt.oName)};
          for(var 
j=0;j<arrFormMenu.length;j++)
            {
              
ddForm.addItem("btnForm"+j+oNamearrFormMenu[j][0]);
            }
          }
        break;
      case 
"RemoveFormat":
        if(
oEdt.btnRemoveFormat)tb.addButton("btnRemoveFormat"+oName,"btnRemoveFormat.gif",getTxt("Remove Formatting"));
        break;
      case 
"HTMLFullSource":
        if(
oEdt.btnHTMLFullSource)tb.addButton("btnHTMLFullSource"+oName,"btnSource.gif",getTxt("View/Edit Source"));
        break;
      case 
"HTMLSource":
        if(
oEdt.btnHTMLSource)tb.addButton("btnHTMLSource"+oName,"btnSource.gif",getTxt("View/Edit Source"));
        break;
      case 
"XHTMLFullSource":
        if(
oEdt.btnXHTMLFullSource)tb.addButton("btnXHTMLFullSource"+oName,"btnSource.gif",getTxt("View/Edit Source"));
        break;
      case 
"XHTMLSource":
        if(
oEdt.btnXHTMLSource)tb.addButton("btnXHTMLSource"+oName,"btnSource.gif",getTxt("View/Edit Source"));
        break;
      case 
"ClearAll":
        if(
oEdt.btnClearAll)tb.addButton("btnClearAll"+oName,"btnDelete.gif",getTxt("Clear All"));
        break;
      default:
        for(
j=0;j<oEdt.arrCustomButtons.length;j++)
          {
          if(
sButtonName==oEdt.arrCustomButtons[j][0])
            {
            
sCbName=oEdt.arrCustomButtons[j][0];
            
//sCbCommand=oEdt.arrCustomButtons[j][1];
            
sCbCaption=oEdt.arrCustomButtons[j][2];
            
sCbImage=oEdt.arrCustomButtons[j][3];
            if(
oEdt.arrCustomButtons[j][4])
              
tb.addButton(sCbName+oName,sCbImage,sCbCaption,oEdt.arrCustomButtons[j][4]);
            else
              
tb.addButton(sCbName+oName,sCbImage,sCbCaption);
            }
          }
        break;
      }
    }
}

function 
iwe_getElm(s)
  {
  return 
document.getElementById(s+this.oName)
  }

/*** COLOR PICKER ***/
var arrColorPickerObjects=[];
function 
ColorPicker(sName,sParent)
  {
  
this.oParent=sParent;
  if(
sParent)
    {
    
this.oName=sParent+"."+sName;
    
this.oRenderName=sName+sParent;
    }
  else
    {
    
this.oName=sName;
    
this.oRenderName=sName;
    }
  
arrColorPickerObjects.push(this.oName);

  
this.url="color_picker.htm";
  
this.onShow=function(){return true;};
  
this.onHide=function(){return true;};
  
this.onPickColor=function(){return true;};
  
this.onRemoveColor=function(){return true;};
  
this.onMoreColor=function(){return true;};
  
this.show=showColorPicker;
  
this.hide=hideColorPicker;
  
this.hideAll=hideColorPickerAll;
  
this.color;
  
this.customColors=[];
  
this.refreshCustomColor=refreshCustomColor;
  
this.isActive=false;
  
this.txtCustomColors="Custom Colors";
  
this.txtMoreColors="More Colors...";
  
this.align="left";
  
this.currColor="#ffffff";//default current color
  
this.generateHTML=generateHTML;
  
this.RENDER=drawColorPicker;
  }
function 
generateHTML() 
  {
  var 
arrColors=[["#800000","#8b4513","#006400","#2f4f4f","#000080","#4b0082","#800080","#000000"],
        [
"#ff0000","#daa520","#6b8e23","#708090","#0000cd","#483d8b","#c71585","#696969"],
        [
"#ff4500","#ffa500","#808000","#4682b4","#1e90ff","#9400d3","#ff1493","#a9a9a9"],
        [
"#ff6347","#ffd700","#32cd32","#87ceeb","#00bfff","#9370db","#ff69b4","#dcdcdc"],
        [
"#ffdab9","#ffffe0","#98fb98","#e0ffff","#87cefa","#e6e6fa","#dda0dd","#ffffff"]];
  var 
sHTMLColor="<table id=dropColor"+this.oRenderName+" style=\"z-index:1;display:none;position:absolute;border:#9b95a6 1px solid;cursor:default;background-color:#E9E8F2;padding:2px\" unselectable=on cellpadding=0 cellspacing=0 width=143 height=109><tr><td unselectable=on style='padding:0px;'>";
  
sHTMLColor+="<table align=center cellpadding=0 cellspacing=0 border=0 unselectable=on>";
  for(var 
i=0;i<arrColors.length;i++)
    {
    
sHTMLColor+="<tr>";
    for(var 
j=0;j<arrColors[i].length;j++)
      
sHTMLColor+="<td onclick=\""+this.oName+".color='"+arrColors[i][j]+"';"+this.oName+".onPickColor();"+this.oName+".currColor='"+arrColors[i][j]+"';"+this.oName+".hideAll()\" onmouseover=\"this.style.border='#777777 1px solid'\" onmouseout=\"this.style.border='#E9E8F2 1px solid'\" style=\"cursor:default;padding:1px;border:#E9E8F2 1px solid;\" unselectable=on>"+
        
"<table style='margin:0;width:13px;height:13px;background:"+arrColors[i][j]+";border:white 1px solid' cellpadding=0 cellspacing=0 unselectable=on>"+
        
"<tr><td unselectable=on></td></tr>"+
        
"</table></td>";
    
sHTMLColor+="</tr>";
    }

  
//~~~ custom colors ~~~~
  
sHTMLColor+="<tr><td colspan=8 id=idCustomColor"+this.oRenderName+" style='padding:0px;'></td></tr>";

  
//~~~ remove color & more colors ~~~~
  
sHTMLColor+= "<tr>";
  
sHTMLColor+= "<td unselectable=on style='padding:0px;'>"+
    
"<table style='margin-left:1px;width:14px;height:14px;background:#E9E8F2;' cellpadding=0 cellspacing=0 unselectable=on>"+
    
"<tr><td onclick=\""+this.oName+".onRemoveColor();"+this.oName+".currColor='';"+this.oName+".hideAll()\" onmouseover=\"this.style.border='#777777 1px solid'\" onmouseout=\"this.style.border='white 1px solid'\" style=\"cursor:default;padding:1px;border:white 1px solid;font-family:verdana;font-size:10px;font-color:black;line-height:9px;\" align=center valign=top unselectable=on>x</td></tr>"+
    
"</table></td>";
  
sHTMLColor+= "<td colspan=7 unselectable=on style='padding:0px;'>"+
    
"<table style='margin:1px;width:117px;height:16px;background:#E9E8F2;border:white 1px solid' cellpadding=0 cellspacing=0 unselectable=on>"+
    
"<tr><td onclick=\""+this.oName+".onMoreColor();"+this.oName+".hideAll();window.showModelessDialog('"+this.url+"',[window,'"+this.oName+"'],'dialogWidth:432px;dialogHeight:427px;edge:Raised;center:1;help:0;resizable:1;')\" onmouseover=\"this.style.border='#777777 1px solid';this.style.background='#8d9aa7';this.style.color='#ffffff'\" onmouseout=\"this.style.border='#E9E8F2 1px solid';this.style.background='#E9E8F2';this.style.color='#000000'\" style=\"cursor:default;padding:1px;border:#efefef 1px solid\" style=\"font-family:verdana;font-size:9px;font-color:black;line-height:9px;padding:1px\" align=center valign=top nowrap unselectable=on>"+this.txtMoreColors+"</td></tr>"+
    
"</table></td>";
  
sHTMLColor+= "</tr>";

  
sHTMLColor+= "</table>";
  
sHTMLColor+="</td></tr></table>";
  return 
sHTMLColor;
  }
function 
drawColorPicker()
  {
  
document.write(this.generateHTML());
  }
function 
refreshCustomColor()
  {
  
this.customColors=eval(this.oParent).customColors;//[CUSTOM] (Get from public definition)

  
if(this.customColors.length==0)
    {
    eval(
"idCustomColor"+this.oRenderName).innerHTML="";
    return;
    }
  
sHTML="<table cellpadding=0 cellspacing=0 width=100%><tr><td colspan=8 style=\"font-family:verdana;font-size:9px;font-color:black;line-height:9px;padding:1\">"+this.txtCustomColors+":</td></tr></table>";
  
sHTML+="<table cellpadding=0 cellspacing=0><tr>";
  for(var 
i=0;i<this.customColors.length;i++)
    {
    if(
i<22)
      {
      if(
i==8||i==16||i==24||i==32)sHTML+="</tr></table><table cellpadding=0 cellspacing=0><tr>";
      
sHTML+="<td onclick=\""+this.oName+".color='"+this.customColors[i]+"';"+this.oName+".onPickColor()\" onmouseover=\"this.style.border='#777777 1px solid'\" onmouseout=\"this.style.border='#E9E8F2 1px solid'\" style=\"cursor:default;padding:1px;border:#E9E8F2 1px solid;\" unselectable=on>"+
        
" <table  style='margin:0;width:13;height:13;background:"+this.customColors[i]+";border:white 1px solid' cellpadding=0 cellspacing=0 unselectable=on>"+
        
" <tr><td unselectable=on></td></tr>"+
        
" </table>"+
        
"</td>";
      }
    }
  
sHTML+="</tr></table>";
  eval(
"idCustomColor"+this.oRenderName).innerHTML=sHTML;
  }
function 
showColorPicker(oEl)
  {
  
this.onShow();
  
this.hideAll();
  var 
box=eval("dropColor"+this.oRenderName);
  
box.style.display="block";
  var 
nTop=0;
  var 
nLeft=0;

  
oElTmp=oEl;
  while(
oElTmp)
    {
    
nLeft+=oElTmp.offsetLeft;
    
nTop+=oElTmp.offsetTop;
    
oElTmp oElTmp.offsetParent;
    }
  
  if(
this.align=="left"box.style.left=nLeft+oUtil.obj.dropLeftAdjustment;
  else 
box.style.left=nLeft-143+oEl.offsetWidth+oUtil.obj.dropLeftAdjustment;

  
box.style.top=nTop+25+1+oUtil.obj.dropTopAdjustment;//[CUSTOM]

  
box.style.zIndex=2500;

  
this.isActive=true;
  
this.refreshCustomColor();
  }
function 
hideColorPicker()
  {
  
this.onHide();
  var 
box=eval("dropColor"+this.oRenderName);
  
box.style.display="none";
  
this.isActive=false;
  }
function 
hideColorPickerAll()
  {
  for(var 
i=0;i<arrColorPickerObjects.length;i++)
    {
    var 
box=eval("dropColor"+eval(arrColorPickerObjects[i]).oRenderName);
    
box.style.display="none";
    eval(
arrColorPickerObjects[i]).isActive=false;
    }
  }

/*** CONTENT ***/
function loadHTML(sHTML)//hanya utk first load.
  
{
  var 
oEditor=eval("idContent"+this.oName);
  
  
/*** Apply this.css to the content ***/
  
var sStyle="";
  if(
this.css!=""sStyle="<link href='"+this.css+"' rel='stylesheet' type='text/css'>"

  
var oDoc=oEditor.document.open("text/html","replace");
  if(
this.publishingPath!="")
    {
    var 
arrA String(this.preloadHTML).match(/<base[^>]*>/ig);
    if(!
arrA)
      {
//if no <base> found
      
sHTML=this.docType+"<HTML><HEAD><BASE HREF=\""+this.publishingPath+"\"/>"+this.headContent+sStyle+"</HEAD><BODY contentEditable=true>" sHTML "</BODY></HTML>";
      
//kalau cuma tambah <HTML><HEAD></HEAD><BODY.. tdk apa2.
      
}
    }
  else
    {
    
sHTML=this.docType+"<HTML><HEAD>"+this.headContent+sStyle+"</HEAD><BODY contentEditable=true>"+sHTML+"</BODY></HTML>";
    }
  
oDoc.write(sHTML);
  
oDoc.close();

  
oEditor.document.body.contentEditable=true;
  
oEditor.document.execCommand("2D-Position"truetrue);//make focus
  
oEditor.document.execCommand("MultipleSelection"truetrue);//make focus
  
oEditor.document.execCommand("LiveResize"truetrue);//make focus

  //RealTime
  //oEditor.document.body.onkeydown = new Function("editorDoc_onkeydown('"+this.oName+"')");
  
oEditor.document.body.onkeyup = new Function("editorDoc_onkeyup('"+this.oName+"')");
  
oEditor.document.body.onmouseup = new Function("editorDoc_onmouseup('"+this.oName+"')");

  
//<br> or <p>
  
oEditor.document.body.onkeydown=new Function("doKeyPress(eval('idContent"+this.oName+"').event,'"+this.oName+"')");

  
//*** RUNTIME STYLES ***
  
this.runtimeBorder(false);
  
this.runtimeStyles();
  
//***********************
  
  //Save for Undo
  
oEditor.document.body.onpaste = new Function(this.oName+".doOnPaste()");
  
oEditor.document.body.oncut = new Function(this.oName+".saveForUndo()");

  
//fix undisplayed content (new)
  
oEditor.document.body.style.lineHeight="1.2";
  
oEditor.document.body.style.lineHeight="";

  
//fix undisplayed content (old)
  
if(this.initialRefresh)
    {
    
oEditor.document.execCommand("SelectAll");
    
window.setTimeout("eval('idContentWord"+this.oName+"').document.execCommand('SelectAll');",0);
    }

  
/*** Apply this.arrStyle to the content ***/
  
if(this.arrStyle.length>0)
    {
    var 
oElement=oEditor.document.createElement("<STYLE>");
    var 
n=oEditor.document.styleSheets.length;
    
oEditor.document.documentElement.childNodes[0].appendChild(oElement);
    for(var 
i=0;i<this.arrStyle.length;i++)
      {
      
selector=this.arrStyle[i][0];
      
style=this.arrStyle[i][3];
      
oEditor.document.styleSheets(n).addRule(selector,style);
      }
    }

  
this.cleanDeprecated();
  }
function 
putHTML(sHTML)//used by source editor
  
{
  var 
oEditor=eval("idContent"+this.oName);

  
//save doctype (if any/if not body only)
  
var arrA=String(sHTML).match(/<!DOCTYPE[^>]*>/ig);
  if(
arrA)
    for(var 
i=0;i<arrA.length;i++)
      {
      
this.docType=arrA[i];
      }
  else 
this.docType="";//back to default value

  //save html (if any/if not body only)
  
var arrB=String(sHTML).match(/<HTML[^>]*>/ig);
  if(
arrB)
    for(var 
i=0;i<arrB.length;i++)
      {
      
s=arrB[i];
      
s=s.replace(/\"[^\"]*\"/ig,function(x){
            x=x.replace(/&/g, "
&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/'/g, "&apos;").replace(/\s+/ig,"#_#");
            
return x});
      
s=s.replace(/<([^ >]*)/ig,function(x){return x.toLowerCase()});         
      
s=s.replace(/ ([^=]+)=([^" >]+)/ig," $1=\"$2\"");
      
s=s.replace(/ ([^=]+)=/ig,function(x){return x.toLowerCase()});
      
s=s.replace(/#_#/ig," ");
      
this.html=s;
      }
  else 
this.html="<html>";//back to default value

  //Dalam pengeditan kalau pakai doctype,
  //membuat mouse tdk bisa di-klik di empty area
  //sHTML=String(sHTML).replace(/<!DOCTYPE[^>]*>/ig,"");
  
if(this.publishingPath!="")
    {
    var 
arrA sHTML.match(/<base[^>]*>/ig);
    if(!
arrA)
      {
      
sHTML="<BASE HREF=\""+this.publishingPath+"\"/>"+sHTML;
      }
    }

  var 
oDoc=oEditor.document.open("text/html","replace");
  
oDoc.write(sHTML);
  
oDoc.close();
  
oEditor.document.body.contentEditable=true;
  
//oEditor.document.body.onload=new Function("eval('idContent"+this.oName+"').document.body.contentEditable=true");
  
oEditor.document.execCommand("2D-Position",true,true);
  
oEditor.document.execCommand("MultipleSelection",true,true);
  
oEditor.document.execCommand("LiveResize",true,true);

  
//RealTime
  //oEditor.document.body.onkeydown=new Function("editorDoc_onkeydown('"+this.oName+"')");
  
oEditor.document.body.onkeyup=new Function("editorDoc_onkeyup('"+this.oName+"')");
  
oEditor.document.body.onmouseup=new Function("editorDoc_onmouseup('"+this.oName+"')");

  
//<br> or <p>
  
oEditor.document.body.onkeydown=new Function("doKeyPress(eval('idContent"+this.oName+"').event,'"+this.oName+"')");

  
//*** RUNTIME STYLES ***
  
this.runtimeBorder(false);
  
this.runtimeStyles();
  
//***********************
  
  /*** No need to apply this.css or this.arrStyle to the content 
  assuming that the content has stylesheet applied.
  ***/

  
this.cleanDeprecated();
  }

function 
encodeHTMLCode(sHTML) {
  return 
sHTML.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
}

function 
getTextBody()
  {
  var 
oEditor=eval("idContent"+this.oName);
  return 
oEditor.document.body.innerText;
  }
function 
getHTML()
  {
  var 
oEditor=eval("idContent"+this.oName);
  
this.cleanDeprecated();

  
sHTML=oEditor.document.documentElement.outerHTML;
  
sHTML=String(sHTML).replace(/ contentEditable=true/g,"");
  
sHTML String(sHTML).replace(/\<PARAM NAME=\"Play\" VALUE=\"0\">/ig,"<PARAM NAME=\"Play\" VALUE=\"-1\">");
  
sHTML=this.docType+sHTML;//restore doctype (if any)
  
sHTML=oUtil.replaceSpecialChar(sHTML);
  if(
this.encodeIOsHTML=encodeHTMLCode(sHTML);
  return 
sHTML;
  }
function 
getHTMLBody()
  {
  var 
oEditor=eval("idContent"+this.oName);
  
this.cleanDeprecated();

  
sHTML=oEditor.document.body.innerHTML;
  
sHTML=String(sHTML).replace(/ contentEditable=true/g,"");
  
sHTML String(sHTML).replace(/\<PARAM NAME=\"Play\" VALUE=\"0\">/ig,"<PARAM NAME=\"Play\" VALUE=\"-1\">");
  
sHTML=oUtil.replaceSpecialChar(sHTML);
  if(
this.encodeIOsHTML=encodeHTMLCode(sHTML);
  return 
sHTML;
  }
var 
sBaseHREF="";
function 
getXHTML()
  {
  var 
oEditor=eval("idContent"+this.oName);
  
this.cleanDeprecated();

  
//base handling
  
sHTML=oEditor.document.documentElement.outerHTML;
  var 
arrTmp=sHTML.match(/<BASE([^>]*)>/ig);
  if(
arrTmp!=null)sBaseHREF=arrTmp[0];
  for(var 
i=0;i<oEditor.document.all.length;i++)
    if(
oEditor.document.all[i].tagName=="BASE")oEditor.document.all[i].removeNode();
  for(var 
i=0;i<oEditor.document.all.length;i++)
    if(
oEditor.document.all[i].tagName=="BASE")oEditor.document.all[i].removeNode();
  
//~~~~~~~~~~~~~
  
sBaseHREF=sBaseHREF.replace(/<([^ >]*)/ig,function(x){return x.toLowerCase()});           
  
sBaseHREF=sBaseHREF.replace(/ [^=]+="[^"]+"/ig,function(x){
        x=x.replace(/\s+/ig,"
#_#");
        
x=x.replace(/^#_#/," ");
        
return x});
  
sBaseHREF=sBaseHREF.replace(/ ([^=]+)=([^" >]+)/ig," $1=\"$2\"");
  
sBaseHREF=sBaseHREF.replace(/ ([^=]+)=/ig,function(x){return x.toLowerCase()});
  
sBaseHREF=sBaseHREF.replace(/#_#/ig," ");

  
sBaseHREF=sBaseHREF.replace(/>$/ig," \/>").replace(/\/ \/>$/ig,"\/>");
  
//~~~~~~~~~~~~~

  
sHTML=recur(oEditor.document.documentElement,"");
  
sHTML=this.docType+this.html+sHTML+"\n</html>";//restore doctype (if any) & html
  
sHTML=sHTML.replace(/<\/title>/,"<\/title>"+sBaseHREF);//restore base href
  
sHTML=oUtil.replaceSpecialChar(sHTML);
  if(
this.encodeIOsHTML=encodeHTMLCode(sHTML);
  return 
sHTML;
  }
function 
getXHTMLBody()
  {
  var 
oEditor=eval("idContent"+this.oName);
  
this.cleanDeprecated();

  
//base handling
  
sHTML=oEditor.document.documentElement.outerHTML;
  var 
arrTmp=sHTML.match(/<BASE([^>]*)>/ig);
  if(
arrTmp!=null)sBaseHREF=arrTmp[0];
  for(var 
i=0;i<oEditor.document.all.length;i++)
    if(
oEditor.document.all[i].tagName=="BASE")oEditor.document.all[i].removeNode();
  for(var 
i=0;i<oEditor.document.all.length;i++)
    if(
oEditor.document.all[i].tagName=="BASE")oEditor.document.all[i].removeNode();
  
//~~~~~~~~~~~~~

  
sHTML=recur(oEditor.document.body,"");
  
sHTML=oUtil.replaceSpecialChar(sHTML);
  if(
this.encodeIOsHTML=encodeHTMLCode(sHTML);
  return 
sHTML;
  }

function 
ApplyExternalStyle(oName)
  { 
  var 
oEditor=eval("idContent"+oName);
  var 
sTmp="";
  for(var 
j=0;j<oEditor.document.styleSheets.length;j++)
    {
    var 
myStyle=oEditor.document.styleSheets(j);

    
//In full HTML editing: this will parse linked & embedded stylesheet
    //In Body content editing: this will parse all embedded/applied css & arrStyle.
    
for(var i=0;i<myStyle.rules.length;i++)
      {
      
sSelector=myStyle.rules.item(i).selectorText
      
sCssText=myStyle.rules.item(i).style.cssText.replace(/"/g,"&quot;");
      var itemCount = sSelector.split("
.").length;
      if(itemCount>1) 
        {
        sCaption=sSelector.split("
.")[1];
        sTmp+="
,[\""+sSelector+"\",true,\""+sCaption+"\",\""sCssText "\"]";
        }
      else 
sTmp+=",[\""+sSelector+"\",false,\"\",\""sCssText "\"]";
      }
    }
  var 
arrStyle = eval("["+sTmp.substr(1)+"]"); 
  eval(
oName).arrStyle=arrStyle;//Update arrStyle property
  
}

function 
doApplyStyle(oName,sClassName)
  {
  
//Focus stuff
  
if(!eval(oName).checkFocus())return;
  
  var 
oEditor=eval("idContent"+oName);
  var 
oSel=oEditor.document.selection.createRange();

  eval(
oName).saveForUndo();

  if(
oUtil.activeElement)
    {
    
oElement=oUtil.activeElement;
    
oElement.className=sClassName;
    }
  else if (
oSel.parentElement)  
    {
    if(
oSel.text=="")
      {
      
oElement=oSel.parentElement();
      if(
oElement.tagName=="BODY")return;
      
oElement.className=sClassName;
      }
    else
      {
      
//var idNewSpan=eval(oName).applySpan();
      //if(idNewSpan)idNewSpan.className=sClassName;
      
eval(oName).applySpanStyle([],sClassName);
      }
    }
  else 
    {
    
oElement=oSel.item(0);
    
oElement.className=sClassName;
    }
  
realTime(oName);
  }
function 
openStyleSelect()
  {
  if(!
this.isCssLoaded)ApplyExternalStyle(this.oName);
  
this.isCssLoaded=true;//make only 1 call to ApplyExternalStyle()