|
frederic -> RE: Tip: How to integrate MailArchiver with OWA 2003 (3.Apr.2006 3:41:00 AM)
|
quote:
Has anyone else been able to get this to work? Would it be too much to ask that someone who has gotten it to work post their vw_navbar.js file for those of us with no programming experience to have a peek :) You need to follow the instructions carefully when editing the file. Here's mine anyway. Note that I am running Exchange 2003 SP3, and the file used by OWA is in C:\Program Files\Exchsrvr\exchweb\6.5.7638.1\controls\
/*
'------------------------------------------------------------------------------
'
' NAME: vw_Navbar.js
' VERSION: 1.01 - 16/03/2006 Compatible with all releases of Exchaage 2003
' 1.00 - 03/23/2004 Initial release for OWA RTM _only_
'
' DESCRIPTION: This modification adds a new tab to the OWA 2003 rich client UI
' navigation bar.
'
' NOTE: This Exchange 2003 OWA tweak is unsupported by Microsoft. If
' you are running into problems you might need to revert back to
' to the backup done before applying this tweak.
'
' Copyright (c) 2006 Frederic Guigand
' 2004 Siegfried Weber [link=http://playground.doesntexist.org/]http://playground.doesntexist.org/[/link]
'
'------------------------------------------------------------------------------
*/
//Copyright (c) 2000-2003 Microsoft Corporation. All rights reserved.
var g_winDocAll = window.document.all;var g_HTTPDelItems = null;var g_iAddCount=0;var g_iTabTopOffset = 38;var g_fHasGottenFolders = false;var g_rgAuthDomains = new Array();var g_nFlybarHeight = 25;var g_nFontHeight = 13;var g_idFlyPopup = -1;var CTL_E_PERMISSIONDENIED = (1^0x800a0046)-1;var FACILITY_WIN32_ERROR_ACCESS_DENIED = (1^0x80070005)+1;var g_wndReminder = null;var g_ctlReminder = null;var g_ctlTaskRem = null;var g_nEnableNewMail = 0;var g_nNewMailNewVal = 0;var m_fTasks = false;var m_fAppts = false;var g_fUpdTask = false;var g_fUpdAppt = false;var g_fCCM = false;var g_szDnIco = "expand.gif";var g_szUpIco = "collapse.gif";var g_iExp = 1;var g_iCol = -1;var g_fCMImgs = true;var g_rgFlyItms = new Array();var g_iFlyTr = 0;var REM_TYPE_APPT = "appt";var REM_TYPE_TASK = "task";var CONST_IPM_APPT = "IPM.Appointment";var CONST_IPM_TASK = "IPM.Task";var m_rgszXML = new Array(2);
// #####################################################################################
//var g_rgBigLinks = new Array("idInbox","idCalendar","idContacts","idTasks","idPubFold","idRules","idOptions","idLogOff");
var g_rgBigLinks = new Array("idInbox","idCalendar","idContacts","idTasks","idPubFold","idRules","idOptions","idCustom","idLogOff");
// #####################################################################################
var g_fDXInstalled = true;var g_szErrReq = "";var g_fUseTime2 = true;var MAX_REM_DELAY = 60000;var g_idTaskRmTmr = -1;var g_idCalRmTmr = -1;var CONST_B_SOUND = 0x1;var CONST_B_CALENDAR = 0x4;var CONST_B_TASKS = 0x8;g_szrgErrors = new Array();g_szrgErrors[900] = L_ErrComm;g_szrgErrors[401] = L_ErrLogon;g_szrgErrors[404] = L_ErrItmNotFound;g_szrgErrors[405] = L_ErrDupFoldName;g_szrgErrors[403] = L_ErrAccDenied;g_szrgErrors[412] = L_ErrPrecond;g_szrgErrors[500] = L_ErrIntSvr;g_szrgErrors[501] = L_ErrIntSvr;g_szrgErrors[502] = L_ErrGateway;g_szrgErrors[503] = L_ErrSvcNotAvail;g_szrgErrors[1001] = L_ErrBadChar;var g_ctlNotify = null;var g_oSound = null;var g_oPopup = null;var m_rgRequestQueue = null;
function objTree_OnFolderOperationComplete()
{if (event != null && event.contentType == 1)
{try
{if (event.rgParams != false)
parent.viewer.RefreshMessageList(null, event.rgParams);}
catch(e) {}
}
if (event != null && event.command == "EXPAND")
syncViewWithTree();}
function objTree_onError()
{f_HandleError(event.statusCode);}
function objTree_onReady()
{if (g_iAddCount == 0)
{g_iAddCount++;if (g_fIsPublic)
{objTree.addHierarchy(window.location, true, g_fPublicRoot ? L_PubFoldDN : null);}
else
{objTree.addHierarchy(g_sBase, true, g_sUserDisp, false);if ("1" == g_bShowSF)
{g_iAddCount++;objTree.addHierarchy(g_sBase+g_sFinderUrl, true, L_SavedSearch, true);}
showTree();}
}
syncViewWithTree();treeProgress.style.display = "none";}
function objTree_onSelectFolder()
{event.cancelBubble = true;event.returnValue = false;if (event)
Navigate(event.url + "?Cmd=contents"+((event.isDeletedItems)?"&allowShowDeleted=1":""));}
function objTree_OnLoginTimeout()
{showLogonPage(g_szVirtualRoot, g_sBase, true);}
function syncViewWithTree()
{try
{var sUrl = parent.viewer.document.location.protocol + "//" + parent.viewer.document.location.host + parent.viewer.document.location.pathname;objTree.selectNode(sUrl, false, false);}
catch(e){}
}
function window.onload()
{if (!g_sBase) return(false);try
{var iHeight = Math.round(screen.availHeight * 0.75);if (iHeight < 550)
iHeight = 550;parent.g_iNewWindowHeight = iHeight;} catch (e) {}
if (!g_fIsPublic)
{g_ctlReminder = g_winDocAll['objReminder'];g_ctlTaskRem = g_winDocAll['objTaskRem'];g_ctlNotify = g_winDocAll['objNotify'];if ((null != g_ctlReminder) && (CONST_B_CALENDAR == (g_bmpEnableReminders & CONST_B_CALENDAR))
&& (g_idCalRmTmr == -1))
g_idCalRmTmr = window.setTimeout(ldRem, MAX_REM_DELAY);if ((null != g_ctlTaskRem) && (CONST_B_TASKS == (g_bmpEnableReminders & CONST_B_TASKS))
&& (g_idTaskRmTmr == -1))
g_idTaskRmTmr = window.setTimeout(ldTaskRem, MAX_REM_DELAY);g_nNewMailNewVal = parseInt(g_szEnableNewMail, 10);window.setTimeout(ldNot, 60000);new flyItm(g_iFlyTr,treeCont,objTree,100);if ("1" == g_bShowFolders)
{g_iAddCount++;if ("1" == g_bShowSF)
g_iAddCount++;objTree.addBehavior("/exchweb/6.5.7638.1/controls/ctrl_tree.htc");}
else
{treeCont.style.posHeight = 0;}
}
else
{objTree.addBehavior("/exchweb/6.5.7638.1/controls/ctrl_tree_pf.htc");}
g_nFontHeight = g_winDocAll.idFontSize.offsetHeight;try
{window.createPopup();}
catch(e)
{g_fCMImgs = false;}
saveSize.size =window.document.body.clientWidth;
// #####################################################################################
CUSTOMupdateShortcuts();
// #####################################################################################
}
function window.onresize()
{if (!g_fIsPublic && saveSize.size != window.document.body.clientWidth)
{if (null != saveSize.iID)
clearTimeout(saveSize.iID);saveSize.size = window.document.body.clientWidth;saveSize.iID = window.setTimeout(saveSize, 2000);}
}
function saveSize()
{setProp(window.document.body.clientWidth, "webclientnavbarwidth");saveSize.iID = null;}
saveSize.size = 0;saveSize.iID = null;
function onViewLoad()
{if (g_idCalRmTmr >= 0)
{window.clearTimeout(g_idCalRmTmr);ldRem();g_idCalRmTmr = -1;}
if (g_idTaskRmTmr >= 0)
{window.clearTimeout(g_idTaskRmTmr);ldTaskRem();g_idTaskRmTmr = -1;}
syncViewWithTree();}
function nbLinkNav(sUrl, sCmd)
{if (null == sUrl)
return;var sNavUrl = sUrl;if (null != sCmd)
sNavUrl += "?cmd=" + sCmd;Navigate(sNavUrl);try
{if (!objTree.selectNode(sUrl, false))
objTree.clearSelection();}
catch(e)
{}
}
function Navigate(url, trgt)
{cmHide();if (event)
{event.cancelBubble = true;event.returnValue = false;}
if (trgt && null != trgt)
{window.open(url,trgt);}
else if (parent != null && url != null)
{if (parent.viewer != null)
{try
{if (url == parent.viewer.location)
{parent.viewer.externalRefresh();}
else
{parent.viewer.location = url;}
}
catch(e)
{parent.viewer.location = url;}
}
}
}
function DoRenameCommand()
{var objFolder = objTree.selectedNode;var szName = objFolder.displayname;var szURL = objFolder.url;var szNewName = prompt(L_RenCurFolder, szName);if (szNewName != null)
{if (szNewName.length > 255)
szNewName = szNewName.slice(0, 255);objTree.renameFolder(szURL, szNewName);}
}
function DoMoveCopyCommand()
{var szDialog = (g_fIsPublic ? "./":g_sBase) + "?Cmd=dialog&template=dlg_movecopy&ver=6.5.7638.1" + "&theme="+g_thid;var szNewFolderDialog = (g_fIsPublic ? "./":g_sBase)+ "?Cmd=dialog&template=dlg_newfolder&ver=6.5.7638.1" + "&theme="+g_thid;var rgParams = new Array();rgParams["g_OpenerTreeCtrl"] = objTree;rgParams["g_CurrentFolderNode"] = objTree.selectedNode;rgParams["g_Location"] = g_sBase;rgParams["g_VirtualRoot"] = g_szVirtualRoot;rgParams["g_NewFolderDialogPath"] = szNewFolderDialog;rgParams["g_fPublic"] = g_fIsPublic;var nFontSize = g_nFontHeight - 2;rgParams["fontSize"] = nFontSize;var nWidth = 50 + 20 * nFontSize;var nHeight = 220 + 12 * nFontSize;var hWin = showDlg(MODAL, szDialog, rgParams, nWidth, nHeight)
}
function DoNewFolderCommand()
{if (!f_Authenticate(objTree.selectedNode.contentHref))
return(false);var szNewFolderDialog = (g_fIsPublic ? "./":g_sBase) + "?Cmd=dialog&template=dlg_newfolder&ver=6.5.7638.1" + "&theme="+g_thid;var rgParams = new Array();rgParams["g_OpenerTreeCtrl"] = objTree;rgParams["g_CurrentFolderNode"] = objTree.selectedNode;rgParams["g_Location"] = g_sBase;rgParams["g_VirtualRoot"] = g_szVirtualRoot;rgParams["g_fPublic"] = g_fIsPublic;var nFontSize = g_nFontHeight - 2;var nWidth = 50 + 20 * nFontSize;var nHeight = 220 + 14 * nFontSize;var hWin = showDlg(MODAL, szNewFolderDialog, rgParams, nWidth, nHeight);}
function f_Authenticate(szURL)
{var szServerName = f_getServerName(szURL);var bretval = true;var szDocumentDomain = window.document.domain;if (szDocumentDomain.toLowerCase() != szServerName.toLowerCase())
{if (null == g_rgAuthDomains[szServerName])
{try
{var objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");objXMLHTTP.open( "OPTIONS", szURL,false);objXMLHTTP.setRequestHeader("Accept-Language", g_szAcceptLang);objXMLHTTP.send();if (200 != objXMLHTTP.status)
{f_HandleError(objXMLHTTP.status);bretval = false;}
else
{g_rgAuthDomains[szServerName] = "";bretval = true;}
}
catch(e)
{f_HandleError(403);bretval = false;}
}
else
{bretval = true;}
}
return(bretval);}
function f_getServerName(szURL)
{f_getServerName.re.lastIndex=0;var rgVals = f_getServerName.re.exec(szURL);return(rgVals[1]);}
f_getServerName.re = new RegExp("^https?://([^/]+)","i")
function f_HandleError(num)
{if (440 == num)
showLogonPage(g_szVirtualRoot, g_sBase, true);else if (g_szrgErrors[num])
alert(g_szrgErrors[num]);else if(num == CTL_E_PERMISSIONDENIED || num == FACILITY_WIN32_ERROR_ACCESS_DENIED)
alert(L_XDomAccDenied)
else
alert(L_Unk + "\r\n" + num);window.document.body.style.cursor = "auto";return;}
function window.document.oncontextmenu()
{var oRetVal = event.returnValue;if (null != oRetVal)
{if ("object" == typeof(oRetVal))
{cmShow.oFolder = oRetVal;cmShow.x = event.clientX;cmShow.y = event.clientY + 12;if (!g_fCCM)
{idTreeMenu.onreadystatechange = cmShow;idTreeMenu.addBehavior("/exchweb/6.5.7638.1/controls/ctrl_ctxtmenu.htc");}
else
{cmShow();}
}
}
}
function cmShow()
{if ( "complete" == idTreeMenu.readyState && cmShow.oFolder != null)
{idTreeMenu.onreadystatechange = null;var iSfId = 0;if (cmShow.oFolder.sfId)
iSfId = parseInt(cmShow.oFolder.sfId, 10);var fSpcFldr = iSfId > 0;var fSF = (cmShow.oFolder.searchFolder == "1");var fDelItems = cmShow.oFolder.id == (g_sBase + g_sDelItems + "/");var fJunkItems = cmShow.oFolder.id == (g_sBase + g_sJunkItems + "/");idTreeMenu.clearAll();idTreeMenu.add( L_CMRfrsh, "idRfrsh", g_fCMImgs?"refresh.gif":null,16,16);idTreeMenu.add( L_CMOpen, "idOpn", g_fCMImgs?"openfolder.gif":null,16,16);idTreeMenu.add( L_CMNewWin, "idNewWin");if (fDelItems)
idTreeMenu.add( L_CMEmpty, "idEmptyDel", g_fCMImgs?"deleted.gif":null,16,16);if (fJunkItems)
idTreeMenu.add( L_CMEmptyJunk, "idEmptyJunk", g_fCMImgs?"deleted.gif":null,16,16);if (!fSF && !fDelItems && !fJunkItems)
{if (!fSpcFldr)
{idTreeMenu.addDivider();idTreeMenu.add( L_CMMvCp, "idMvCp", g_fCMImgs?"copyto.gif":null,16,16);}
idTreeMenu.addDivider();if (!fSpcFldr)
{idTreeMenu.add( L_CMDel, "idDel", g_fCMImgs?"delete.gif":null,16,16);idTreeMenu.add( L_CMRnm, "idRnm", g_fCMImgs?"rename.gif":null,16,16);}
idTreeMenu.add( L_CMNew, "idNew", g_fCMImgs?"newfldr.gif":null,16,16);}
g_fCCM = true;idTreeMenu.show(cmShow.x, cmShow.y);}
}
cmShow.oFolder = null;cmShow.x = 0;cmShow.y = 0;
function cmHide()
{try
{idTreeMenu.hide();}
catch(e){}
}
function cmAction()
{idTreeMenu.hide();switch (event.szCmd)
{case "idDel":
var node = objTree.selectedNode;var szName = node.displayname;var szURL = node.url;if (confirm(L_AskDel))
objTree.deleteFolder(szURL);break;case "idRnm":
DoRenameCommand();break;case "idMvCp":
DoMoveCopyCommand();break;case "idNew":
DoNewFolderCommand();break;case "idRfrsh":
var objFolder = objTree.selectedNode;if (null != objFolder)
objTree.refreshFolder(objFolder.url);break;case "idOpn":
var node = objTree.selectedNode;if(node)
Navigate(node.url + "?Cmd=contents" +((node.isDeletedItems)?"&allowShowDeleted=1":"") );break;case "idNewWin":
var node = objTree.selectedNode;var szURL = node.url + "?Cmd=contents" +((node.isDeletedItems)?"&allowShowDeleted=1":"");var windowName = new String(Math.round(Math.random() * 100000));var hWin = window.open(szURL,windowName,"toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1");break;case "idEmptyDel":
if (confirm(L_AskEmptyDel))
{evt_EmptyItems.folder = g_sDelItems;var szURL = g_sBase + g_sDelItems + "/?Cmd=emptydeleteditems&sessid=" + g_szSessionId;g_HTTPDelItems = new ActiveXObject("Microsoft.xmlhttp");g_HTTPDelItems.onreadystatechange = evt_EmptyItems;g_HTTPDelItems.open("GET", szURL, true);g_HTTPDelItems.setRequestHeader("Accept-Language", g_szAcceptLang);g_HTTPDelItems.send();}
break;case "idEmptyJunk":
if (confirm(L_AskEmptyJunk))
{evt_EmptyItems.folder = g_sJunkItems;var szURL = g_sBase + g_sJunkItems + "/?Cmd=emptyjunkemail&sessid=" + g_szSessionId;g_HTTPDelItems = new ActiveXObject("Microsoft.xmlhttp");g_HTTPDelItems.onreadystatechange = evt_EmptyItems;g_HTTPDelItems.open("GET", szURL, true);g_HTTPDelItems.setRequestHeader("Accept-Language", g_szAcceptLang);g_HTTPDelItems.send();}
break;}
}
function evt_EmptyItems()
{var sFldr = "";if (evt_EmptyItems.folder != null)
sFldr = evt_EmptyItems.folder;if (g_HTTPDelItems && g_HTTPDelItems.readystate == 4)
{if (g_HTTPDelItems.status < 300)
{var nErrno = g_HTTPDelItems.responseXML.selectSingleNode("result/errorcode");if (null != nErrno && 0 != nErrno.text)
{if (null != g_HTTPDelItems.responseXML.selectSingleNode("result/errortext"))
alert(g_HTTPDelItems.responseXML.selectSingleNode("result/errortext").text);else
alert(nErrno.text+" "+L_Unk);}
else if (parent != null)
{if (0 == parent.viewer.location.href.indexOf(g_sBase + g_sDelItems))
parent.viewer.location = g_sBase + g_sDelItems + "/?Cmd=contents&allowShowDeleted=1";else if (0 == parent.viewer.location.href.indexOf(g_sBase + g_sJunkItems))
parent.viewer.location = g_sBase + g_sJunkItems + "/?Cmd=contents&allowShowDeleted=1";}
}
else
{alert("Error " + g_HTTPDelItems.status + ": " + g_HTTPDelItems.statusText);}
}
objTree.refreshFolder(g_sBase + sFldr + "/");}
var m_szItemType;
function fIsDlg()
{if ((null != g_wndReminder) && (!g_wndReminder.closed))
{var x = g_wndReminder.dialogLeft;if (0 > window.screenLeft)
{g_wndReminder.close();g_wndReminder=null;return false;}
else
{return true;}
}
else
{return false;}
}
function ShowReminders()
{var i = 0;var fRc = false;var rgParams= new Array();try
{if (fIsDlg())
{if (g_bmpEnableReminders >=(CONST_B_TASKS | CONST_B_CALENDAR))
{if (m_fTasks == true && m_fAppts == true)
resetReminders(false);else
return;}
g_wndReminder.updateData(m_rgszXML);fRc = true;}
if (true === fRc)
return;}
catch(e)
{g_wndReminder = null;}
if (g_bmpEnableReminders >=(CONST_B_TASKS | CONST_B_CALENDAR))
{if (m_fTasks == true && m_fAppts == true)
resetReminders(false);else
return;}
var f_sound = (CONST_B_SOUND == (g_bmpEnableReminders & CONST_B_SOUND));rgParams["rg_xmlData"]= m_rgszXML;rgParams["callback"] = onSnooze;rgParams["Sound"] = f_sound
rgParams["WavFile"] = g_szReminderWav;rgParams["Snooze"] = Snooze;rgParams["Dismiss"] = Dismiss;rgParams["type"] = m_szItemType;rgParams["Count"] = UpdRnmdrCount;rgParams["DayStart"] = g_lDayStart;var nWidth = 110 + 30 * g_nFontHeight;var nHeight = 210 + 9 * g_nFontHeight;g_wndReminder = showDlg(MODELESS, g_sBase+ "?Cmd=dialog&template=dlg_reminders&ver=6.5.7638.1" + "&theme="+g_thid, rgParams,nWidth,nHeight);}
function UpdateReminder()
{resetReminders(true);ShowReminders();}
function closeReminder()
{idReminder.style.display = 'none';if (g_wndReminder && (!g_wndReminder.closed))
{try
{g_wndReminder.close();}
catch(e)
{}
}
g_wndReminder = null;}
function resetReminders(fValue)
{m_fAppts = fValue;m_fTasks = fValue;}
function onReminders()
{if (0 == event.count)
{if ((0 == (g_bmpEnableReminders & CONST_B_TASKS)) || (0 == (g_bmpEnableReminders & CONST_B_CALENDAR)))
{closeReminder();return;}
else if ( (g_bmpEnableReminders >=(CONST_B_TASKS | CONST_B_CALENDAR)))
{if ( ((event.type == REM_TYPE_TASK) && (m_fAppts == true) && (m_rgszXML[REM_TYPE_APPT] == "" )) ||
((event.type == REM_TYPE_APPT) && (m_fTasks == true) && (m_rgszXML[REM_TYPE_TASK] == "" )))
{resetReminders(false);closeReminder();return;}
}
}
m_szItemType = event.type;if (g_bmpEnableReminders >=(CONST_B_TASKS | CONST_B_CALENDAR))
{if (m_szItemType == REM_TYPE_APPT)
{m_fAppts = true;if (0 != event.count)
m_rgszXML[REM_TYPE_APPT] = event.szXml;else
m_rgszXML[REM_TYPE_APPT] = "";}
if (m_szItemType == REM_TYPE_TASK)
{m_fTasks = true;if (0 != event.count)
m_rgszXML[REM_TYPE_TASK] = event.szXml;else
m_rgszXML[REM_TYPE_TASK] = "";}
}
else
{if (m_szItemType == REM_TYPE_APPT)
{m_rgszXML[REM_TYPE_APPT] = event.szXml;m_rgszXML[REM_TYPE_TASK] = "";}
if (m_szItemType == REM_TYPE_TASK)
{m_rgszXML[REM_TYPE_TASK] = event.szXml;m_rgszXML[REM_TYPE_APPT] = "";}
}
window.setTimeout(ShowReminders, 1000);}
function UpdRnmdrCount(iCnt)
{if (null != iCnt && iCnt <= 0)
{remText.innerText = "";idReminder.style.display = 'none';}
else
{idReminder.style.display = '';remText.innerText = remText.fmtStr.replace(/\%1/gi,iCnt);}
}
function onSnooze()
{window.setTimeout( cb_onSnooze, 100 );}
function cb_onSnooze()
{if ((g_ctlReminder) && (CONST_B_CALENDAR == (g_bmpEnableReminders & CONST_B_CALENDAR)) && (g_fUpdAppt))
g_ctlReminder.poll();if ((g_ctlTaskRem) && (CONST_B_TASKS == (g_bmpEnableReminders & CONST_B_TASKS)) && (g_fUpdTask))
window.setTimeout(poll_Tasks, 100);}
function poll_Tasks()
{g_ctlTaskRem.poll();}
function poll_Appts()
{g_ctlReminder.poll();}
function Snooze(rgItems, iMinutes, fnCallback)
{if (null == rgItems || rgItems.length == 0)
return;var rgRequestQueue= new Array();var iRequestCount = 0;var oRequestData = null;var re = /\/[^/]*$/;
var szProp;var szApptURL = "";var szTaskURL = "";var xmlTask = "";var xmlAppt = "";var dtRNT = null;var dtReminder = null;var iMinFromNow = 0;var iMinOffset = 0;g_fUpdTask = false;g_fUpdAppt = false;if (0 > iMinutes)
{dtReminder = new Date();dtReminder.setMinutes( dtReminder.getMinutes() + -iMinutes );iMinFromNow = toISOTimeString(dtReminder);szProp = 'remindernexttime';}
else
{iMinOffset = iMinutes * 60;szProp = 'reminderoffset';}
xmlAppt = '<?xml version="1.0"?\><a:propertyupdate xmlns:a="DAV:"><a:set><a:prop>' +
'<d:' + szProp + ' xmlns:d="urn:schemas:calendar:">';if (0 > iMinutes)
xmlAppt += iMinFromNow + '</d:' + szProp + '>';else
xmlAppt += iMinOffset + '</d:' + szProp + '>';xmlAppt += '</a:prop></a:set><a:target>';xmlTask = '<?xml version="1.0"?\><a:propertyupdate xmlns:a="DAV:"><a:set><a:prop>' +
'<d:remindernexttime xmlns:d="'">http://schemas.microsoft.com/mapi/">'+ iMinFromNow + '</d:remindernexttime>' +
'</a:prop></a:set><a:target>';var i;var k = 0;var l = 0;for ( i = 0;i < rgItems.length;i++ )
{if (rgItems[i].messageclass == CONST_IPM_APPT && szApptURL == "")
szApptURL = rgItems[i].apptURL.replace( re, "" );if (rgItems[i].messageclass == CONST_IPM_TASK && szTaskURL == "")
szTaskURL = rgItems[i].apptURL.replace( re, "" );var szTemp = rgItems[i].apptURL.replace( re, "" );if ((rgItems[i].messageclass == CONST_IPM_APPT) && (szTemp === szApptURL))
{xmlAppt += '<a:href>' + rgItems[i].apptURL + '</a:href>';k++;}
else if ((rgItems[i].messageclass == CONST_IPM_TASK) && (szTemp === szTaskURL ))
{xmlTask += '<a:href>' + rgItems[i].apptURL + '</a:href>';l++;}
}
if (k > 0)
{g_fUpdAppt = true;xmlAppt += '</a:target></a:propertyupdate>';oRequestData = new RequestData();oRequestData.url = szApptURL;oRequestData.xml = xmlAppt;rgRequestQueue[iRequestCount++] = oRequestData;}
if (l > 0)
{g_fUpdTask = true;xmlTask += '</a:target></a:propertyupdate>';oRequestData = new RequestData();oRequestData.url = szTaskURL;oRequestData.xml = xmlTask;rgRequestQueue[iRequestCount++] = oRequestData;}
var bRet = mf_Request(rgRequestQueue, fnCallback);return bRet;}
function Dismiss(rgItems, fnCallback)
{if (null == rgItems || rgItems.length == 0)
return;var re = /\/[^/]*$/;
var rgRequestQueue= new Array();var iRequestCount = 0;var i = 0;var oRequestData = null;var szApptURL = "";var szTaskURL = "";var xmlSAppt = "";var xmlRAppt = "";var xmlRSTask = "";var szTemp= "";var rgTodo = new Array();var j = 0;var k = 0;var l = 0;g_fUpdTask = false;g_fUpdAppt = false;xmlSAppt = '<?xml version="1.0"?\><a:propertyupdate xmlns:a="DAV:"><a:remove><a:prop>' +
'<d:reminderoffset xmlns:d="urn:schemas:calendar:" />' +
'</a:prop></a:remove><a:target>';xmlRAppt = '<?xml version="1.0"?\><a:propertyupdate xmlns:a="DAV:"><a:set><a:prop>' +
'<d:remindernexttime xmlns:d="urn:schemas:calendar:">4501-01-01T00:00:00.000Z</d:remindernexttime>' +
'</a:prop></a:set><a:target>';xmlRSTask = '<?xml version="1.0"?\><a:propertyupdate xmlns:a="DAV:"><a:set><a:prop>' +
'</a:prop><a:prop><e:reminderset xmlns:e="0'">http://schemas.microsoft.com/mapi/">0</e:reminderset>' +
'</a:prop><a:prop><f:resetreminder xmlns:f="1'">http://schemas.microsoft.com/exchange/tasks/">1</f:resetreminder>' +
'</a:prop></a:set><a:target>';for (i = 0;i < rgItems.length;i++)
{if (rgItems[i].messageclass == CONST_IPM_APPT && szApptURL == "")
szApptURL = rgItems[i].apptURL.replace( re, "" );else if (rgItems[i].messageclass == CONST_IPM_TASK && szTaskURL == "")
szTaskURL = rgItems[i].apptURL.replace( re, "" );if (("0" != rgItems[i].type) && (rgItems[i].messageclass == CONST_IPM_APPT))
{szTemp = rgItems[i].apptURL.replace( re, "" );if (szTemp === szApptURL)
{xmlRAppt += '<a:href>'+rgItems[i].apptURL + '</a:href>';k++;}
}
else
{rgTodo[j++] = rgItems[i];}
}
if (k > 0)
{g_fUpdAppt = true;xmlRAppt += '</a:target></a:propertyupdate>';oRequestData = new RequestData();oRequestData.url = szApptURL;oRequestData.xml = xmlRAppt;rgRequestQueue[iRequestCount++] = oRequestData;}
k = 0;l = 0;if (null != rgTodo && rgTodo.length)
{rgItems = rgTodo;for (i = 0;i < rgItems.length;i++)
{if (rgItems[i].messageclass == CONST_IPM_APPT && szApptURL == "")
szApptURL = rgItems[i].apptURL.replace( re, "" );else if (rgItems[i].messageclass == CONST_IPM_TASK && szTaskURL == "")
szTaskURL = rgItems[i].apptURL.replace( re, "" );szTemp = rgItems[i].apptURL.replace( re, "" );if ((rgItems[i].messageclass == CONST_IPM_APPT) && (szTemp === szApptURL))
{xmlSAppt += '<a:href>'+rgItems[i].apptURL + '</a:href>';k++;}
else if ((rgItems[i].messageclass == CONST_IPM_TASK) && (szTemp === szTaskURL))
{xmlRSTask += '<a:href>'+rgItems[i].apptURL + '</a:href>';l++;}
}
}
if (0 < k)
{g_fUpdAppt = true;xmlSAppt += '</a:target></a:propertyupdate>';oRequestData = new RequestData();oRequestData.url =szApptURL;oRequestData.xml = xmlSAppt;rgRequestQueue[iRequestCount++] = oRequestData;}
if (0 < l)
{g_fUpdTask = true;xmlRSTask += '</a:target></a:propertyupdate>';oRequestData = new RequestData();oRequestData.url = szTaskURL;oRequestData.xml = xmlRSTask;rgRequestQueue[iRequestCount++] = oRequestData;}
var bRet = mf_Request(rgRequestQueue, fnCallback);return bRet;}
function RequestData()
{this.pending = true;this.result = false;this.url = null;this.xml = null;}
function mf_Request(rgRequestQueue, fnCallback)
{var objContext = null;var oRequest = null;var oXmlHttp = null;try
{for (var iRequestIndex = 0;iRequestIndex < rgRequestQueue.length;iRequestIndex++)
{objContext = new Object();objContext.requestIndex = iRequestIndex;objContext.callback = fnCallback;oRequest = new requestFactory(rgRequestQueue[iRequestIndex].url, "BPROPPATCH", objContext, mfcb_Request);oXmlHttp = oRequest.xmlhttp;oXmlHttp.setRequestHeader("Accept-Language", g_szAcceptLang);oXmlHttp.setRequestHeader("Content-Type","text/xml");oXmlHttp.setRequestHeader("Translate","f");oXmlHttp.setRequestHeader("Brief","t" );oXmlHttp.send(rgRequestQueue[iRequestIndex].xml);}
}
catch(e)
{return (false);}
m_rgRequestQueue = rgRequestQueue;return (true);}
function mfcb_Request(oRequest)
{var fSuccess = true;var fResult = true;var objContext = oRequest.context;var iRequestIndex = objContext.requestIndex;var oXmlHttp = oRequest.xmlhttp;var iStatus = oXmlHttp.status;if ( iStatus < 200 || iStatus == 207 || iStatus >= 300)
{switch(iStatus)
{case 207:
var rgStatus = oXmlHttp.responseXML.selectNodes("a:multistatus/a:response[a:status $ge$ 'HTTP/1.1 4']");if (rgStatus.length)
{for (var i = 0 ;i < rgStatus.length;i++)
{if (rgStatus[i].text.indexOf("507") != -1)
{fSuccess = false;g_szErrReq = L_RemQuotaMax;break;}
}
}
break;case 404:
fSuccess = true;break;case 507:
fSuccess = false;g_szErrReq = L_RemQuotaMax;break;default:
fSuccess = false;}
}
m_rgRequestQueue[iRequestIndex].pending = false;m_rgRequestQueue[iRequestIndex].result = fSuccess;for (iRequestIndex = 0;iRequestIndex < m_rgRequestQueue.length;iRequestIndex++)
{if (m_rgRequestQueue[iRequestIndex].pending)
return;fResult = fResult && m_rgRequestQueue[iRequestIndex].result;}
m_rgRequestQueue = null;try
{var fnCallback = objContext.callback;fnCallback(fResult, g_szErrReq);g_szErrReq = "";}
catch(e) {}
}
function toISOTimeString(dtDate)
{var sTime = dtDate.getUTCFullYear() + "-00-00T00:00:00Z";var i = dtDate.getUTCMonth()+1;sTime = sTime.substr(0,(10 > i) ? 6 : 5) + i + sTime.substr(7);i = dtDate.getUTCDate();sTime = sTime.substr(0,(10 > i) ? 9 : 8) + i + sTime.substr(10);i = dtDate.getUTCHours();sTime = sTime.substr(0,(10 > i) ? 12 : 11) + i + sTime.substr(13);i = dtDate.getUTCMinutes();sTime = sTime.substr(0,(10 > i) ? 15 : 14) + i + sTime.substr(16);return sTime;}
function resetMailPoll()
{if (g_ctlNotify!= null && parent != null)
{if (parent.viewer != null)
{if (g_ctlNotify.folder +"/?Cmd=contents" == parent.viewer.location)
g_ctlNotify.resetPoll();}
}
}
function onNewMail()
{if (2 <= g_nEnableNewMail)
PlaySound();if (0 == (1 & g_nEnableNewMail))
return;var obj = g_winDocAll['idNewMail'];if (null != obj)
{obj.style.display="";AnimateNotify();}
if (0 < g_iAddCount)
objTree.updateFolderCount( g_ctlNotify.folder+"/" );}
function PlaySound()
{if (null == g_oSound)
g_oSound = window.document.all['idSound'];if (g_fDXInstalled)
{try
{g_oSound.src = g_szVirtualRoot + "/img/notify.wav";g_oSound.beginElement();return;}
catch(e)
{g_fDXInstalled = false;}
}
var oSnd = document.createElement("BGSOUND");oSnd.id = "idSound";oSnd.src = g_szNewMailWav;oSnd.LOOP=1;g_oSound = document.body.insertBefore( oSnd, null );g_oSound.src = g_oSound.src;}
function flyInit()
{flyMove.curH = 0;if (window.document.dir === "rtl")
flyMove.curX = 0;else
flyMove.curX = window.screen.availWidth - flyMove.flyWidth;flyMove.curY = window.screen.availHeight;}
function flyMove()
{flyMove.curH += 2;flyMove.curY -= 2;showPU(g_oPopup, flyMove.curX, flyMove.curY, flyMove.flyWidth, flyMove.curH);if (flyMove.curH >= flyMove.flyHeight)
{window.clearInterval(g_idFlyPopup);g_idFlyPopup = -1;window.setTimeout('closePopup()', 15000);}
}
flyMove.curH = 0;flyMove.curY = 0;flyMove.curX = 0;flyMove.flyHeight = 126;flyMove.flyWidth = 130;
function AnimateNotify()
{if (null == g_oPopup)
return;var oPopupBody = g_oPopup.document.body;var szFont = window.document.body.currentStyle.fontFamily;var szHTML = "<TABLE height=100% width=100% cellpadding=4 cellspacing=0 style=\"font-family:"+szFont+";font-size:100%;\">"+
"<TR style=\"background-image:url("+g_szImagePath+"newitem.gif);background-repeat:no-repeat;background-position:99% 99%\">"+
"<TD align=middle >"+L_NewMail+"</TD></TR></TABLE>";oPopupBody.innerHTML = szHTML;oPopupBody.style.fontSize = document.body.currentStyle.fontSize;oPopupBody.style.cursor="hand";oPopupBody.style.color = "black";oPopupBody.style.borderWidth='3px';oPopupBody.style.borderStyle='window-inset';oPopupBody.style.borderColor='activeborder';oPopupBody.style.backgroundImage="url("+g_szThemesPath+"nin-bg.gif)";oPopupBody.style.backgroundRepeat="no-repeat";oPopupBody.style.backgroundPosition="center center";oPopupBody.style.backgroundColor="#8D9FB7";oPopupBody.onclick = ShowInbox;flyInit();if (g_idFlyPopup == -1)
g_idFlyPopup = window.setInterval(flyMove,10);}
function closePopup()
{if (null != g_oPopup)
g_oPopup.hide();}
function ShowInbox()
{window.top.focus();nbLinkNav(g_ctlNotify.folder + "/", "contents");if (-1 != g_idFlyPopup)
{window.clearInterval(g_idFlyPopup);g_idFlyPopup = -1
}
closePopup();var obj = g_winDocAll['idNewMail'];if (null != obj)
obj.style.display="none";}
function newOptions(iRem, iNot)
{var f_OnOld = (g_bmpEnableReminders >= (CONST_B_TASKS | CONST_B_CALENDAR));var f_OldTask = (CONST_B_TASKS == (g_bmpEnableReminders & CONST_B_TASKS));var f_OldAppt = (CONST_B_CALENDAR == (g_bmpEnableReminders & CONST_B_CALENDAR));var f_LdRem = null;var f_LdTask = null;var ldFirst = null;if (g_bmpEnableReminders != iRem)
{g_bmpEnableReminders = iRem;f_LdRem = (CONST_B_CALENDAR == (g_bmpEnableReminders & CONST_B_CALENDAR));f_LdTask = (CONST_B_TASKS == (g_bmpEnableReminders & CONST_B_TASKS));}
var f_OnNew = (g_bmpEnableReminders >=(CONST_B_TASKS | CONST_B_CALENDAR));if (f_OnOld && f_OnNew)
return;if (f_OnOld && !f_OnNew)
{if ((f_LdTask == false) && (f_LdTask != f_OldTask))
ldTaskRem();if ((f_LdRem == false) && (f_LdRem != f_OldAppt))
ldRem();if ((f_OldAppt == true) && (f_LdRem == f_OldAppt))
g_ctlReminder.poll();if ((f_OldTask == true) && (f_LdTask == f_OldTask))
g_ctlTaskRem.poll();}
if (!f_OnOld && f_OnNew)
{resetReminders(false)
if ((f_OldAppt == true) && (f_LdRem == f_OldAppt))
g_ctlReminder.poll();else
ldRem();if ((f_OldTask == true) && (f_LdTask == f_OldTask))
g_ctlTaskRem.poll();else
ldTaskRem();}
if (!(f_OnOld || f_OnNew))
{if (f_LdRem != null)
ldRem();if (f_LdTask != null)
ldTaskRem();}
if( g_nEnableNewMail != iNot )
{g_nNewMailNewVal = iNot ;ldNot();}
}
ldRem.loaded = false;
function ldRem()
{if (g_idCalRmTmr >= 0)
{window.clearTimeout(g_idCalRmTmr);g_idCalRmTmr = -1;}
if (null == g_ctlReminder)
return;if (ldRem.loaded)
{udRem();}
else if (CONST_B_CALENDAR == (g_bmpEnableReminders & CONST_B_CALENDAR))
{g_ctlReminder.onreadystatechange = udRem;g_ctlReminder.addBehavior("/exchweb/6.5.7638.1/controls/ctrl_reminder.htc");}
}
function udRem()
{if ("complete" == g_ctlReminder.readyState)
{g_ctlReminder.onreadystatechange = null;ldRem.loaded = true;closeReminder();if (CONST_B_CALENDAR == (g_bmpEnableReminders & CONST_B_CALENDAR))
{g_ctlReminder.onchange = onReminders;g_ctlReminder.enable = true;g_ctlReminder.type = REM_TYPE_APPT;}
else
{g_ctlReminder.enable=false;}
}
}
ldTaskRem.loaded = false;
function ldTaskRem(fLoad)
{if (g_idTaskRmTmr >= 0)
{window.clearTimeout(g_idTaskRmTmr);g_idTaskRmTmr = -1;}
if (null == g_ctlTaskRem)
return;if (ldTaskRem.loaded)
{udTaskRem();}
else if (CONST_B_TASKS == (g_bmpEnableReminders & CONST_B_TASKS))
{g_ctlTaskRem.onreadystatechange = udTaskRem;g_ctlTaskRem.addBehavior("/exchweb/6.5.7638.1/controls/ctrl_reminder.htc");}
}
function udTaskRem()
{if ("complete" == g_ctlTaskRem.readyState)
{g_ctlTaskRem.onreadystatechange = null;ldTaskRem.loaded = true;closeReminder();if (CONST_B_TASKS == (g_bmpEnableReminders & CONST_B_TASKS))
{g_ctlTaskRem.onchange = onReminders;g_ctlTaskRem.enable = true;g_ctlTaskRem.type = REM_TYPE_TASK;}
else
{g_ctlTaskRem.enable=false;}
}
}
ldNot.loaded = false;
function ldNot()
{if (null == g_ctlNotify)
return;if (ldNot.loaded)
{udNot();}
else if (0 != g_nNewMailNewVal)
{if (null != g_winDocAll.idSound)
{g_fUseTime2 = (getBrowserVer() >= 5.5);idSound.addBehavior(g_fUseTime2 ? "#default#time2" : "#default#time");idSound.begin = "indefinite";}
g_ctlNotify.onreadystatechange = udNot;g_ctlNotify.addBehavior("/exchweb/6.5.7638.1/controls/ctrl_notify.htc");}
}
function udNot()
{if ("complete" == g_ctlNotify.readyState)
{g_ctlNotify.onreadystatechange = null;ldNot.loaded = true;if (0 == g_nNewMailNewVal)
{g_ctlNotify.enable = false;}
else
{try
{g_oPopup = window.createPopup();}
catch(e){}
if (0 == g_nEnableNewMail)
{g_ctlNotify.enable = true;g_ctlNotify.onchange = onNewMail;}
}
g_nEnableNewMail = g_nNewMailNewVal;}
}
function onopened(szFolder)
{var szInbox = "";if (g_szInboxFolder.length)
{szInbox = g_szInboxFolder.substr(1);if (szFolder === szInbox)
{closePopup();var obj = g_winDocAll['idNewMail'];if (null != obj)
obj.style.display="none";}
}
return szInbox;}
function tglTree()
{cmHide();if (event)
{event.cancelBubble = true;event.returnValue = false;}
if ("1" == g_bShowFolders)
hideTree();else
showTree();}
function showTree()
{if (g_iAddCount == 0)
{treeProgress.style.display = "";objTree.addBehavior("/exchweb/6.5.7638.1/controls/ctrl_tree.htc");}
else
{idTglTH.src = g_szImagePath + g_szUpIco;g_rgFlyItms[g_iFlyTr].expand();g_bShowFolders = "1";idUdTree.style.display = "";setProp(g_bShowFolders, "webclientshowhierarchy");syncViewWithTree();}
}
function hideTree()
{idTglTH.src = g_szImagePath + g_szDnIco;g_rgFlyItms[g_iFlyTr].collapse();g_bShowFolders = "0";idUdTree.style.display = "none";setProp(g_bShowFolders, "webclientshowhierarchy");}
function flyMvDv(iID)
{var oItm = g_rgFlyItms[iID];oItm.oTR.style.posHeight += oItm.dir*oItm.step;oItm.oDiv.runtimeStyle.filter = "alpha(opacity="+(100*(oItm.oTR.style.posHeight/oItm.size))+")";
if (0 >= oItm.oTR.style.posHeight || oItm.size <= oItm.oTR.style.posHeight)
{window.clearInterval(oItm.iTgl);oItm.iTgl = null;if (g_iCol == oItm.dir) oItm.oTR.style.display= 'none';oItm.oDiv.style.overflow = 'auto';}
}
function flyItm(iID, oTR, oDiv, iSize)
{this.oTR = oTR;this.oDiv = oDiv;this.size = iSize;this.step = iSize/15;
this.expand = flyExp;this.collapse = flyCol;this.toggle = flyTgl;this.iTgl = null;this.iID = iID;g_rgFlyItms[iID] = this;}
function flyExp()
{this.toggle(g_iExp);}
function flyCol()
{this.toggle(g_iCol);}
function flyTgl(iDir)
{this.dir = iDir;this.oDiv.style.overflow = 'hidden';if (this.dir == g_iExp)
this.oTR.style.display = '';if (this.iTgl == null)
this.iTgl = window.setInterval("flyMvDv("+this.iID+")",15);}
function tglQL()
{if (event)
{event.cancelBubble = true;event.returnValue = false;}
if (g_bShowQL)
{g_bShowQL = 0;hideQL();}
else
{g_bShowQL = 1;showQL();}
setProp(g_bShowQL, "quicklinks");}
function showQL()
{g_winDocAll.imgHideQL.style.display = g_winDocAll.trQuickLinks.style.display = "";g_winDocAll.imgShowQL.style.display = "none";showBigLinks(false);}
function hideQL()
{g_winDocAll.imgShowQL.style.display = "";g_winDocAll.trQuickLinks.style.display = g_winDocAll.imgHideQL.style.display = "none";showBigLinks(true);}
function showBigLinks(fShow)
{for(var i=0;i < g_rgBigLinks.length;++i)
{var oBL = g_winDocAll[g_rgBigLinks[i]];
// #####################################################################################
// if (oBL)
// oBL.parentElement.style.display = fShow ? "" : "none";
if (oBL != null && "undefined" != typeof(oBL))
{
if (oBL.parentElement != null && "undefined" != typeof(oBL.parentElement))
oBL.parentElement.style.display = fShow ? "" : "none";
}
// #####################################################################################
}
}
function setProp(sVal, sProp)
{var szXML = "<?xml version=\"1.0\" ?>" +
"<D:propertyupdate xmlns:D=\"DAV:\" xmlns:a=\"http://schemas.microsoft.com/exchange/\">" +
"<D:set><D:prop><a:" + sProp + ">" + sVal + "</a:" + sProp + "></D:prop></D:set>" +
"</D:propertyupdate>";var oXMLReq= new ActiveXObject("Microsoft.XMLHTTP");oXMLReq.open("PROPPATCH", g_sBase, true);oXMLReq.setRequestHeader("Accept-Language", g_szAcceptLang);oXMLReq.setRequestHeader("Content-Type","text/xml");oXMLReq.setRequestHeader("Depth", "0");oXMLReq.send(szXML);}
function udTree()
{if (event)
{event.cancelBubble = true;event.returnValue = false;}
if (g_iAddCount < 1)
return;objTree.refreshFolder(g_sBase);objTree.refreshFolder(g_sBase+g_sFinderUrl);}
// #####################################################################################
function CUSTOMupdateShortcuts()
{
// Point this url to your custom site
var sNewQuery = "/MailArchiver";
CUSTOMinsertBefore("idOptions", "aQLOptions", "idCustom", "Archive", "/exchweb/img/Archive-lg.gif", "/exchweb/img/icon-archive.gif", sNewQuery);
}
/* #####################################################################################
Function: CUSTOMinsertBefore
Purpose: Add a new tab to the OWA 2003 navigation bar quick links section
Parameters:
beforeNBID == ID of element before insert should happen
beforeAID == <a> element before insert should happen
szID == ID (must be unique)
szText == Text to display (max 11 chars)
szImage == URL to large image (24x24)
szImageQL == URL to small image (16x16)
szRef == URL to navigate to
##################################################################################### */
function CUSTOMinsertBefore(beforeNBID, beforeAID, szID, szText, szImage, szImageQL, szRef)
{
var navBeforeTD = g_winDocAll.item(beforeNBID);
// If the navigation pane is not displayed just leave
if(null == navBeforeTD)
return;
// Find the containing row and table
var navBeforeTR = navBeforeTD.parentNode;
var navTable = navBeforeTR.parentNode;
// Create the new navigation pane button bar row. This is the big row containing a 24 x 24 image and the text of the navigation pane item
var NewTR = document.createElement("TR");
NewTR.className = "trQuickLinks";
NewTR.style.display = navBeforeTR.style.display;
var NewTD = document.createElement("TD");
NewTD.id = szID;
NewTD.className = "nbLabel";
NewTD.valign = "top";
NewTD.noWrap = true;
var NewA = document.createElement("A");
NewA.className = "nbHref nbHrefEx";
NewA.href = szRef;
// Use "_blank" if you want the link to open a new window, "viewer" otherwise
NewA.target = "viewer";
// NewA.target = "_blank";
var NewImg = document.createElement("IMG");
NewImg.className = "nbImage";
NewImg.align = "absmiddle";
NewImg.style.width = "24px";
NewImg.style.height = "24px";
NewImg.src = szImage;
var NewText = document.createTextNode(szText);
// Tie the elements together
NewA.appendChild(NewImg);
NewA.appendChild(NewText);
NewTD.appendChild(NewA);
NewTR.appendChild(NewTD);
// And add the new row
navTable.insertBefore(NewTR, navBeforeTR);
// Find the insertion point in the quick link navigation list
var qlBeforeA = g_winDocAll.item(beforeAID);
var qlBeforeTD = qlBeforeA.parentNode;
var qlBeforeTR = qlBeforeTD.parentNode;
// Add a quick link cell. This is the one line at the bottom of the navigation pane only visible if the navigation pane button bar is not expanded
NewTD = document.createElement("TD");
NewA = document.createElement("A");
NewA.className = "aQL";
NewA.href = szRef;
// Use "_blank" if you want the link to open a new window, "viewer" otherwise
NewA.target = "viewer";
// NewA.target = "_blank";
NewImg = document.createElement("IMG");
NewImg.className = "imgQL";
NewImg.align = "absmiddle";
NewImg.style.width = "16px";
NewImg.style.height = "16px";
NewImg.src = szImageQL;
NewImg.alt = "Go to " + szText;
// Tie the elements together
NewTD.appendChild(NewA);
NewA.appendChild(NewImg);
// And insert the quick link cell
qlBeforeTR.insertBefore(NewTD, qlBeforeTD);
if (null != g_rgBigLinks)
{
try
{
g_rgBigLinks.push(szID);
}
catch (e) {}
}
}
// #####################################################################################
|
|
|
|