//
// Constants
//
var MENU_SEPARATOR = ""; // Context menu separator
//
// Globals
//
var docComplete = false;
var initialDocComplete = false;
var QueryStatusToolbarButtons = new Array();
var QueryStatusEditMenu = new Array();
var QueryStatusFormatMenu = new Array();
var QueryStatusHTMLMenu = new Array();
var QueryStatusTableMenu = new Array();
var QueryStatusZOrderMenu = new Array();
var ContextMenu = new Array();
var GeneralContextMenu = new Array();
var TableContextMenu = new Array();
var AbsPosContextMenu = new Array();
//
// Utility functions
//
//open pdf files window
function insert_link() {
var imgWin;
if (imgWin) { imgWin.close() }
imgWin = window.open ("uploadfiles.php?Q=1", "InsertPDF", "width=450, height=350,status=yes,scrollbars=yes,resizable=yes");
imgWin.focus();
}
//insert link to pdf file
function insert_pdf() {
var hlink;
hlink = InsertImageURL.ImageURL.value;
//hlink = InsertImageURL.ImageURL.value + '" border="1';
tbContentElement.ExecCommand(DECMD_HYPERLINK,OLECMDEXECOPT_DONTPROMPTUSER, hlink);
tbContentElement.focus();
}
function OpenNewWindow() {
window.open('http://www.ai.com.au/wysiwyg/update/help.html','help','scrollbars=yes,width=495,height=400');
}
function SelectTable1() {
var tmp
tmp = tbContentElement.DOM.selection.createRange();
//range = tmp.createRange();
alert(tmp.commonParentElement().outerHTML);
}
function ChangeBGColor() {
//#######################//
//var bgcolor = "#003366";
//#######################//
var filteredHTML, head, body,finish,all;
filteredHTML = tbContentElement.FilterSourceCode (tbContentElement.DOM.body.innerHTML);
filteredHTML = encodeHTMLQuotes(filteredHTML);
//filteredHTML = "";
head = "
";
body = '';
finish = "";
all = head + body + filteredHTML + finish;
//tbContentElement.DocumentHTML = head + body + filteredHTML + finish;
tbContentElement.DocumentHTML = all;
}
// insert image
function InsertImage() {
var imageurl;
imageurl = InsertImageURL.ImageURL.value;
//imageurl = imagepath + 'images/abspos.gif"' + ' border="1';
tbContentElement.ExecCommand(DECMD_IMAGE,OLECMDEXECOPT_DONTPROMPTUSER,imageurl);
tbContentElement.focus();
}
// Open insert image window
function OpenInsertImageWindow() {
var imgWin;
if (imgWin) { imgWin.close() }
imgWin = window.open ("insertimage.php", "InsertImage", "width=580, height=350,status=yes,scrollbars=yes,resizable=yes");
imgWin.focus();
//imgeWin.location.reload(true);
//DECMD_IMAGE_onclick()
}
// Pop Up window asking to confirm save
function ConfirmSave() {
result = confirm("Are you sure you wish to save changes?");
if (result) MENU_FILE_SAVE_onclick();
//history.go(-1);
}
// Pop Up window asking to confirm exit
function ConfirmExit() {
result = confirm("Are you sure you wish to exit without saving changes?");
if (result) ExitNoSave();
//history.go(-1);
}
// Pop Up window asking to confirm exit
function ExitNoSave() {
history.go(-1);
}
// Converts double quotes in a string to HTML quot; entities
function encodeHTMLQuotes(strIn)
{
var strOut;
while (strOut != strIn)
{
strOut = strIn;
strIn = strIn.replace('"', 'quote;');
}
return strOut;
}
// Constructor for custom object that represents an item on the context menu
function ContextMenuItem(string, cmdId) {
this.string = string;
this.cmdId = cmdId;
}
// Constructor for custom object that represents a QueryStatus command and
// corresponding toolbar element.
function QueryStatusItem(command, element) {
this.command = command;
this.element = element;
}
//
// Event handlers
//
function window_onload(edit_page) {
var http;
if (ptype == ".wyg"){ http = urlpath + "/loadpage.php?ptl=" + edit_page; }
else {http = imagepath + "/" + edit_page;}
// Initialze QueryStatus tables. These tables associate a command id with the
// corresponding button object. Must be done on window load, 'cause the buttons must exist.
QueryStatusToolbarButtons[0] = new QueryStatusItem(DECMD_BOLD, document.body.all["DECMD_BOLD"]);
QueryStatusToolbarButtons[1] = new QueryStatusItem(DECMD_COPY, document.body.all["DECMD_COPY"]);
QueryStatusToolbarButtons[2] = new QueryStatusItem(DECMD_CUT, document.body.all["DECMD_CUT"]);
QueryStatusToolbarButtons[3] = new QueryStatusItem(DECMD_HYPERLINK, document.body.all["DECMD_HYPERLINK"]);
QueryStatusToolbarButtons[4] = new QueryStatusItem(DECMD_INDENT, document.body.all["DECMD_INDENT"]);
QueryStatusToolbarButtons[5] = new QueryStatusItem(DECMD_ITALIC, document.body.all["DECMD_ITALIC"]);
QueryStatusToolbarButtons[6] = new QueryStatusItem(DECMD_JUSTIFYLEFT, document.body.all["DECMD_JUSTIFYLEFT"]);
QueryStatusToolbarButtons[7] = new QueryStatusItem(DECMD_JUSTIFYCENTER, document.body.all["DECMD_JUSTIFYCENTER"]);
QueryStatusToolbarButtons[8] = new QueryStatusItem(DECMD_JUSTIFYRIGHT, document.body.all["DECMD_JUSTIFYRIGHT"]);
QueryStatusToolbarButtons[9] = new QueryStatusItem(DECMD_LOCK_ELEMENT, document.body.all["DECMD_LOCK_ELEMENT"]);
QueryStatusToolbarButtons[10] = new QueryStatusItem(DECMD_MAKE_ABSOLUTE, document.body.all["DECMD_MAKE_ABSOLUTE"]);
QueryStatusToolbarButtons[11] = new QueryStatusItem(DECMD_ORDERLIST, document.body.all["DECMD_ORDERLIST"]);
QueryStatusToolbarButtons[12] = new QueryStatusItem(DECMD_OUTDENT, document.body.all["DECMD_OUTDENT"]);
QueryStatusToolbarButtons[13] = new QueryStatusItem(DECMD_PASTE, document.body.all["DECMD_PASTE"]);
QueryStatusToolbarButtons[14] = new QueryStatusItem(DECMD_REDO, document.body.all["DECMD_REDO"]);
QueryStatusToolbarButtons[15] = new QueryStatusItem(DECMD_UNDERLINE, document.body.all["DECMD_UNDERLINE"]);
QueryStatusToolbarButtons[16] = new QueryStatusItem(DECMD_UNDO, document.body.all["DECMD_UNDO"]);
QueryStatusToolbarButtons[17] = new QueryStatusItem(DECMD_UNORDERLIST, document.body.all["DECMD_UNORDERLIST"]);
QueryStatusToolbarButtons[18] = new QueryStatusItem(DECMD_INSERTTABLE, document.body.all["DECMD_INSERTTABLE"]);
QueryStatusToolbarButtons[19] = new QueryStatusItem(DECMD_INSERTROW, document.body.all["DECMD_INSERTROW"]);
QueryStatusToolbarButtons[20] = new QueryStatusItem(DECMD_DELETEROWS, document.body.all["DECMD_DELETEROWS"]);
QueryStatusToolbarButtons[21] = new QueryStatusItem(DECMD_INSERTCOL, document.body.all["DECMD_INSERTCOL"]);
QueryStatusToolbarButtons[22] = new QueryStatusItem(DECMD_DELETECOLS, document.body.all["DECMD_DELETECOLS"]);
QueryStatusToolbarButtons[23] = new QueryStatusItem(DECMD_INSERTCELL, document.body.all["DECMD_INSERTCELL"]);
QueryStatusToolbarButtons[24] = new QueryStatusItem(DECMD_DELETECELLS, document.body.all["DECMD_DELETECELLS"]);
QueryStatusToolbarButtons[25] = new QueryStatusItem(DECMD_MERGECELLS, document.body.all["DECMD_MERGECELLS"]);
QueryStatusToolbarButtons[26] = new QueryStatusItem(DECMD_SPLITCELL, document.body.all["DECMD_SPLITCELL"]);
QueryStatusToolbarButtons[27] = new QueryStatusItem(DECMD_SETFORECOLOR, document.body.all["DECMD_SETFORECOLOR"]);
QueryStatusToolbarButtons[28] = new QueryStatusItem(DECMD_SETBACKCOLOR, document.body.all["DECMD_SETBACKCOLOR"]);
QueryStatusEditMenu[0] = new QueryStatusItem(DECMD_UNDO, document.body.all["EDIT_UNDO"]);
QueryStatusEditMenu[1] = new QueryStatusItem(DECMD_REDO, document.body.all["EDIT_REDO"]);
QueryStatusEditMenu[2] = new QueryStatusItem(DECMD_CUT, document.body.all["EDIT_CUT"]);
QueryStatusEditMenu[3] = new QueryStatusItem(DECMD_COPY, document.body.all["EDIT_COPY"]);
QueryStatusEditMenu[4] = new QueryStatusItem(DECMD_PASTE, document.body.all["EDIT_PASTE"]);
QueryStatusEditMenu[5] = new QueryStatusItem(DECMD_DELETE, document.body.all["EDIT_DELETE"]);
QueryStatusHTMLMenu[0] = new QueryStatusItem(DECMD_HYPERLINK, document.body.all["HTML_HYPERLINK"]);
QueryStatusHTMLMenu[1] = new QueryStatusItem(DECMD_IMAGE, document.body.all["HTML_IMAGE"]);
QueryStatusHTMLMenu[2] = new QueryStatusItem(DECMD_PROPERTIES, document.body.all["HTML_PROPERTIES"]);
QueryStatusFormatMenu[0] = new QueryStatusItem(DECMD_FONT, document.body.all["FORMAT_FONT"]);
QueryStatusFormatMenu[1] = new QueryStatusItem(DECMD_BOLD, document.body.all["FORMAT_BOLD"]);
QueryStatusFormatMenu[2] = new QueryStatusItem(DECMD_ITALIC, document.body.all["FORMAT_ITALIC"]);
QueryStatusFormatMenu[3] = new QueryStatusItem(DECMD_UNDERLINE, document.body.all["FORMAT_UNDERLINE"]);
QueryStatusFormatMenu[4] = new QueryStatusItem(DECMD_JUSTIFYLEFT, document.body.all["FORMAT_JUSTIFYLEFT"]);
QueryStatusFormatMenu[5] = new QueryStatusItem(DECMD_JUSTIFYCENTER, document.body.all["FORMAT_JUSTIFYCENTER"]);
QueryStatusFormatMenu[6] = new QueryStatusItem(DECMD_JUSTIFYRIGHT, document.body.all["FORMAT_JUSTIFYRIGHT"]);
QueryStatusFormatMenu[7] = new QueryStatusItem(DECMD_SETFORECOLOR, document.body.all["FORMAT_SETFORECOLOR"]);
QueryStatusFormatMenu[8] = new QueryStatusItem(DECMD_SETBACKCOLOR, document.body.all["FORMAT_SETBACKCOLOR"]);
QueryStatusTableMenu[0] = new QueryStatusItem(DECMD_INSERTTABLE, document.body.all["TABLE_INSERTTABLE"]);
QueryStatusTableMenu[1] = new QueryStatusItem(DECMD_INSERTROW, document.body.all["TABLE_INSERTROW"]);
QueryStatusTableMenu[2] = new QueryStatusItem(DECMD_DELETEROWS, document.body.all["TABLE_DELETEROW"]);
QueryStatusTableMenu[3] = new QueryStatusItem(DECMD_INSERTCOL, document.body.all["TABLE_INSERTCOL"]);
QueryStatusTableMenu[4] = new QueryStatusItem(DECMD_DELETECOLS, document.body.all["TABLE_DELETECOL"]);
QueryStatusTableMenu[5] = new QueryStatusItem(DECMD_INSERTCELL, document.body.all["TABLE_INSERTCELL"]);
QueryStatusTableMenu[6] = new QueryStatusItem(DECMD_DELETECELLS, document.body.all["TABLE_DELETECELL"]);
QueryStatusTableMenu[7] = new QueryStatusItem(DECMD_MERGECELLS, document.body.all["TABLE_MERGECELL"]);
QueryStatusTableMenu[8] = new QueryStatusItem(DECMD_SPLITCELL, document.body.all["TABLE_SPLITCELL"]);
QueryStatusZOrderMenu[0] = new QueryStatusItem(DECMD_SEND_TO_BACK, document.body.all["ZORDER_SENDBACK"]);
QueryStatusZOrderMenu[1] = new QueryStatusItem(DECMD_BRING_TO_FRONT, document.body.all["ZORDER_BRINGFRONT"]);
QueryStatusZOrderMenu[2] = new QueryStatusItem(DECMD_SEND_BACKWARD, document.body.all["ZORDER_SENDBACKWARD"]);
QueryStatusZOrderMenu[3] = new QueryStatusItem(DECMD_BRING_FORWARD, document.body.all["ZORDER_BRINGFORWARD"]);
QueryStatusZOrderMenu[4] = new QueryStatusItem(DECMD_SEND_BELOW_TEXT, document.body.all["ZORDER_BELOWTEXT"]);
QueryStatusZOrderMenu[5] = new QueryStatusItem(DECMD_BRING_ABOVE_TEXT, document.body.all["ZORDER_ABOVETEXT"]);
// Initialize the context menu arrays.
GeneralContextMenu[0] = new ContextMenuItem("Cut", DECMD_CUT);
GeneralContextMenu[1] = new ContextMenuItem("Copy", DECMD_COPY);
GeneralContextMenu[2] = new ContextMenuItem("Paste", DECMD_PASTE);
TableContextMenu[0] = new ContextMenuItem(MENU_SEPARATOR, 0);
TableContextMenu[1] = new ContextMenuItem("Insert Row", DECMD_INSERTROW);
TableContextMenu[2] = new ContextMenuItem("Delete Rows", DECMD_DELETEROWS);
TableContextMenu[3] = new ContextMenuItem(MENU_SEPARATOR, 0);
TableContextMenu[4] = new ContextMenuItem("Insert Column", DECMD_INSERTCOL);
TableContextMenu[5] = new ContextMenuItem("Delete Columns", DECMD_DELETECOLS);
TableContextMenu[6] = new ContextMenuItem(MENU_SEPARATOR, 0);
TableContextMenu[7] = new ContextMenuItem("Insert Cell", DECMD_INSERTCELL);
TableContextMenu[8] = new ContextMenuItem("Delete Cells", DECMD_DELETECELLS);
TableContextMenu[9] = new ContextMenuItem("Merge Cells", DECMD_MERGECELLS);
TableContextMenu[10] = new ContextMenuItem("Split Cell", DECMD_SPLITCELL);
//TableContextMenu[11] = new ContextMenuItem("Edit Table", DECMD_EDITTAB);
AbsPosContextMenu[0] = new ContextMenuItem(MENU_SEPARATOR, 0);
AbsPosContextMenu[1] = new ContextMenuItem("Send To Back", DECMD_SEND_TO_BACK);
AbsPosContextMenu[2] = new ContextMenuItem("Bring To Front", DECMD_BRING_TO_FRONT);
AbsPosContextMenu[3] = new ContextMenuItem(MENU_SEPARATOR, 0);
AbsPosContextMenu[4] = new ContextMenuItem("Send Backward", DECMD_SEND_BACKWARD);
AbsPosContextMenu[5] = new ContextMenuItem("Bring Forward", DECMD_BRING_FORWARD);
AbsPosContextMenu[6] = new ContextMenuItem(MENU_SEPARATOR, 0);
AbsPosContextMenu[7] = new ContextMenuItem("Send Below Text", DECMD_SEND_BELOW_TEXT);
AbsPosContextMenu[8] = new ContextMenuItem("Bring Above Text", DECMD_BRING_ABOVE_TEXT);
//open page
if (edit_page) {
docComplete = false;
tbContentElement.LoadURL(http);
tbContentElement.focus();
}
//docComplete = false;
//ChangeBGColor();
//Show borderless tables
tbContentElement.ShowBorders = !tbContentElement.ShowBorders;
tbContentElement.focus();
}
function InsertTable() {
var pVar = ObjTableInfo;
var args = new Array();
var arr = null;
var TableAttrs = '';
var cellwidth='';
// Display table information dialog
args["NumRows"] = ObjTableInfo.NumRows;
//args["NumRows"] = '2';
args["NumCols"] = ObjTableInfo.NumCols;
//args["TableAttrs"] = ObjTableInfo.TableAttrs;
//args["TableAttrs"] = "border=0 cellPadding=1 cellSpacing=1 width=75%"
//args["CellAttrs"] = ObjTableInfo.CellAttrs;
//args["Caption"] = ObjTableInfo.Caption;
args["CellSpac"] = '1';
args["CellPad"] = '1';
args["Border"] = '0';
args["BorCol"] = 'gray';
args["BGCol"] = '';
arr = null;
arr = showModalDialog( "./instable.htm",
args,
"font-family:Verdana; font-size:12; dialogWidth:36em; dialogHeight:25em");
if (arr != null) {
// Initialize table object
if (arr["NumRows"] != null) ObjTableInfo.NumRows = arr["NumRows"];
if (arr["NumCols"] != null) {
ObjTableInfo.NumCols = arr["NumCols"];
cellwidth = 100 / arr["NumCols"];
cellwidth = 'width=' + cellwidth + '%';
}
TableAttrs = 'width=100% border=' + arr["Border"];
if (arr["CellSpac"] != null) TableAttrs = TableAttrs + ' cellSpacing=' + arr["CellSpac"];
if (arr["CellPad"] != null) TableAttrs = TableAttrs + ' cellPadding=' + arr["CellPad"];
if (arr["BorCol"] != '') TableAttrs = TableAttrs + ' bordercolor=' + arr["BorCol"];
if (arr["BGCol"] !='') TableAttrs = TableAttrs + ' bgcolor=' + arr["BGCol"];
//alert(TableAttrs);
ObjTableInfo.TableAttrs = TableAttrs;
//ObjTableInfo.CellAttrs = cellwidth;
ObjTableInfo.Caption='';
tbContentElement.ExecCommand(DECMD_INSERTTABLE,OLECMDEXECOPT_DODEFAULT, pVar);
}
}
function tbContentElement_ShowContextMenu() {
var menuStrings = new Array();
var menuStates = new Array();
var state;
var i
var idx = 0;
// Rebuild the context menu.
ContextMenu.length = 0;
// Always show general menu
for (i=0; i