// EDITOR PUBLIC (API) // POPUP (Link, table and image popup need to be worked on) function _CPopup_Init() { var sz = ""+ "
| "+ " | "+ L_CLOSEBUTTON_TEXT+ " | "+ "
|---|
| " + "" + L_STYLESAMPLE_TEXT + "" + " | " + "
| " + "" + "ABC abc 123" // + defaultFonts[i][1] + " " + (defaultFonts[i][2] ? ("(" + defaultFonts[i][1] + ")") : "") + " | " + "
| " + L_CUSTOMFONT_TEXT + " |
", L_STYLENORMAL_TEXT) defaultParagraphs[1] = new Array("
", L_STYLEFORMATTED_TEXT)
for (var i=2; i <= 7; i++)
defaultParagraphs[i] = new Array("", L_STYLEHEADING_TEXT + (i-1))
sz = ""
for (var i=0; i < defaultParagraphs.length; i++)
{
sz += ""
+ ""
+ ""
+ defaultParagraphs[i][0]
+ defaultParagraphs[i][1]
+ "" + defaultParagraphs[i][0].substring(1)
+ " "
+ " "
}
sz += "
"
return sz
}
function _CTablePopupRenderer_PrepareHTMLPage(szID,bDisplay) {
var sz=""
+ ""
+ ""
+ ""
+ ""
+ L_TABLEROWSANDCOLS_TEXT
+ ""
+ "
"
+ ""
+ L_TABLEPADDINGANDSPACING_TEXT
+ ""
+ "
"
+ ""
+ L_TABLEBORDERS_TEXT
+ ""
+ "
"
+ ""
+ L_TABLEBG_TEXT
+ ""
+ "
"
+ " "
+ ""
+ " "
+ ""
if (szID=="tabNewBody") {
sz+= ""
+ "" + L_TABLEROWSANDCOLS_TEXT + "
"
+ ""
+ L_TABLEINPUTROWS_TEXT
+ " "
+ " "
+ L_TABLEINPUTCOLUMNS_TEXT
+ " "
+ "
"
}
else {
sz+= ""
+ "" + L_TABLEROWSANDCOLS_TEXT + "
"
+ ""
+ "
"
+ "
"
}
sz += ""
+ "" + L_TABLEPADDINGANDSPACING_TEXT + "
"
+ L_TABLEINPUTCELLPADDING_TEXT
+ ""
+ "
"
+ L_TABLEINPUTCELLSPACING_TEXT
+ ""
+ ""
+ ""
+ "" + L_TABLEBORDERS_TEXT + "
"
+ L_TABLEINPUTBORDER_TEXT
+ ""
+ "
"
+ L_TABLEINPUTBORDERCOLOR_TEXT
+ "
"
+ _CUtil_BuildColorTable("idBorder"+szID, "", "parent._CTablePopupRenderer_ColorSelect(this,'" + szID + "txtBorderColor')")
+ ""
+ ""
+ "" + L_TABLEBG_TEXT + "
"
+ L_TABLEINPUTBGIMGURL_TEXT
+ ""
+ "
"
+ L_TABLEINPUTBGCOLOR_TEXT
+ "
"
+ _CUtil_BuildColorTable("idBackground"+szID, "", "parent._CTablePopupRenderer_ColorSelect(this,'" + szID + "txtBackgroundColor')")
+ ""
+ " "
+ " "
if (szID=="tabNewBody") {
sz += ""
+ " "
} else {
sz += ""
+ " "
}
sz+= "
"
return sz
}
function _CTablePopupRenderer_PrepareHTML()
{
var sz = "New Table "
+ "Edit Table "
+ _CTablePopupRenderer_PrepareHTMLPage("tabNewBody",true)
+ _CTablePopupRenderer_PrepareHTMLPage("tabEditBody",false)
+ "
"
return sz
}
function _CTablePopupRenderer_Select(el,szID, id)
{
var d = el.document
for (var i = 1; i < 5; i++)
d.all[szID + "prop" + i].style.display = "none"
d.all[szID + id].style.display = ""
}
function _CTablePopupRenderer_ColorSelect(el,id)
{
el.document.all[id].value = el.bgColor
}
function _CTablePopupRenderer_AddRow(el) {
var elRow = el.document.elCurrent.insertRow()
for (var i=0;i"
for (var r=0; r < d.all[szID + "txtRows"].value; r++)
{
sz += ""
for (var c=0; c < d.all[szID + "txtColumns"].value; c++)
sz += " "
sz += " "
}
sz += ""
insertHTML(sz)
} else
if (d.elCurrent) {
d.elCurrent.cellPadding = d.all.tabEditBodytxtPadding.value
d.elCurrent.cellSpacing = d.all.tabEditBodytxtSpacing.value
d.elCurrent.border = d.all.tabEditBodytxtBorder.value
d.elCurrent.className = (d.elCurrent.border=="" || d.elCurrent.border==0) ? "NOBORDER" : ""
d.elCurrent.borderColor = d.all.tabEditBodytxtBorderColor.value
d.elCurrent.bgColor = d.all.tabEditBodytxtBackgroundColor.value
d.elCurrent.background = d.all.tabEditBodytxtBackgroundImage.value
}
_CPopup_Hide()
}
function _CListPopupRenderer_OnClick()
{
var elTD = _CUtil_GetElement(this.oDocument.parentWindow.event.srcElement, "TD")
if (elTD && elTD._item) this.Select(elTD)
}
function _CListPopupRenderer_GenericOnKeyDown() {
var ev = this.oDocument.parentWindow.event
if (ev.keyCode==27) _CPopup_Hide()
}
function _CListPopupRenderer_OnKeyDown()
{
var el
var iRow = iCell = 0
var ev = this.oDocument.parentWindow.event
var idList = this.oDocument.all.idList
var elTR = _CUtil_GetElement(this.elCurrent,"TR")
var elTD = _CUtil_GetElement(this.elCurrent,"TD")
if (elTR != null)
{
iRow = elTR.rowIndex
iCell = elTD.cellIndex
}
switch (ev.keyCode)
{
case 37:
iCell--
if (iCell < 0)
iCell = idList.rows[iRow].cells.length-1
break
case 38:
iRow--
if (iRow < 0)
iRow = idList.rows.length-1
break
case 39:
iCell++
if (iCell > idList.rows[iRow].cells.length-1)
iCell = 0
break
case 40:
iRow++
if (iRow > idList.rows.length-1)
iRow = 0
break
case 13:
break;
case 27:
_CPopup_Hide()
break;
default:
return;
}
el = idList.rows[iRow].cells[iCell]
if (el && el._item)
if (13 == ev.keyCode) {
ev.keyCode=0
this.Select(el)
}
else
this.Highlight(el)
}
function _CListPopupRenderer_OnMouseOver()
{
var el = _CUtil_GetElement(this.oDocument.parentWindow.event.srcElement, "TD")
if (el && el._item && el != this.elCurrent)
this.Highlight(el)
}
function _CListPopupRenderer_Highlight(el)
{
var elC = this.elCurrent
if (elC) elC.style.borderWidth = elC.style.borderColor = elC.style.borderStyle = ""
el.style.borderWidth = "1px"
el.style.borderColor = "green"
el.style.borderStyle = "solid"
this.elCurrent = el
}
function _CListPopupRenderer_Select(elTD)
{
g_state.RestoreSelection()
var el = elTD.children[0]
switch (this.szType)
{
case "font":
_Format("FontName",el.face)
break
case "fontsize":
_Format("FontSize",el.size)
break
case "formatblock":
_Format("FormatBlock","<" + el.tagName + ">")
break
case "ForeColor":
_Format("ForeColor", elTD.bgColor)
break
case "BackColor":
_Format("BackColor",elTD.bgColor)
break
}
_CPopup_Hide()
}
function _CLinkPopupRenderer_AddLink(d)
{
var szURL = d.all.urlValue.value
var szType = d.all.urlType[d.all.urlType.selectedIndex].text
var oSel = g_state.GetSelection()
var sType = oSel.type
szURL = ((0 == szURL.indexOf("mailto:") || 0 == szURL.indexOf("http://") || 0 == szURL.indexOf("ftp://")) ? "" : szType) + szURL
if (szURL!="")
{
if ((oSel.parentElement) && (oSel.text==""))
{
oSel.expand("word")
if (oSel.text=="")
{
var oStore = oSel.duplicate()
if (d.all.pageList) {
var idx = d.all.pageList.selectedIndex
if (d.all.pageList[idx].value==szURL)
oSel.text = d.all.pageList[idx].text
else
oSel.text = szURL
}
else
oSel.text = szURL
oSel.setEndPoint("StartToStart",oStore)
}
oSel.select()
sType="Text"
}
if ((oSel.item) && (oSel.item(0).tagName=="IMG"))
{
oSel.item(0).width = oSel.item(0).offsetWidth
oSel.item(0).height = oSel.item(0).offsetHeight
oSel.item(0).border = (d.all.displayBorder.checked) ? 1 : ""
}
if (d.all.urlValue.value!="")
oSel.execCommand("CreateLink",false,szURL)
else
oSel.execCommand("UnLink",false,szURL)
}
idEditbox.focus()
}
function _CLinkPopupRenderer__UpdateURL(oDoc,szURL) {
var szType = szURL.substring(0,szURL.indexOf(":"))
for (var i=0;i0)
{
sz += ""
+ ""
+ ""
/*
+ L_LINKSELECT_TEXT
+ ""
*/
}
var arTypes = new Array("","http","ftp","mailto")
var arText = new Array("","http://","ftp://","mailto:")
var szType = szURL.substring(0,szURL.indexOf(":"))
if (("http"==szType) || ("ftp"==szType))
szURL = szURL.substring(szURL.indexOf("//")+2)
else
szURL = szURL.substring(szURL.indexOf(":")+1)
sz += ""
+ "
"
+ L_LINKWEB_TEXT
+ " "
if (bImg)
{
sz += ""
+ "
"
+ ""
+ L_LINKIMGBORDER_TEXT
}
sz += ""
+ " "
+ " "
+ ""
+ ""
+ " "
+ " "
+ " "
+ ""
return sz
}
// UTIL
function _CUtil_GetElement(oEl,sTag)
{
while (oEl!=null && oEl.tagName!=sTag)
oEl = oEl.parentElement
return oEl
}
function _CUtil_BuildColorTable(sID,fmt,szClick)
{
var sz, cPick = new Array("00","33","66","99","CC","FF"), iCnt=2
var iColors = cPick.length, szColor = ""
sz = " "
+ ""
for (var r=0;r"
for (var g=iColors-1;g>=0;g--)
for (var b=iColors-1;b>=0;b--) {
szColor = cPick[r]+cPick[g]+cPick[b]
sz+=" "
}
sz+=""
}
sz+="
"
return sz
}
function _CUtil_GetBlock(oEl)
{
var sBlocks = "|H1|H2|H3|H4|H5|H6|P|PRE|LI|TD|DIV|BLOCKQUOTE|DT|DD|TABLE|HR|IMG|"
while ((oEl!=null) && (sBlocks.indexOf("|"+oEl.tagName+"|")==-1))
oEl = oEl.parentElement
return oEl
}