home *** CD-ROM | disk | FTP | other *** search
Wrap
<html> <head> <title>HDDWatch Monitoring</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 : 1; 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: white; 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!" BOBDone="!BreakoutBot:Done!" onload="top.banner.savePageCoord(event,document.body,'ViewHDDStatus'); 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 ELBgFlg = 0; // Log Background color toggle // 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 Hp = parseInt(document.body.RPMHostPort,10); RpmCC_AR.Connect(document.body.RPMHostIP,Hp, ""); processSizeChange(); processLogWindow(); } 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 { //RpmCC_AR.NetStatFunction("GetServerInfoHDD"); } 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 } 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+"HDDWatchDisplayState",cc); } function processDBChanged() { CTid = null; top.banner.processStartComm(); top.Rstatus.StatDB.style.display = "none"; InitComputerLookup(); Tid = setTimeout("finishDBChange()",1000); // Delay } function finishDBChange() { Tid = null; // reset top.banner.processStopCommX(); } /* 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 = 10; // 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 AR_CmpStoreArr[i+9] = ""; // Drive Info ++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+"HDDWatchDisplayState"); 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 ) { AR_GroupStoreArr[GIndx+3] = 0; 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); } processGetServerInfo(); } } function processGetServerInfo() { GTid = null; RpmCC_AR.NetStatFunction("GetServerInfoHDD"); GTid = setTimeout("processGetServerInfo()",300000); // Delay 5 Minutes } /* 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; Groupwin.style.height = GroupUI.style.posHeight-50; Devicewin.style.height = GroupUI.style.posHeight-71; GTabBx.style.display = ""; GroupTab.className="STabUnsel"; DeviceTab.className="STabUnsel"; document.all[CurSelTab].className="STabSel"; 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/workstations in the `Servers` 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; } } } var CDispArr = new Array(); function outputDeviceStatusDisplay() { var warr = new Array(); var darr = new Array(); var TBytes = 0, UBytes=0, FBytes=0, PctFree=0; // Reset Group Status for ( var n=0; n<GrpLupRecCount; ++n ) { AR_GroupStoreArr[(n*GroupRecLength)+3] = 0; } // 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 AR_CmpStoreArr[j+6] = 0; // Reset Status if ( AR_CmpStoreArr[j+7] == 1 ) { // if Display CDispArr[k++] = AR_CmpStoreArr[j].toLowerCase()+" [+]"+j; } else { darr = AR_CmpStoreArr[j+9].split("~"); for ( var m=6; m+2<darr.length; m+=3 ) { TBytes = parseInt( darr[m+1], 10); FBytes = parseInt( darr[m+2], 10); UBytes = TBytes - FBytes; PctFree = ""+(FBytes*100)/TBytes; if ( PctFree <= 10 ) { AR_CmpStoreArr[j+6] = 2; } else if ( PctFree <= 20 && AR_CmpStoreArr[j+6] == 0) { AR_CmpStoreArr[j+6] = 1; } } } } CDispArr.sort(); Devicewin.innerHTML = ""; // clear details var FOps = ""; for ( var j=0; j<CDispArr.length; ++j ) { warr = CDispArr[j].split("[+]"); var CI = parseInt(warr[1],10); darr = AR_CmpStoreArr[CI+9].split("~"); for ( var k=6; k+2<darr.length; k+=3 ) { FOps += "<table border='0' cellpadding='1' cellSpacing='1' width='100%' "; if ((ELBgFlg ^= 1) == 0) { FOps += "id='Logline"+CI+"' style='background-color:white'><tr>"; } else { FOps += "id='Logline"+CI+"' style='background-color:e8e8e8'><tr>"; } FOps += "<td width='140' colspan='1' class='optext'>"; if ( k == 6 ) { FOps += AR_CmpStoreArr[CI+0] + "</td>"; } else { FOps += " </td>"; } FOps += "<td width='36' colspan='1' class='optext' align='center'>"; FOps += darr[k].substring(0,2) + "</td>"; FOps += "<td width='79' colspan='1' class='optext' align='right'>"; FOps += InsertCommas(darr[k+1]) + "</td>"; TBytes = parseInt( darr[k+1], 10); FBytes = parseInt( darr[k+2], 10); UBytes = TBytes - FBytes; PctFree = ""+(Math.round((FBytes*10000)/TBytes))/100; FOps += "<td width='92' colspan='1' class='optext' align='right'>"; FOps += InsertCommas(""+UBytes) + "</td>"; FOps += "<td width='92' colspan='1' class='optext' align='right'>"; FOps += InsertCommas(""+FBytes) + "</td>"; FOps += "<td width='56' colspan='1' class='optext' align='center'>"; FOps += PctFree + "</td>"; // set percentages if ( PctFree == 0 ) { PctFree = 1; } Cavg = (100-PctFree)+"%"; Bavg = PctFree+"%"; Aavg = Davg = "0%"; FOps += "<td width='*' colspan='1' class='optext'>" FOps += "<table border='0' cellpadding='0' cellSpacing='0' height='12' width='100%'><tr>"; if ( PctFree <= 10 ) { FOps += "<td width='"+Bavg+"' align='center' style='background-color:red'></td>"; AR_CmpStoreArr[CI+6] = 2; } else if ( PctFree <= 20 ) { FOps += "<td width='"+Bavg+"' align='center' style='background-color:yellow'></td>"; if ( AR_CmpStoreArr[CI+6] == 0 ) { AR_CmpStoreArr[CI+6] = 1; } } else { FOps += "<td width='"+Bavg+"' align='center' style='background-color:green'></td>"; } FOps += "<td width='"+Cavg+"'></td>"; FOps += "</tr></table>"; FOps += "</td>"; FOps += "</tr></table>"; } } Devicewin.insertAdjacentHTML("beforeEnd",FOps); SaveCurrentDisplayState(); var GStat = 0; for ( var p=0, GIndx=0; p<GrpLupRecCount; p++, GIndx+=GroupRecLength ) { for ( var m=0, n=0; m<CmpLupRecCount; m++, n+=CmpRecLth ) { if ( AR_GroupStoreArr[GIndx+1] == AR_CmpStoreArr[n+1] ) { // if match on Gid if ( AR_CmpStoreArr[n+6] == 2 ) { GStat = 2; break; } if ( AR_CmpStoreArr[n+6] == 1 ) { GStat = 1; } } } 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"; } GStat = 0; } } /* Initialize the Log and Filter Windows */ function processLogWindow() { // Format Output to Log Window FOps = "<table border='0' cellpadding='1' cellSpacing='1' width='100%'><tr>"; FOps += "<td width='140' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Server Name" + "</td>"; FOps += "<td width='36' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Drive" + "</td>"; FOps += "<td width='79' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Capacity(Mb)" + "</td>"; FOps += "<td width='92' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Used Space(Mb)" + "</td>"; FOps += "<td width='92' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Free Space(Mb)" + "</td>"; FOps += "<td width='56' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "% Free" + "</td>"; FOps += "<td width='*' align='center' style='background-color:activeborder' class='optextb'>"; FOps += "Free Space Meter" + "</td>"; FOps += "</tr></table>"; ELogWin.insertAdjacentHTML("afterBegin",FOps); } 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 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 processHDDInfo(csArg) { var wrkarr = new Array(); wrkarr = csArg.split("~"); if ( wrkarr[1] == "Done" ) { outputDeviceStatusDisplay(); return; } for ( var i=0, j=0; i<CmpLupRecCount; i++, j+=CmpRecLth ) { if ( AR_CmpStoreArr[j+3] == wrkarr[1] ) { // Match on Computer ID AR_CmpStoreArr[j+9] = csArg; break; } // end If match } // end For on Computer search } function InsertCommas( szNum ) { var csInt = ""; var csRemainder = ""; var cs = ""; var Decimal = szNum.indexOf( "." ); if ( -1 != Decimal ) { csInt = szNum.substr( 0, Decimal ); csRemainder = szNum.substr( Decimal+1 ); } else csInt = szNum; switch ( csInt.length ) { case 9: cs = csInt.charAt(0)+""+csInt.charAt(1)+""+csInt.charAt(2)+","; cs += csInt.charAt(3)+""+csInt.charAt(4)+""+csInt.charAt(5)+","; cs += csInt.charAt(6)+""+csInt.charAt(7)+""+csInt.charAt(8); break; case 8: cs = csInt.charAt(0)+""+csInt.charAt(1)+","+csInt.charAt(2)+""; cs += csInt.charAt(3)+""+csInt.charAt(4)+","+csInt.charAt(5)+""; cs += csInt.charAt(6)+""+csInt.charAt(7); break; case 7: cs = csInt.charAt(0)+","+csInt.charAt(1)+""+csInt.charAt(2)+""; cs += csInt.charAt(3)+","+csInt.charAt(4)+""+csInt.charAt(5)+""; cs += csInt.charAt(6); break; case 6: cs = csInt.charAt(0)+""+csInt.charAt(1)+""+csInt.charAt(2)+","; cs += csInt.charAt(3)+""+csInt.charAt(4)+""+csInt.charAt(5); break; case 5: cs = csInt.charAt(0)+""+csInt.charAt(1)+","+csInt.charAt(2)+""; cs += csInt.charAt(3)+""+csInt.charAt(4); break; case 4: cs = csInt.charAt(0)+","+csInt.charAt(1)+""+csInt.charAt(2)+""; cs += csInt.charAt(3); break; case 3: case 2: case 1: case 0: default: cs = csInt; } cs += csRemainder; return cs; } 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 } } // Print Display var DiscStatWindow = null; function processPrintStatus() { 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 - Logical Drive Status 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 += ELogWin.innerHTML; dh += Devicewin.innerHTML; dh += '<script LANGUAGE="JavaScript">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] == "SIHDD" ) { processHDDInfo(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="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,'ViewHDDStatus')"> </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> <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/HDDWatch.gif" align="absmiddle" height="16" width="16"> HDDWatch Monitoring </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)">Servers</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 Logical Drive 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"> </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">Server/Workstation Logical Drive Status</td> </tr> <tr> <td height="*" width="92%"> <div class="EventLog" ID="ELogWin" style="width:100%" align="center" ></div> <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"> </td><td width="20%" align="center"><button id="StatusPrintButton" title="Print Logical Drive Status Display" onclick="if (this.bdis == '0') processPrintStatus();" bdis="0" style="width:85px; height:24px" 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></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>