SitePoint Sponsor

User Tag List

Results 1 to 3 of 3
  1. #1
    SitePoint Addict
    Join Date
    Feb 2012
    Location
    Kiwi in Bangkok
    Posts
    373
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Wanting to remove Tab from WYSIWYG Editor

    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()



  2. #2
    Under Construction silver trophybronze trophy AussieJohn's Avatar
    Join Date
    Sep 2005
    Location
    Sydney, Australia
    Posts
    776
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)
    This is just a hunch, but I'm seeing a section that looks like:

    Code:
    this.tabs=[ 
      ["tabHome", "Home", ["grpEdit", "grpFont", "grpPara", "grpInsert", "grpTables"]], 
      ["tabStyle", "Objects", ["grpMedia", "grpMisc"]] 
      ];
    Try removing the second array element from there...

    So you'd end up with:
    Code:
    this.tabs=[ 
      ["tabHome", "Home", ["grpEdit", "grpFont", "grpPara", "grpInsert", "grpTables"]]
      ];
    var details = {
    . . web: "afterlight.com.au",
    . . photos: "jvdl.id.au",
    . . psa: "usethelatestversion.com"
    }

  3. #3
    SitePoint Addict
    Join Date
    Feb 2012
    Location
    Kiwi in Bangkok
    Posts
    373
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hello AussieJohn,

    thank you for your reply, very much appreciated, and it worked! Yes!

    I had removed your suggested code from my Host server, yet no change,

    Yet this time I removed that piece of code from the file, then re-uploaded the complete script to the Host server, and it worked perfect!

    thank you

    Quote Originally Posted by AussieJohn View Post
    This is just a hunch, but I'm seeing a section that looks like:

    Code:
    this.tabs=[ 
      ["tabHome", "Home", ["grpEdit", "grpFont", "grpPara", "grpInsert", "grpTables"]], 
      ["tabStyle", "Objects", ["grpMedia", "grpMisc"]] 
      ];
    Try removing the second array element from there...

    So you'd end up with:
    Code:
    this.tabs=[ 
      ["tabHome", "Home", ["grpEdit", "grpFont", "grpPara", "grpInsert", "grpTables"]]
      ];


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •