home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 2003-06-24 | 52.3 KB | 1,429 lines
<html> <head> <title>Network Status Display</title> <link rel="stylesheet" type="text/css" href="css/rpmstyle.css"> <style type="text/css"> .GTabBox { height : 400; width : 630; border: none; background-color : activeborder } .VAMainBox { position:absolute; margin:0; padding:0; border: solid thin; background-color : activeborder } .VAMainBox { border-top-color : #E0E0E0; border-left-color : #E0E0E0; border-bottom-color : #555555; border-right-color : #555555 } .EventLog { border-style : solid; margin:0; padding:0; border-width : thin; overflow : scroll; background-color:white } .EventLog { border-top-color : graytext; border-left-color : graytext; border-bottom-color : white; border-right-color : white} .STabSel { border-left:solid thin white; border-top:solid thin white; border-right:solid thin black } .STabSel { height : 28px; width : 110px; background-color : activeborder; color : windowtext} .STabSel { font-size : 13pt; font-weight:bold; text-align:center; vertical-align:middle } .STabUnsel { height : 28px; width : 110px; background-color : graytext; color : captiontext} .STabUnsel { font-size : 10pt; text-align:center; cursor:hand; vertical-align:middle} .STabUnsel { border-bottom:solid thin white; border-top:solid thin #e8e8e8; border-left:solid thin #e8e8e8 } .RptStatusTextBox { background-color: e8e8e8; color: infotext; } .RptStatusTextBox { border-style : solid; border-width : thin; overflow : scroll} .RptStatusTextBox { border-top-color : graytext; border-left-color : graytext; border-bottom-color : white; border-right-color : white} .devtext { font-size: 9pt; font-weight: 500; background-color: threedhighlight; color: windowtext; border: solid thin; } .devtext { border-top-color : graytext; border-left-color : graytext; border-bottom-color : white; border-right-color : white } </style> </head> <body class="bodyc" language="JavaScript" RPMHostIP="!BreakoutBot:MonitorIP!" RPMHostPort="!BreakoutBot:MonitorPort!" RPMUserName="!BreakoutBot:UserName!" RPMUserRights="!BreakoutBot:UserRights!" BOBDone="!BreakoutBot:Done!" onload="top.banner.savePageCoord(event,document.body,'ViewNetStatus'); SR_Init()" onunload="DiscoRpmCC_AR()" onresize="processSizeChange()" onclick="checkClick()" onkeydown="processBSP()"> <script LANGUAGE="JavaScript"> <!-- var AR_CompIDArray = ""; // Computer Id Array var Lb = "<BR>"; // Line break var Tid = null; var GTid = null; var CTid = null; var ignoreDBChangeEvent = false; var RMode = ""; // Mode of Operation, New, Edit, Delete, Lookup var CmpLupRecCount = 0; // Computer Lookup record count var CmpRecLth = 7; // Computer Loopkup record length var CurCmpStoreIdx = 0; // index into Computer Store for Selected Computer Name var ReconnectEvent = false; var Hp = 82; var AR_CmpStoreArr = new Array(); var AR_GroupStoreArr = new Array(); var MostRecentHours = 6; var DetailsArr = new Array(); var DetailsArrIx = 0; var AlertSelectIdx = 0; // Index of currently selected Alert var AlertStoreArr = new Array(); var AlertLupRecCount = 0; // Count of records returned from Alert Lookup operation var IGNORE_NETSTAT = -1 var NORMAL_NETSTAT = 0 var CAUTION_NETSTAT = 1 var CRITICAL_NETSTAT = 2 var COUNTER_WATCH = 1 var EVENTLOG_WATCH = 2 var WINSERVICE_WATCH = 3 var FILE_WATCH = 4 var SNMPTRAP_WATCH = 5 var SYSLOG_WATCH = 6 var SERVER_WATCH = 7 var PROCESS_WATCH = 8; var FILE_DELETED = 1; var FILE_STRING_MATCH = 2; var FILE_DATE_CHANGE = 4; var FILE_SIZE_CHANGE = 8; var FILE_SIZE_MAX = 16; var FILE_NOT_CHANGED = 32; var NOT_RUNNING_NO_RESTART = 1; var NOT_RUNNING_RESTARTED = 2; var NOT_RUNNING_RESTART_FAILED = 4; var RUNNING_HALTED = 8; var RUNNING_NOT_HALTED = 16; var RUNNING_EXCEEDED_CPU = 32; var RUNNING_EXCEEDED_MEMORY = 64; var RUNNING_EXCEEDED_CPU_HALTED = 128; var RUNNING_EXCEEDED_MEMORY_HALTED = 256; // Capture and ignore script errors window.onerror = wwScrErr; function wwScrErr() { return true; } /* Process OnLoad */ function SR_Init() { top.MainLoaded = true; // Flag that Main is now loaded initButtonState(); // set initial button state for all buttons /* get Audio Alert checkbox state */ cc = top.banner.RpmCC_Ban.RegGetKey(top.banner.ServerID+"NetStatusAudioAlertState"); // get state if ( cc == "unchecked" ) { // If not checked AlertAudioEnabled.checked = ""; } else { AlertAudioEnabled.checked == "CHECKED"; } Hp = parseInt(document.body.RPMHostPort,10); RpmCC_AR.Connect(document.body.RPMHostIP,Hp, ""); processSizeChange(); // Set NetStat Interval if ( lasthours.length == 0 ) { for ( var i=1; i<25; i++ ) { stxt = ""+i; el = addElementToSelect(lasthours,stxt); if ( i == MostRecentHours ) { el.selected = "selected"; } } } } function processRepReconnect() { Tid = null; if ( RpmCC_AR.IsConnected() ) { Tid = setTimeout("processRepConnectionCheck()",30000); // Delay 30 secs then check connection return; } RpmCC_AR.Connect(document.body.RPMHostIP,Hp, ""); } function processRepConnectConfirmed() { // Restore Filter and Computer Store if ( ReconnectEvent == false ) { ReconnectEvent = true; InitComputerLookup(); } else { // Reset status for all for ( var i=0, j=0; i<CmpLupRecCount; i++, j+=CmpRecLth ) { var cstat = "~"+AR_CmpStoreArr[j+3]+"~0"; processComputerStatus(cstat); } RpmCC_AR.NetStatFunction("GetNetStatAll"); } top.Rstatus.Pstat("Connected"); if ( Tid != null ) { clearTimeout(Tid); // stop timeout routine } Tid = setTimeout("processRepConnectionCheck()",30000); // Delay 30 secs then check connection } function processRepConnectionCheck() { Tid = null; RpmCC_AR.SendKeepAlive("Check"); Tid = setTimeout("processRepConnectionCheck()",30000); // Delay 30 secs then check connection } /* On Unload tell the Comm control to Disconnect from the Server */ function DiscoRpmCC_AR() { RpmCC_AR.Disconnect(); top.banner.processStopCommX(); if ( Tid != null ) { clearTimeout(Tid); // stop timeout routine } if ( GTid != null ) { clearTimeout(GTid); // stop timeout routine } if ( CTid != null ) { clearTimeout(CTid); // stop timeout routine } // Save Audio Alert checkbox state var cc = ( AlertAudioEnabled.checked == false ) ? "unchecked" : "checked"; top.banner.RpmCC_Ban.RegSetKey(top.banner.ServerID+"NetStatusAudioAlertState",cc); // save SaveCurrentDisplayState(); } function SaveCurrentDisplayState() { // Save current display state var cc = (CurSelTab == "GroupTab") ? "0," : "1,"; for ( var i=0, GIndx=0; i<GrpLupRecCount; i++, GIndx+=GroupRecLength ) { if ( AR_GroupStoreArr[GIndx+4] == 1 ) { // if Expanded cc += AR_GroupStoreArr[GIndx+1] + ","; } } top.banner.RpmCC_Ban.RegSetKey(top.banner.ServerID+"NetStatusDisplayState",cc); } function processDBChanged() { CTid = null; top.banner.processStartComm(); top.Rstatus.StatDB.style.display = "none"; InitComputerLookup(); Tid = setTimeout("finishDBChange()",1000); // Delay } /* Get MRU Log Messages for ServerWatch */ function finishDBChange() { Tid = null; // reset top.banner.processStopCommX(); } function processMostRecentHours() { MostRecentHours = lasthours.selectedIndex+1; RpmCC_AR.NetStatFunction("SetNetStatInterval~"+MostRecentHours); } /* Play specified WAV file as an AudioAlert */ function processAlertAudioOut() { if ( AlertAudioEnabled.checked == false ) return; // exit if not enabled or Busy RpmCC_AR.DoMessageBeep(0x40); // System Asterisk } /* Get Report Name from Store based on Report ID */ function InitComputerLookup() { CmpLupRecCount = 0; // initialize record counter AR_CmpStoreArr.length = 0; if ( RpmCC_AR.ComputerLookup("*","*") ) { top.Rstatus.Pstat("Unable to start the COMPUTER LOOKUP request",true); processResetButton(); } else { // waiting for OperationCompleteEvent SetCursor("wait"); top.Rstatus.Pstat("One moment while COMPUTER LOOKUP request completes"); } } /* Process Computer LOOKUP RECORD Event */ function processComputerLookupRecord(Cid,Gid,Name,Desc,OSVer,Addr) { var wrkarr = new Array(); CmpRecLth = 9; // Storage record length var i = CmpLupRecCount * CmpRecLth; AR_CmpStoreArr[i] = Name; AR_CmpStoreArr[i+1] = Gid; AR_CmpStoreArr[i+2] = Desc; AR_CmpStoreArr[i+3] = Cid; wrkarr = OSVer.split("[]");; // map OS version to Generic OS types AR_CmpStoreArr[i+4] = wrkarr[0]; AR_CmpStoreArr[i+5] = Addr; AR_CmpStoreArr[i+6] = 0; // status: 0=normal; 1=caution; 2=critical AR_CmpStoreArr[i+7] = 0; // expanded 0=no; 1=yes AR_CmpStoreArr[i+8] = -1; // Display Index ++CmpLupRecCount; } /* Process Computer Lookup Op Complete Event */ function processComputerOpComplete() { SetCursor("auto"); top.Rstatus.Pstat("Request Completed"); if (CmpLupRecCount == 0) { // check if any records found top.Rstatus.Pstat("No record matches found for COMPUTER LOOKUP request",true); processResetButton(); } GrpLupRecCount = 0; // initialize record counter AR_GroupStoreArr.length = 0; if ( RpmCC_AR.GroupLookup("","","") ) { top.Rstatus.Pstat("Unable to start the GROUP LOOKUP request",true); processResetButton(); } else { // waiting for OperationCompleteEvent top.Rstatus.Pstat("One moment while GROUP LOOKUP request completes"); } } var GrpLupRecCount = 0; // Count of records returned from Group Lookup operation var GroupRecLength = 6; // Length of a Group Lookup record in the Store /* Process Group LOOKUP RECORD Event */ function processGroupLookupRecord(Gid,GrpName,GrpDesc) { // place data from Lookup Record into specified Store // Add to Storage var i = GrpLupRecCount * GroupRecLength; AR_GroupStoreArr[i++] = GrpName; AR_GroupStoreArr[i++] = Gid; AR_GroupStoreArr[i++] = GrpDesc; AR_GroupStoreArr[i++] = 0; // status: 0=normal; 1=caution; 2=critical AR_GroupStoreArr[i++] = 0; // expanded 0=no; 1=yes AR_GroupStoreArr[i++] = 0; // Display Index ++GrpLupRecCount; } /* Process DB Error in Group Lookup Operation */ function processGroupOpError() { top.Rstatus.Pstat("An error occurred during GROUP LOOKUP operation",true); goResetWait(); } function processGroupOpComplete() { if ( GrpLupRecCount == 0 ) { top.Rstatus.Pstat("No GROUP record matches found for LOOKUP request",true); processGeneralClick(GroupTab); } else { var cc = top.banner.RpmCC_Ban.RegGetKey(top.banner.ServerID+"NetStatusDisplayState"); var wrkarr = new Array(); var Gid = ""; wrkarr = cc.split(","); for ( var j=1; j<wrkarr.length; j++ ) { Gid = wrkarr[j]; // ID of Expanded Group for ( var i=0, GIndx=0; i<GrpLupRecCount; i++, GIndx+=GroupRecLength ) { if ( AR_GroupStoreArr[GIndx+1] == Gid ) { // if Match AR_GroupStoreArr[GIndx+4] = 1; // Set Expanded for ( var m=0, n=0; m<CmpLupRecCount; m++, n+=CmpRecLth ) { if ( AR_CmpStoreArr[n+1] == Gid ) { AR_CmpStoreArr[n+7] = 1; // Expanded State } } } } } processGeneralClick(GroupTab); if ( wrkarr[0] == "1" ) { processGeneralClick(DeviceTab); } RpmCC_AR.NetStatFunction("GetNetStatInterval"); GTid = setTimeout("processGetNetStatAll()",200); // Delay AlertLupRecCount = 0; // clear Lookup record counter AlertStoreArr.length = 0; AL_AlertSel.innerHTML = ""; if ( RpmCC_AR.AlertGroupLookup("*") ) { top.Rstatus.Pstat("Unable to start the Alert LOOKUP request",true); processResetButton(); } else { top.Rstatus.Pstat("One moment while Alert LOOKUP request completes"); } } } /* Alert Lookup Op Complete */ function processAlertOpComplete() { if (AlertLupRecCount == 0) { // check if any records found top.Rstatus.Pstat("No record matches found for Alert LOOKUP request",true); } else { // Get OID definitions if ( RpmCC_AR.EnumOidDefs() ) { // if unable to initiate request top.Rstatus.Pstat("Unable to start the OID LOOKUP request",true); processResetButton(); } else { // waiting for OperationCompleteEvent top.Rstatus.Pstat("One moment while OID LOOKUP request completes"); } } } var gOIDstrg = ""; var gOIDarray = new Array(); function processOIDLookupRecord(OIDstrg) { gOIDstrg = OIDstrg; // save gOIDarray = OIDstrg.split("~"); // parse top.Rstatus.Pstat("Done",true); } function processGetNetStatAll() { GTid = null; RpmCC_AR.NetStatFunction("GetNetStatAll"); } /* Process Click on Enable Report Status Tab or Schedule Report Tab*/ function enableDeviceStatus() { processGeneralClick(DeviceTab); } function enableGroupStatus() { processGeneralClick(GroupTab); } // Process to Toggle the Hide and Show of the Banner & Menu Frames var hideToggle = 0; var TitleDivSize = 117; function processBannerMenu() { if ( hideToggle == 0 ) { top.BannerMenuHide(); hideToggle = 1; NetStatusTitleDiv.style.display = "none"; TitleDivSize = 72; } else { top.BannerMenuShow(); hideToggle = 0; NetStatusTitleDiv.style.display = ""; TitleDivSize = 117; } } /* Set initial button state for all buttons */ function initButtonState() { } function sButtonState(bObj,bst) { bObj.disabled = (bst == "0") ? "" : "disabled"; //bObj.className = (bst == "0") ? "SBoxButton" : "SBoxButtonD"; } function ButtonState(bObj,bst) { bObj.disabled = (bst == "0") ? "" : "disabled"; //bObj.className = (bst == "0") ? "BoxButton" : "BoxButtonD"; } var SCbsy = false; var borderSz = 20; // Thin Bord is 2pixels function processSizeChange() { if ( SCbsy ) return; SCbsy = true; // Display Height and Width bCh = document.body.clientHeight; bCw = document.body.clientWidth; // Minimums bCh = (bCh < 240) ? 240 : bCh; bCw = (bCw < 330) ? 330 : bCw; document.body.scroll = (bCw <= 330 || bCh <= 240) ? "yes" : "no"; //PopUpContext Menu PopUpContextSize(bCw); // Set Height/Widths for Chart and Button areas GTabBx.style.height = bCh-2; GTabBx.style.width = bCw-borderSz; GTab.style.top = bCh-borderSz-90; DeviceUI.style.height = GroupUI.style.height = GTabBx.style.posHeight-TitleDivSize; DeviceUI.style.width = GroupUI.style.width = GTab.style.width = GTabBx.style.posWidth-4; Devicewin.style.height = Groupwin.style.height = GroupUI.style.posHeight-50; GTabBx.style.display = ""; GroupTab.className="STabUnsel"; DeviceTab.className="STabUnsel"; document.all[CurSelTab].className="STabSel"; // Set Height/Widths for Log areas DeviceWinMain.style.left = "4px"; DeviceWinMain.style.top = "10px"; DeviceWinMain.style.height = bCh-10; DeviceWinMain.style.width = bCw-8; DeviceWin.style.height = bCh-10-65; SCbsy = false; } /* Process Click on selected Tab */ var CurSelTab = "GroupTab"; // current selected tab var RTid = null; function processGeneralClick(th) { if ( th.style.cursor =="auto" ) return; // ignore disabled top.Rstatus.Pstat(""); GroupUI.style.display="none"; DeviceUI.style.display="none"; GroupTab.className="STabUnsel"; DeviceTab.className="STabUnsel"; th.className="STabSel"; CurSelTab = th.id; switch ( th.id ) { case "GroupTab" : GroupUI.style.display=""; // Enable this Tab's view outputGroupStatusDisplay(); break; case "DeviceTab" : DeviceUI.style.display=""; outputDeviceStatusDisplay(); break; } } function outputGroupStatusDisplay() { /* Format Details for output */ var GDispArr = new Array(); GDispArr.length = 0; for ( var i=0, j=0; i<GrpLupRecCount; i++, j+=GroupRecLength ) { GDispArr[i] = AR_GroupStoreArr[j].toLowerCase()+" [+]"+j; } GDispArr.sort(); var percent=10, rowcount=10, ExpImg="plus", StatImg="Normal"; if ( GrpLupRecCount < 10 ) { percent = 33; rowcount = 3; } else if ( GrpLupRecCount < 20 ) { percent = 25; rowcount = 4; } else if ( GrpLupRecCount < 30 ) { percent = 20; rowcount = 5; } else if ( GrpLupRecCount < 40 ) { percent = 14; rowcount = 7; } var warr = new Array(); Groupwin.innerHTML = ""; // clear details sob = "<center><table border='0' cellpadding='1' cellSpacing='2' width='100%'>"; for ( var j=0; j<GrpLupRecCount; ) { sob += "<tr>"; for ( var i=0; i<rowcount && j<GrpLupRecCount; i++, j++ ) { warr = GDispArr[j].split("[+]"); var GIndx = parseInt(warr[1],10); ExpImg = ( AR_GroupStoreArr[GIndx+4] ) ? "minus" : "plus"; if ( AR_GroupStoreArr[GIndx+3] == 0 ) { StatImg = "Normal"; } else if ( AR_GroupStoreArr[GIndx+3] == 1 ) { StatImg = "Caution"; } else { StatImg = "Critical"; } AR_GroupStoreArr[GIndx+5] = j; // Display Index sob += "<td width='"+percent+"%' align='center' class='statuslabel'>"; sob += "<img id='GroupStatus_"+j+"' src='images/"+StatImg+".gif' align='absmiddle' height='12' width='12'>"; sob += "<img id='Expand_"+j+"' src='images/"+ ExpImg+".gif' width='11' height='11' style='cursor:hand'"; sob += " onclick='processGroupExpand(this.id)' "; sob += "title='Click to show or hide the Group`s associated servers/devices in the `Devices` tab view'><br>"; sob += "<span title='" + AR_GroupStoreArr[GIndx+2] +"'>"+ AR_GroupStoreArr[GIndx]+"</span></td>"; } for ( ; i<rowcount; i++ ) { sob += "<td width='"+percent+"%' align='center' class='statuslabel'> </td>"; } sob += "</tr>"; } sob += "</table></center>"; Groupwin.insertAdjacentHTML("beforeEnd",sob); } function processGroupExpand(isx) { if ( isx.charAt(0) != "E" ) return; var ix = isx.substring(7,isx.length); // Strip off index var GIndx = ix * GroupRecLength; AR_GroupStoreArr[GIndx+4] ^= 1; // toggle expand state var Gid = AR_GroupStoreArr[GIndx+1]; var State = AR_GroupStoreArr[GIndx+4]; // Expand State ExpImg = ( AR_GroupStoreArr[GIndx+4] ) ? "minus" : "plus"; document.all[isx].src="images/"+ ExpImg+".gif"; for ( var i=0, j=0; i<CmpLupRecCount; i++, j+=CmpRecLth ) { if ( AR_CmpStoreArr[j+1] == Gid ) { AR_CmpStoreArr[j+7] = State; } } /* for ( var i=0, j=0; i<CmpLupRecCount; i++, j+=CmpRecLth ) { if ( AR_CmpStoreArr[j+7] ) { // if at least one computer displayed due to 'Expand' enableDeviceStatus(); break; } } if ( State ) { enableDeviceStatus(); } */ } var CDispArr = new Array(); function outputDeviceStatusDisplay() { // Find how many to display CDispArr.length = 0; for ( var i=0, j=0, k=0; i<CmpLupRecCount; i++, j+=CmpRecLth ) { AR_CmpStoreArr[j+8] = -1; // Reset Display Index if ( AR_CmpStoreArr[j+7] == 1 ) { CDispArr[k++] = AR_CmpStoreArr[j].toLowerCase()+" [+]"+j; } } CDispArr.sort(); /* Format Details for output */ var percent=10, rowcount=10, StatImg="Normal"; if ( CDispArr.length < 10 ) { percent = 33; rowcount = 3; } else if ( CDispArr.length < 20 ) { percent = 25; rowcount = 4; } else if ( CDispArr.length < 30 ) { percent = 20; rowcount = 5; } else if ( CDispArr.length < 40 ) { percent = 14; rowcount = 7; } var warr = new Array(); Devicewin.innerHTML = ""; // clear details sob = "<center><table border='0' cellpadding='1' cellSpacing='2' width='100%'>"; for ( var j=0; j<CDispArr.length; ) { sob += "<tr>"; for ( var i=0; i<rowcount && j<CDispArr.length; i++, j++ ) { warr = CDispArr[j].split("[+]"); var CIndx = parseInt(warr[1],10); if ( AR_CmpStoreArr[CIndx+6] == 0 ) { StatImg = "Normal"; } else if ( AR_CmpStoreArr[CIndx+6] == 1 ) { StatImg = "Caution"; } else { StatImg = "Critical"; } AR_CmpStoreArr[CIndx+8] = j; // Display Index sob += "<td width='"+percent+"%' align='center' class='statuslabel'"; sob += " title='Click to display the outstanding alerts for this device' "; sob += " style='cursor:hand' onclick='processDeviceExpand(this)' cindx='"+ CIndx + "'>"; sob += "<img id='DeviceStatus_"+j+"' src='images/"+StatImg+".gif' align='absmiddle' height='12' width='12'><br>"; sob += " <span title='IPAddr= "+ AR_CmpStoreArr[CIndx+5] +"; Desc= " + AR_CmpStoreArr[CIndx+2] +"; Group= "+GetGrpNameFromID(AR_CmpStoreArr[CIndx+1])+"'>"+ AR_CmpStoreArr[CIndx]+"</span></td>"; } for ( ; i<rowcount; i++ ) { sob += "<td width='"+percent+"%' align='center' class='statuslabel'> </td>"; } sob += "</tr>"; } sob += "</table></center>"; Devicewin.insertAdjacentHTML("beforeEnd",sob); SaveCurrentDisplayState(); } function processDeviceExpand(CObj) { var CIndx = parseInt(CObj.cindx,10); if ( AR_CmpStoreArr[CIndx+6] == 0 ){ alert("No alerts currently outstanding when state is 'Normal'"); return; } if ( document.body.RPMUserRights == "0" ) { DetSelectAllButton.disabled = "disabled"; DetUnselectAllButton.disabled = "disabled"; AckBut.disabled = "disabled"; } else { DetSelectAllButton.disabled = ""; DetUnselectAllButton.disabled = ""; AckBut.disabled = ""; } top.banner.processStartComm(); SetCursor("wait"); DeviceWinMain.style.display = ""; RpmCC_AR.NetStatFunction("GetNetStatDetails~"+AR_CmpStoreArr[CIndx+3]); lasthours.style.visibility = "hidden"; processDeviceWindow(CIndx); } function processDeviceDetailCloseButton() { DeviceWinMain.style.display = "none"; lasthours.style.visibility = "visible"; } function processDeviceWindow(CIx) { /* Format Output to Log Window */ var osix = AR_CmpStoreArr[CIx+4].indexOf("Microsoft"); var OS = ( osix >= 0 ) ? AR_CmpStoreArr[CIx+4].substring(osix+10) : AR_CmpStoreArr[CIx+4]; var Descr = ( AR_CmpStoreArr[CIx+2] == "" ) ? " " : AR_CmpStoreArr[CIx+2]; ELBgFlg = 0; DIdx = 0; DObjArr.length = 0; DeviceWin.innerHTML = ""; FOps = "<table id='devicehdr1' border='0' cellpadding='2' cellSpacing='0' width='100%'>"; FOps += "<tr height='25'><td align='left' style='background-color:activeborder' class='optextb'>"; FOps += "Server/Device: <span class='devtext'> " +AR_CmpStoreArr[CIx]+" </span> "; FOps += "IP Addr: <span class='devtext'> " +AR_CmpStoreArr[CIx+5]+" </span> "; FOps += "Desc: <span class='devtext'> "+Descr+" </span></td></tr>"; FOps += "<tr height='25'><td align='left' style='background-color:activeborder' class='optextb'>"; FOps += "OS Ver: <span class='devtext'> " +OS+" </span> "; FOps += "Group: <span class='devtext'> "+GetGrpNameFromID(AR_CmpStoreArr[CIx+1])+" </span>"; FOps += "</td></tr></table>"; FOps += "<table id='devicehdr2' border='0' cellpadding='0' cellSpacing='1' width='100%'><tr>"; FOps += "<td width='26' colspan='1' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Ack" + "</td>"; FOps += "<td width='26' colspan='1' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Sev" + "</td>"; FOps += "<td width='200' colspan='1' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Alert Type" + "</td>"; FOps += "<td width='110' colspan='1' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Date/Time Stamp" + "</td>"; FOps += "<td width='120' colspan='1' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Action Taken" + "</td>"; FOps += "<td width='*' colspan='1' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Status" + "</td>" FOps += "</tr></table><span id='DeviceText'></span>"; DeviceWin.insertAdjacentHTML("afterBegin",FOps); } var ELBgFlg = 0; var DIdx = 0; var DObjArr = new Array(); function processDeviceDetailDisplay(csArg) { var warr = new Array(); var darr = new Array(); if ((ELBgFlg ^= 1) == 0) { FOps = "<div style='background-color:white'>"; } else { FOps = "<div style='background-color:e8e8e8'>"; } FOps += "<table border='0' cellpadding='0' cellSpacing='1' width='100%'><tr>"; warr = csArg.split("~"); var dParms = warr[2]+"~"+warr[4]; // AGID~LogID var dCompID = warr[1]; // CompID var EGid = warr[2]; // Alert Group ID var DNotified = parseInt(warr[warr.length-1],10); var DAlertType = "", DDTStamp = "", DStatus = "", DAction = "", DStatusTip = "", DAlertTip = ""; if ( warr[3] == "0" ) { StatImg = "Normal"; } else if ( warr[3] == "1" ) { StatImg = "Caution"; } else { StatImg = "Critical"; } switch ( parseInt(warr[5]) ) { case COUNTER_WATCH: { DDTStamp = warr[6]; // Status string= Source, Category, & Comp Message DStatus = "Value= "+warr[7]+"; "+ ((warr[9] == "1")?"Over ":"Under ") + "Threshold= "+warr[8]+"; Minimum Duration= "+warr[10]; DAlertType = "CounterWatch- "+ warr[12] + " : " + warr[11] ; } break; case EVENTLOG_WATCH: { DDTStamp = warr[10]; // make sure complete message has no single quote characters darr = warr[17].split("'"); warr[17] = darr.join("`"); darr = warr[17].split("\x0d\x0a\x0d\x0a"); warr[17] = darr.join("<br>"); darr = warr[17].split("\x0d\x0a"); warr[17] = darr.join("<br>"); // Status string= Source, Category, & Comp Message DStatus = "ID= "+warr[16]+"; Src= "+warr[14]+"; Catg= "+warr[15]+"; Desc= "+warr[17]; var EvLTyp = ""; if ( warr[13] == "1" ) { EvLTyp = "Error"; } else if ( warr[13] == "2" ) { EvLTyp = "Warning"; } else if ( warr[13] == "4" ) { EvLTyp = "Information"; } else if ( warr[13] == "8" ) { EvLTyp = "Security"; } DAlertType = "EventLogWatch- "+warr[12]+" / "+EvLTyp; // Event Log Name & Type } break; case WINSERVICE_WATCH: { DDTStamp = warr[10]; if ( warr[8] == "0" ) { DStatus = "Notified Only"; } else if ( warr[8] == "1" ) { DStatus = "Service Restarted"; } else { DStatus = warr[9]; // info } DAlertType = "WinServiceWatch- "+ warr[14] + " ("+ warr[15] +")"; } break; case FILE_WATCH: { DDTStamp = warr[15]; // Status string= Source, Category, & Comp Message DStatus = GetFileCheckStatus(warr[13])+" FileSize= "+warr[11]+"KB; SearchString= "+warr[12]+"; FileD/T= "+warr[14]; DAlertType = "FileWatch- "+ warr[10] ; } break; case SNMPTRAP_WATCH: { DDTStamp = warr[11]; var VarBind = " "; var VBCount = parseInt( warr[13], 10 ); for ( var i=0; i <VBCount; i++ ) { VarBind += warr[17+i+i]; VarBind += ", "+warr[18+i+i]+"; "; } DStatus = "OID= "+warr[7]+"; UpTime= "+warr[9]+"; VariableBindings: "+VarBind; // Status string DAlertType = "SNMPTrapWatch- "+getOIDName(warr[7]); // Alert Name } break; case SYSLOG_WATCH: { DDTStamp = warr[15]; // make sure complete message has no single quote characters darr = warr[14].split("'"); warr[14] = darr.join("`"); // Status string= Facility, Severity, & Comp Message DStatus = "Facility= "+GetFacility(warr[10])+"; Severity= "+GetSeverity(warr[11])+"; Message= "+warr[14]; DAlertType = "SYSLOGWatch- "+ warr[13] ; } break; case SERVER_WATCH: { DDTStamp = warr[11]; // make sure complete message has no single quote characters darr = warr[12].split("'"); warr[12] = darr.join("`"); DStatus = warr[12]; // Status string DAlertType = "ServerWatch- "+ ((warr[10] == "SQLCONNECT") ? "SQL" : warr[10]); // Service Name DNotified = parseInt(warr[14],10); } break; case PROCESS_WATCH: { DDTStamp = warr[11]; // Status string= Source, Category, & Comp Message var pPID = "", pDuration = ""; if ( warr[23] != "" ) { var prarr = new Array(); prarr = warr[23].split("[]"); pPID = prarr[0]; pDuration = prarr[1]; } DStatus = GetProcessCheckStatus(warr[17]); if ( pPID != "" ) { DStatus += "; PID="+pPID; } if ( pDuration != "" ) { DStatus += "; Duration="+pDuration; } DStatus += "; CPU%= "+warr[12]+"; Memory= "+warr[13]; DStatus += "KB; PPool= "+warr[14]+"KB; NPPool= "+warr[15]+"KB; PFile= "+warr[16]+"KB ;"; DStatus += "Thresholds: CPU%= "+warr[18]+"; Memory= "+warr[19]; DStatus += "KB; PPool= "+warr[20]+"KB; NPPool= "+warr[21]+"KB; PFile= "+warr[22]+"KB"; DAlertType = "ProcessWatch- ProcessName= "+warr[10]; DNotified = parseInt(warr[24],10); } break; } if ( DAlertType != "" ) { AEagd = AEad = AEsub = AEpn = PGnbr = PGtext = BPnbr = BPtext = ""; ACd = ""; // Action description EAgn = getAlertNameSpecial(EGid); if ( DNotified && EAgn != "" ) { // Alert Group Name var aix = AlertSelectIdx * AlertRecLength; AEad = AlertStoreArr[aix+15]; // Email Address var est = AlertStoreArr[aix+16]; var estarr = new Array(); estarr = est.split("[+]"); AEsub = estarr[0]; // Email Subject AEpn = AlertStoreArr[aix+12]; // Program Name PGnbr = AlertStoreArr[aix+18]; // AlphaPage Number PGtext = AlertStoreArr[aix+19]; // AlphaPage TexttoSend BPnbr = AlertStoreArr[aix+21]; // Beeper Nmbr BPtext = AlertStoreArr[aix+22]; // Beeper Texttosend AEagd = AlertStoreArr[aix+2]; // Alert Group Desc if (AlertStoreArr[aix+14] == "1") { // EmailNotify? DAction += "Email Sent; "; ACd += "EmailAddress: " + AEad + "; EmailSubject: " + AEsub + "; "; } if (AlertStoreArr[aix+11] == "1") { // Program Execution? ACd += "Program Run At " if ( AEpn.charAt(0) == ">" ) { // execute remotely? ACd += "Monitored Server/Computer"; AEpn = AEpn.substring(1,AEpn.length); // strip off ">" if ( AEpn == '"RESTART"' ) { AEpn = "Monitored Server/Computer Restarted"; DAction += "Computer Rebooted; " } else { DAction += "Program Run; "; } } else { DAction += "Program Run; "; ACd += "MonitorIT Server"; } ACd += "; ProgramName: " + AEpn +"; ";; } if (AlertStoreArr[aix+17] == "1") { // AlphaPager? DAction += "Alpha Pager Called; "; ACd += "PagerNumber: "+ PGnbr + "; PagerText: "+ PGtext +"; "; } if (AlertStoreArr[aix+20] == "1") { // Beeper? DAction += "Beeper Called " ACd += "BeeperNumber: "+ BPnbr + "; BeeperText: "+ BPtext +"; "; } if ( parseInt(warr[5]) == WINSERVICE_WATCH && DStatus == "1" ) { DAction += "Service Restarted; "; } } if ( DAction == "" ) { DAction = "No Actions Taken"; } DAlertTip = "Watch/Alert Name = "+EAgn; FOps += "<td width='26' colspan='1' align='center' class='optext'>"; FOps += "<input id='Detail_" + DIdx + "' type='checkbox'" FOps += "dparms='" + dParms + "' dcompid='" + dCompID + "'></td>"; FOps += "<td width='26' colspan='1' align='center' class='optext'>"; FOps += "<img src='images/"+StatImg+".gif' align='absmiddle' height='12' width='12'></td>"; FOps += "<td width='200' colspan='1' align='left' class='optext ' "; FOps += "title='" + DAlertTip + "'>"; FOps += DAlertType + "</td>"; FOps += "<td width='110' colspan='1' align='left' class='optext'>"; FOps += DDTStamp + "</td>"; FOps += "<td width='120' colspan='1' align='left' class='optext' "; FOps += "title='" + ACd + "'>"; FOps += DAction + "</td>"; FOps += "<td width='*' colspan='1' align='left' class='optext'>"; FOps += DStatus +"</td>"; } else { FOps += "<td width='100%' align='left' class='optext'>"; FOps += csArg + "</td>"; } FOps += "</tr></table></div>"; DeviceText.insertAdjacentHTML("afterBegin",FOps); DObjArr[DIdx] = document.all["Detail_"+DIdx]; ++DIdx; } /* Get Alert Name from Store based on Alert ID */ function getAlertNameSpecial(UID) { AlertName = ""; for (i=0, j=0; i < AlertStoreArr.length; ++j, i+=AlertRecLength) { if ( AlertStoreArr[i+1] == UID ) { AlertName = AlertStoreArr[i]; AlertSelectIdx = j; break; } } return AlertName; } function GetGrpNameFromID(Gid) { for ( var i=0, GIndx=0; i<GrpLupRecCount; i++, GIndx+=GroupRecLength ) { if ( AR_GroupStoreArr[GIndx+1] == Gid ) { return AR_GroupStoreArr[GIndx]; } } return ""; } function processDetailSelect(Type) { Checked = ( Type == "0" ) ? "checked" : ""; for ( var i=0; i<DIdx; i++ ) { DObjArr[i].checked = Checked; } } function processAckButton() { if ( DIdx <= 0 ) return; var ackParms = "NetStatAck"; ackParms += "~" + DObjArr[0].dcompid; // Computer ID var Count = 0; for ( var i=0; i<DIdx; i++ ) { if ( DObjArr[i].checked ) { ackParms += "~"+DObjArr[i].dparms; ++Count; } } if ( Count > 0 ) { RpmCC_AR.NetStatFunction(ackParms); processDeviceDetailCloseButton(); } else { alert("Please select one or more Alerts to Acknowledge"); } } function processSelect(Type) { State = ( Type == "0" ) ? 1 : 0; for ( var i=0, GIndx=0; i<GrpLupRecCount; i++, GIndx+=GroupRecLength ) { AR_GroupStoreArr[GIndx+4] = State; // set state var Gid = AR_GroupStoreArr[GIndx+1]; ExpImg = ( State ) ? "minus" : "plus"; document.all["Expand_"+i].src="images/"+ ExpImg+".gif"; } for ( var j=0, k=0; j<CmpLupRecCount; j++, k+=CmpRecLth ) { AR_CmpStoreArr[k+7] = State; } if ( State ) { enableDeviceStatus(); outputDeviceStatusDisplay(); } } function processComputerStatus(cstat) { var wrkarr = new Array(); wrkarr = cstat.split("~"); var Status = parseInt(wrkarr[2]); for ( var i=0, j=0; i<CmpLupRecCount; i++, j+=CmpRecLth ) { if ( AR_CmpStoreArr[j+3] == wrkarr[1] ) { // Match on Computer ID if ( AR_CmpStoreArr[j+6] != Status ) { // Status changed AR_CmpStoreArr[j+6] = Status; processAlertAudioOut(); // Update Device icon if currently Displayed if ( AR_CmpStoreArr[j+7] && AR_CmpStoreArr[j+8] >= 0 ) { if ( Status == 0 ) StatImg = "Normal"; else if ( Status == 1 ) StatImg = "Caution"; else StatImg = "Critical"; var DObj = document.all["DeviceStatus_"+AR_CmpStoreArr[j+8]]; DObj.src="images/"+StatImg+".gif"; } // Update Group icon if necessary & currently Displayed var GStat = 0; for ( var m=0, n=0; m<CmpLupRecCount; m++, n+=CmpRecLth ) { if ( AR_CmpStoreArr[j+1] == AR_CmpStoreArr[n+1] ) { // if match on Group ID if ( AR_CmpStoreArr[n+6] == 2 ) { // if at least one Critical GStat = 2; break; } else { GStat |= AR_CmpStoreArr[n+6]; } } } for ( var p=0, GIndx=0; p<GrpLupRecCount; p++, GIndx+=GroupRecLength ) { if ( AR_GroupStoreArr[GIndx+1] == AR_CmpStoreArr[j+1] ) { // if match on Gid if ( AR_GroupStoreArr[GIndx+3] != GStat ) { // Status changed AR_GroupStoreArr[GIndx+3] = GStat; // Update Group icon if ( GStat == 0 ) StatImg = "Normal"; else if ( GStat == 1 ) StatImg = "Caution"; else StatImg = "Critical"; document.all["GroupStatus_"+AR_GroupStoreArr[GIndx+5]].src="images/"+StatImg+".gif"; } break; } } } // end If status change break; } // end If match } // end For on Computer search } function getOIDName(coid) { for ( var i=0; i<gOIDarray.length-1; i+=4 ) { if ( gOIDarray[i+2] == coid ) { // if match return gOIDarray[i+1]; } } return coid; } function processResetButton() { SetCursor("auto"); } function PopUpContextOpen() { } function PopUpContextClose() { } function processKeyPress() { /* get KeyCode and check if invalid */ kc = event.keyCode; stat = 1; // default to OK // Keys: ~ % [ ] # ! if (kc == 126 || kc == 37 || kc == 91 || kc == 93 || kc == 35 || kc == 33) { // Not acceptable stat = 0; } // Keys: * ? else if ( (kc == 42 || kc == 63) && event.srcElement.name != "AR_Rpt" ) { //Not acceptable stat = 0; } if (stat == 0) { // if Not Acceptable event.returnValue=false; top.Rstatus.Pstat("Keys ~%*?[]#! are not accepted for this field"); alert("Keys ~%*?[]#! are not accepted for this field"); } else { top.Rstatus.Pstat(""); // clear status line } } function GetFileCheckStatus(fcstat) { var csStatusParm="", csStatusList="Status: "; var warr = new Array(); var lStat = parseInt(fcstat, 10); csStatusList += (lStat & FILE_STRING_MATCH) ? "SearchString Match; " : ""; csStatusList += (lStat & FILE_DATE_CHANGE) ? "Date Changed; " : ""; csStatusList += (lStat & FILE_SIZE_CHANGE) ? "Size Changed; " : ""; csStatusList += (lStat & FILE_SIZE_MAX) ? "Created or MaxSize Exceeded; " : ""; csStatusList += (lStat & FILE_DELETED) ? "Deleted; " : ""; csStatusList += (lStat & FILE_NOT_CHANGED) ? "NOT Changed; " : ""; return csStatusList; } function GetProcessCheckStatus(fcstat) { var csStatusParm="", csStatusList="Status: "; var warr = new Array(); var lStatus = parseInt(fcstat, 10); csStatusList += (lStatus & NOT_RUNNING_NO_RESTART) ? "Process Not Running; No Restart Attempted " : ""; csStatusList += (lStatus & NOT_RUNNING_RESTARTED) ? "Process Not Running; Successfully Restarted " : ""; csStatusList += (lStatus & NOT_RUNNING_RESTART_FAILED) ? "Process Not Running; Restart Failed " : ""; csStatusList += (lStatus & RUNNING_HALTED) ? "Process Running; Terminated " : ""; csStatusList += (lStatus & RUNNING_NOT_HALTED) ? "Process Running; No Terminate Attempt " : ""; csStatusList += (lStatus & RUNNING_EXCEEDED_CPU) ? "Process Running & Exceeded CPU Threshold; " : ""; csStatusList += (lStatus & RUNNING_EXCEEDED_MEMORY) ? "Process Running & Exceeded a Memory Threshold" : ""; csStatusList += (lStatus & RUNNING_EXCEEDED_CPU_HALTED) ? "Process Running & Exceeded CPU Threshold; Terminated " : ""; csStatusList += (lStatus & RUNNING_EXCEEDED_MEMORY_HALTED) ? "Process Running & Exceeded a Memory Threshold; Terminated " : ""; return csStatusList; } function GetFacility(FacCode) { var csFacility; switch ( parseInt(FacCode) ) { case 0: csFacility = "Kernel"; break; case 1: csFacility = "User-Level"; break; case 2: csFacility = "Mail System"; break; case 3: csFacility = "System Daemons"; break; case 4: csFacility = "Security/Authorization (4)"; break; case 5: csFacility = "Internal by Syslogd"; break; case 6: csFacility = "Line Printer Subsystem"; break; case 7: csFacility = "Network News Subsystem"; break; case 8: csFacility = "UUCP Subsystem"; break; case 9: csFacility = "Clock Daemon (9)"; break; case 10: csFacility = "Security/Authorization (10)"; break; case 11: csFacility = "FTP Daemon"; break; case 12: csFacility = "NTP Subsystem"; break; case 13: csFacility = "Log Audit"; break; case 14: csFacility = "Log Alert"; break; case 15: csFacility = "Clock Daemon (15)"; break; case 16: csFacility = "Local Use 0"; break; case 17: csFacility = "Local Use 1"; break; case 18: csFacility = "Local Use 2"; break; case 19: csFacility = "Local Use 3"; break; case 20: csFacility = "Local Use 4"; break; case 21: csFacility = "Local Use 5"; break; case 22: csFacility = "Local Use 6"; break; case 23: csFacility = "Local Use 7"; break; default: csFacility = FacCode; } return csFacility; } function GetSeverity(SevCode) { var csSeverity; switch ( parseInt(SevCode,10) ) { case 0: csSeverity = "Emergency"; break; case 1: csSeverity = "Alert"; break; case 2: csSeverity = "Critical"; break; case 3: csSeverity = "Error"; break; case 4: csSeverity = "Warning"; break; case 5: csSeverity = "Notice"; break; case 6: csSeverity = "Informational"; break; case 7: csSeverity = "Debug"; break; default: csSeverity = SevCode; } return csSeverity; } // Print Event Log Data var DiscStatWindow = null; function processDeviceDetailPrintStatus() { if ( !top.banner.IE55orBetter ) { alert("Print requires IE 5.5/SP1 or greater. Download current, free IE update from Microsoft's web site"); return; } FakeBut.click(); // simulate event to call "savePageCoord(...)" var wprop = "height="+top.banner.bCh+",width="+top.banner.bCw wprop += ",top="+(top.banner.bY-28)+",left="+(top.banner.bX-4)+",scrollbars"; var rName = ""+Math.random(); // use Random number to get unique Window name rName = rName.substring(2,rName.length); DiscStatWindow = window.open("",rName,wprop); if ( DiscStatWindow == null ) { return; } var dh = "<html><head><title>MonitorIT - Server/Device Detail Alert Report</title>"; dh += "<link rel='stylesheet' type='text/css' href='css/rpmstyle.css'></head><body"; dh += " title='Exit to Close Window when Printing is complete'>"; dh += DeviceWin.innerHTML; // ploghdr1.width="18"; ploghdr2.width="28"; ploghdr3.width="170"; ploghdr4.width="101"; ploghdr5.width="126"; ploghdr6.width="46"; ploghdr7.width="58"; dh += '<script LANGUAGE="JavaScript">devicehdr1.border="1"; window.focus();'; dh += ' </script></body></html>'; DiscStatWindow.document.open(); DiscStatWindow.document.write(dh) DiscStatWindow.document.close(); DiscStatWindow.print(); } //--> </script> <script LANGUAGE="JavaScript" src="js/MiscFunc.js"></script> <script LANGUAGE="JavaScript" src="js/ButtonFunc.js"></script> <script LANGUAGE="JavaScript" src="js/AlertFunc.js"></script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="NetStatNotify(csArg)"> <!-- var wrkarr = new Array(); wrkarr = csArg.split("~"); if ( wrkarr[0] == "ComputerStatus" ) { processComputerStatus(csArg); } else if ( wrkarr[0] == "StatusInterval" ) { MostRecentHours = parseInt(wrkarr[1]); lasthours.selectedIndex = MostRecentHours-1; } else if ( wrkarr[0] == "StatusDetails" ) { if ( wrkarr[1] == "Begin" ) { DetailsArr.length = 0; DetailsArrIx = 0; } else if ( wrkarr[1] == "End" ) { top.banner.processStopCommX(); SetCursor("auto"); //alert(DetailsArr.join("")); } else { DetailsArr[DetailsArrIx++] = wrkarr[1]; processDeviceDetailDisplay(csArg); } } //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="Connected()"> <!-- processRepConnectConfirmed(); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="Disconnected()"> <!-- top.Rstatus.Pstat("Disconnected",true); if ( Tid != null ) { clearTimeout(Tid); // stop timeout routine } Tid = setTimeout("processRepReconnect()",10000); // Delay 10 secs then try reconnnect //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="DBChanged(cdata)"> <!-- var warr = new Array(); warr = cdata.split("~"); // parse the event data // process only if Computer, Watch/Alert or Group Table change if ( (warr[0] == "1" || warr[0] == "2" || warr[0] == "5") && ignoreDBChangeEvent == false ) { top.Rstatus.StatDB.style.display = ""; if ( CTid == null ) { CTid = setTimeout("processDBChanged()",30000); // Delay 30 secs then process } } //--> </script> <script FOR="RpmCC_AR" EVENT="ComputerLookupRecord(Cid,Gid,Sid,Nme,Desc,Pswd,OSVer,Addr,Port)"> <!-- processComputerLookupRecord(Cid,Gid,Nme,Desc,OSVer,Addr); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="ComputerOpComplete()"> <!-- processComputerOpComplete(); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="ComputerOpError()"> <!-- processComputerOpError(); //--> </script> <script FOR="RpmCC_AR" EVENT="GroupLookupRecord(Gid,GNme,GDesc)"> <!-- processGroupLookupRecord(Gid,GNme,GDesc); //--> </script> <script FOR="RpmCC_AR" EVENT="GroupOpComplete()"> <!-- processGroupOpComplete(); //--> </script> <script FOR="RpmCC_AR" EVENT="GroupOpError()"> <!-- processGroupOpError(); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="AlertGroupLookupRecordPart1(AlID, AlName, AlDesc, AlThresh, AlOver, AlEveryTime, AlDur, AlSched, AlSDT, AlEDT, AlArrayIDs)"> <!-- AlertLupRecPart1(AlID, AlName, AlDesc, AlThresh, AlOver, AlEveryTime, AlDur, AlSched, AlSDT, AlEDT, AlArrayIDs); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="AlertGroupLookupRecordPart2(AlID, AlRunProg, AlProgNme, AlProgramArgs, AlENotify, AlEAddr, AlESubj, AlPhNotify, AlPhNumber, AlTextToSpeak, AlPgNotify, AlPgNumber, AlTextToSend)"> <!-- AlertLupRecPart2(AlID, AlRunProg, AlProgNme, AlProgramArgs, AlENotify, AlEAddr, AlESubj, AlPhNotify, AlPhNumber, AlTextToSpeak, AlPgNotify, AlPgNumber, AlTextToSend); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="AlertGroupOpComplete()"> <!-- processAlertOpComplete(); VA_CommBusy = 0; // reset Comm busy flag //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="AlertGroupOpError()"> <!-- processAlertOpError(); VA_CommBusy = 0; // reset Comm busy flag //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="EnumOidDefs(ostrg)"> <!-- processOIDLookupRecord(ostrg); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="StartCommunication()"> <!-- top.banner.processStartComm(); //--> </script> <script LANGUAGE="JavaScript" FOR="RpmCC_AR" EVENT="StopCommunication()"> <!-- top.banner.processStopComm(); //--> </script> <script LANGUAGE="JavaScript" src="js/PopUpMenuFunc.js"></script> <object ID="RpmCC_AR" NAME="RpmCC_AR" WIDTH="14" HEIGHT="1" style="display:none" CLASSID="CLSID:D88C2358-FC83-11D1-BF49-00104B2D6F80" CODEBASE="controls/RPMComm.cab#version=5,2,0,0"> <param name="_Version" value="65536"> <param name="_ExtentX" value="2646"> <param name="_ExtentY" value="1341"> <param name="_StockProps" value="0"> </object> <!-- Invisible Object to Support Simulated Click Event --> <button id="FakeBut" style="display:none" onclick="top.banner.savePageCoord(event,document.body,'ViewNetStatus')"> </button> <select ONCHANGE="processAlertName()" SIZE="1" NAME="AL_AlertSel" id="AL_AlertSel" class="idis" style="width: 185pt" style="display: none"></select> <!-- Define Images used in dynamic HTML generation to force loading and caching now --> <div style="display:none"> <img src="images/sViewAlerts.gif"><img src="images/selectall.gif"><img src="images/Unchecked.gif"> <img src="images/unselectall.gif"><img src="images/Computer.gif"><img src="images/Printer.gif"> <img src="images/Checked.gif"><img src="images/CloseImg.gif"><img src="images/NetStatusSm.bmp"> <img src="images/FullView.gif"><img src="images/Normal.gif"><img src="images/Caution.gif"> <img src="images/Critical.gif"> </div> <!-- PopUp to Display Device Details --> <div ID="DeviceWinMain" class="VAMainBox" style="display:none; left:150; top:150; "> <table width="100%" style="height:26"> <tr><td width="10%" align="center"></td><td width="80%" align="center"><img src="images/sViewAlerts.gif" align="absmiddle" height="16" width="16"> <span align="absmiddle" id="ELogHeader" class="inputlabel">Device Alert Details</span> </td><td width="10%" align="center"></td></tr> </table> <table width="100%"> <tr><td><div class="EventLog" ID="DeviceWin" style="width:100%;height:100%" align="center"><span id="DeviceText"></span></div></tr></td> </table> <center> <table width="100%"> <tr><td align="center" width ="100%" colspan="3"><button id="DetSelectAllButton" onclick="processDetailSelect('0')" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" style="width:95px; height:22px" id="abSelC" ><img src="images/selectall.gif" align="absmiddle" height="15" width="14">Select All</button> <button id="DetUnselectAllButton" onclick="processDetailSelect('1')" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" style="width:95px; height:22px" id="abUselC" ><img src="images/unselectall.gif" align="absmiddle" height="15" width="14">Unselect All</button> <button id="AckBut" style="width:110px; height:22px;" onclick="processAckButton()" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand"><img src="images/EditStop.gif" align="absmiddle" height="16" width="15"> Acknowledge</button> <button id="DevicePrintButton" title="Print Device Alert Detail Status Display" onclick="if (this.bdis == '0') processDeviceDetailPrintStatus();" bdis="0" style="width:75px; height:22px" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand"><img src="images/Printer.gif" align="absmiddle" height="15" width="17"> Print</button> <button id="DetailDoneButton" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" title="Exit Device Alert Detail Display" style="width:75px; height:22px" onClick="processDeviceDetailCloseButton()"><img src="images/CloseImg.gif" align="absmiddle" height="14" width="15"> Close  </button></td> </tr> </table> </center> </div> <!-- End of PopUp to Display Device Details --> <div id="GTabBx" class="GTabBox" border="0" align="left" style="display:none"> <div id="NetStatusTitleDiv" align="left" width="98%"> <table border="1" borderColor="activeborder" align="left"> <tr><td borderColorDark="graytext" borderColorLight="white" style="font-weight:800; font-size:12pt; background-color:threedhighlight; color:windowtext"> <img src="images/NetStatusSm.bmp" align="absmiddle" height="16" width="16"> Network Status Display </td> </tr> </table><BR CLEAR=ALL><HR align="left"> </div> <div id="GTab" align="left" > <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="center" id="GroupTab" class="STabSel" onclick="processGeneralClick(this)">Groups</td> <td valign="center" id="DeviceTab" class="STabUnsel" onclick="processGeneralClick(this)">Devices</td> <td width="*" style="border-bottom: solid thin white"> </td> </tr> </table> <div id="GroupUI" class="Lbr_border" style="border-left:solid thin white; border-bottom:solid thin graytext; border-right:solid thin graytext" SelDate="" align="center"> <table width="100%" height="100%" border="0" cellspacing="3" cellpadding="2" > <tr> <td height="25px" align="center" class="inputlabel">Group Network Status</td> </tr> <tr> <td height="*" width="92%"> <div align="center" class="RptStatusTextBox" Name="Groupwin" ID="Groupwin" ></div> </td> </tr> <tr> <td height="30px" width="92%"> <div classFlag="idis" ><table border="1" cellspacing="1" cellpadding="1" height="30" width="100%"><tr><td width="23%" align="left" class="inputlabel"><span title="Uses the 'Asterisk' WAV assignment in Control Panel->Sounds & Multimedia Properties"><INPUT TYPE="checkbox" NAME="AlertAudioEnabled" id="AlertAudioEnabled" class="inputlabel" CHECKED>Audio Alert</span></td><td width="54%" align="center"><button title="Show status of all servers/devices for all the Groups in the 'Devices' tab view" onclick="processSelect('0')" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" style="width:95px; height:24px" id="bSelC" ><img src="images/FullView.gif" align="absmiddle" height="16" width="16"> Expand All</button>  <button title="Hide status of all servers/devices for all the Groups in the 'Devices' tab view" onclick="processSelect('1')" style="font-family:arial; font-size : 8pt; font-weight : 600; cursor:hand" style="width:95px; height:24px" id="bUselC" ><img src="images/Collapse.gif" align="absmiddle" height="14" width="16">Collapse All</button></td><td width="23%" align="right" class="inputlabel"><button onclick="processBannerMenu()" title="Press to Toggle Hide/Show of Menu and Banner Frames"><img src="images/FullView.gif" align="absmiddle" height="16" width="16"></button></td></tr></table></div> </td> </tr> </table> </div> <div id="DeviceUI" class="Lbr_border" style="display:none; border-left:solid thin white; border-bottom:solid thin graytext; border-right:solid thin graytext" SelDate="" align="center"> <table width="100%" height="100%" border="0" cellspacing="3" cellpadding="2" > <tr> <td height="25px" align="center" class="inputlabel">Device Network Status</td> </tr> <tr> <td height="*" width="92%"> <div align="center" class="RptStatusTextBox" Name="Devicewin" ID="Devicewin" classFlag ="idis" ></div> </td> </tr> <tr> <td height="30px" width="92%"> <div classFlag="idis" ><table border="1" cellspacing="1" cellpadding="1" height="30" width="100%"><tr><td width="40%" align="left" class="inputlabel"><span title="Change to set the interval for the number of previous hours of alerts that affect the status"> Status Interval: <select onchange="processMostRecentHours()" id="lasthours"></select> Hrs</span></td><td width="20%" align="center"> </td><td width="40%" align="right" class="statuslabel"><button onclick="processBannerMenu()" title="Press to Toggle Hide/Show of Menu and Banner Frames"><img src="images/FullView.gif" align="absmiddle" height="16" width="16"></button></td></tr></table></div> </td> </tr> </table> </div> </div> </div> </body> </html>