")+1);
sBodyTag=s;
//XHTML inside BODY tag
sBodyContent=recur(oEditor.document.body,"");
if(sBodyContent.substr(0,4)=="
")sBodyContent=sBodyContent.substr(4);//remove
if it is added by lineBreak2()
//Display
idSource.document.body.innerHTML=sBodyContent;
idSource.document.body.style.cssText="overflow-x:scroll;overflow-y:scroll;white-space:nowrap";
//Format
idSource.document.body.contentEditable=true;
idSource.document.body.clearAttributes;
idSource.document.body.style.marginTop='4';
idSource.document.body.style.marginLeft='10';
idSource.document.body.style.fontFamily='Tahoma';
idSource.document.body.style.fontSize='11px';
idSource.document.body.style.color='black';
idSource.document.body.style.background='white';
idSource.document.body.onkeydown = new Function("doKeyPress(idSource.event)");
idSource.focus();
doWrap();
//selThis
for(var i=0;i
"+sBodyFooter;
obj.putHTML(sHTML);
//*** RUNTIME STYLES ***
obj.runtimeBorder(false);
obj.runtimeStyles();
//***********************
}
/************************
HTML to XHTML (formatted)
************************/
function lineBreak2(tag) //[0]
","",""];
if( tag=="A"||tag=="B"||tag=="CITE"||tag=="CODE"||tag=="EM"||
tag=="FONT"||tag=="I"||tag=="SMALL"||tag=="STRIKE"||tag=="BIG"||
tag=="STRONG"||tag=="SUB"||tag=="SUP"||tag=="U"||tag=="SAMP"||
tag=="S"||tag=="VAR"||tag=="BASEFONT"||tag=="KBD"||tag=="TT")
arrReturn=["","",""];
if( tag=="TEXTAREA"||tag=="TABLE"||tag=="THEAD"||tag=="TBODY"||
tag=="TR"||tag=="OL"||tag=="UL"||tag=="DIR"||tag=="MENU"||
tag=="FORM"||tag=="SELECT"||tag=="MAP"||tag=="DL"||tag=="HEAD"||
tag=="BODY"||tag=="HTML")
arrReturn=["
","","
"];
if( tag=="STYLE"||tag=="SCRIPT")
arrReturn=["
","",""];
if(tag=="BR"||tag=="HR")
arrReturn=["","
",""];
return arrReturn;
}
function fixAttr(s)
{
s = String(s).replace(/&/g, "&");//harus di awal
s = String(s).replace(//g, ">");//tdk apa2
s = String(s).replace(/"/g, """);
//s = String(s).replace(/'/g, "'");//tdk apa2
return s;
}
function fixVal(s)
{
s = String(s).replace(/&/g, "&");//harus di awal
s = String(s).replace(//g, ">").replace(/'/g, "'").replace(/[\s+]/ig,"#_#");
return x});
s=s.replace(/<([^ >]*)/ig,function(x){return x.toLowerCase()})
s=s.replace(/ ([^=]+)=([^"' >]+)/ig," $1=\"$2\"");//new
s=s.replace(/ ([^=]+)=/ig,function(x){return x.toLowerCase()});
s=s.replace(/#_#/ig," ");
s=s.replace(/]*)>/ig,"\n").replace(/\/ \/>$/ig," \/>");//no closing tag
if(sTagName=="EMBED")
if(oNode.innerHTML=="")
s=s.replace(/>$/ig," \/>").replace(/\/ \/>$/ig,"\/>");//no closing tag
s=s.replace(//,"")
sSelThis="";//selThis
if(oElement==oNode)sSelThis=" selThis='selThis'"
/*** format ***/ //selThis
sHTML+="
";
/*** format ***/
sHTML+="<<\/font>title"+
"><\/font>" + oNode.innerHTML +
"</title"+
">";
/**************/
}
else
{
if(sTagName=="AREA")
{
var sCoords=oNode.coords;
var sShape=oNode.shape;
}
var oNode2=oNode.cloneNode();
s=oNode2.outerHTML.replace(/<\/[^>]*>/,"");
if(sTagName=="STYLE")
{
var arrTmp=s.match(/<[^>]*>/ig);
s=arrTmp[0];
}
s=s.replace(/\"[^\"]*\"/ig,function(x){
//x=x.replace(/&/g, "&").replace(//g, ">").replace(/'/g, "'").replace(/[\s+]/ig,"#_#");
x=x.replace(/&/g, "&").replace(//g, ">").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," ");
//single attribute
s=s.replace(/[
)/ig,"nowrap=\"nowrap\"\>");
s=s.replace(/ contenteditable=\"true\"/ig,"");
if(sTagName=="AREA")
{
s=s.replace(/ coords=\"0,0,0,0\"/ig," coords=\""+sCoords+"\"");
s=s.replace(/ shape=\"RECT\"/ig," shape=\""+sShape+"\"");
}
var bClosingTag=true;
if(sTagName=="IMG"||sTagName=="BR"||
sTagName=="AREA"||sTagName=="HR"||
sTagName=="INPUT"||sTagName=="BASE"||
sTagName=="LINK"||sTagName=="META")//no closing tag
{
s=s.replace(/>$/ig," \/>").replace(/\/ \/>$/ig,"\/>");//no closing tag
bClosingTag=false;
}
sSelThis="";//selThis
if(oElement==oNode)sSelThis=" selThis='selThis'"
/*** format ***/ //selThis
sA1="<<\/font>"
sA2="<\/font>"
sA3="><\/font>"
sA4="/><\/font>"
s=s.replace(/<([^ >]*)([^ \/>]*)/ig,sA1+"$1"+sA2+"$2");
//s=s.replace(/\/>$/ig,sA4);//if there is no closing tag
s=s.replace(/>$/ig,sA3);
/**************/
sHTML+=s;
if(!bClosingTag)sHTML+="";//selThis
/*** tabs ***/
if(sTagName!="TEXTAREA")sHTML+= lineBreak2(sTagName)[1];
if(sTagName!="TEXTAREA")if(lineBreak2(sTagName)[1] !="") sHTML+= sT;//If new line, use base Tabs
/************/
if(bClosingTag)
{
/*** CONTENT ***/
s=oNode.outerHTML
if(sTagName=="SCRIPT")
{
s = s.replace(/