Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

766 lines
55 KiB

  1. ��
  2. <HTML>
  3. <!-- Copyright (c) Microsoft Corporation. All rights reserved.-->
  4. <HEAD>
  5. <TITLE>Status Page</TITLE>
  6. <SCRIPT LANGUAGE="VBScript">
  7. <!--
  8. Option Explicit
  9. 'Windows constants for key codes
  10. Public Const RightArrow = 39
  11. Public Const LeftArrow = 37
  12. Public Const EnterKey = 13
  13. Public Const EscapeKey = 27
  14. Public Const TabKey = 9
  15. 'special code for new alerts
  16. Public Const NewAlertKey = 135
  17. 'color constants
  18. Public Const BLACK = "#000000"
  19. Public Const WHITE = "#FFFFFF"
  20. 'Three dimentional array holding alert captions, descriptions and long descs
  21. Dim AlertsArray()
  22. 'Number of active localui alerts
  23. Dim NumberOfAlerts
  24. 'Do the alerts fit one LCD page
  25. Dim bOnlyOnePage
  26. 'Viewing the long description of the alert
  27. Dim bAlertViewMode
  28. 'Ip address of the local machine
  29. Dim strCurrentIp
  30. 'Hostname of the local machine
  31. Dim strHostName
  32. 'Index of the alert with the focus
  33. Dim intCurrentAlert
  34. 'Current alert with the focus
  35. Dim iFocusAlert
  36. 'sahelper component
  37. Dim objSaHelper
  38. 'Timer for idle timeout
  39. Dim iIdleTimeOut
  40. '----------------------------------------------------------------------------
  41. ' Function: Window_OnLoad
  42. ' Description: Initialization routine for the page
  43. ' Input Variables: None
  44. ' Output Variables: None
  45. ' Return Values: None
  46. ' Global Variables: AlertsArray,NumberOfAlerts,bAlertViewMode,bOnlyOnePage
  47. '----------------------------------------------------------------------------
  48. Sub Window_OnLoad()
  49. On Error Resume Next
  50. Err.Clear
  51. NumberOfAlerts = 0
  52. bAlertViewMode = false
  53. 'Get the current local ui alerts
  54. GetLocalUIAlerts
  55. 'window.alert NumberOfAlerts
  56. 'If there are alerts
  57. If NumberOfAlerts <> 0 Then
  58. bOnlyOnePage = AlertsFitOnePage
  59. ServeLocalUIAlerts
  60. 'hide the text resource control
  61. TextResourceCtrl.style.display = "none"
  62. 'set the focus to the first alert
  63. SaAlert1.focus
  64. 'Display the localui logo
  65. Else
  66. ServerLocalUILogo()
  67. salogo.style.display = ""
  68. 'set the focus to tasks link
  69. SaTasksLink.focus
  70. End If
  71. 'Display alternating ip and hostname information
  72. ServeIpHostNameInfo
  73. 'Get the resources and resize the resource controls
  74. GetLocalUIResources
  75. On Error Resume Next
  76. Err.Clear
  77. 'set the key codes for the page
  78. Dim objKeypad
  79. Set objKeypad = CreateObject("Ldm.SAKeypadController")
  80. If Err.number = 0 Then
  81. objKeypad.Setkey 0,TabKey,TRUE
  82. objKeypad.Setkey 1,TabKey,FALSE
  83. objKeypad.Setkey 2,LeftArrow,FALSE
  84. objKeypad.Setkey 3,RightArrow,FALSE
  85. objKeypad.Setkey 4,EscapeKey,FALSE
  86. objKeypad.Setkey 5,EnterKey,FALSE
  87. Set objKeypad = Nothing
  88. End If
  89. End Sub
  90. '----------------------------------------------------------------------------
  91. ' Function: ServerLocalUILogo
  92. ' Description: Gets the name of the logo file from elementmgr
  93. ' Input Variables: None
  94. ' Output Variables: None
  95. ' Return Values: None
  96. ' Global Variables: salogo
  97. '----------------------------------------------------------------------------
  98. Sub ServerLocalUILogo()
  99. Dim objLogoElementCol
  100. Dim objLogoElement
  101. Dim objRetriever
  102. Dim strLogoFileName
  103. Dim iSmallestMerit
  104. Dim iCurrentMerit
  105. On Error Resume Next
  106. Err.Clear
  107. 'Merit for our localui logo
  108. iSmallestMerit = 300
  109. strLogoFileName = ""
  110. 'Create elementmgr and get resource elements
  111. Set objRetriever = CreateObject("Elementmgr.ElementRetriever")
  112. If Err.Number = 0 Then
  113. Set objLogoElementCol = objRetriever.GetElements(1, "OemLocalUILogo")
  114. If Err.Number = 0 Then
  115. 'count the icon and text resources
  116. For Each objLogoElement in objLogoElementCol
  117. iCurrentMerit = CInt(objLogoElement.GetProperty("Merit"))
  118. If iCurrentMerit <= iSmallestMerit Then
  119. iSmallestMerit = iCurrentMerit
  120. strLogoFileName = objLogoElement.GetProperty("ElementGraphic")
  121. End If
  122. Next
  123. End If
  124. End If
  125. Err.Clear
  126. 'Set the logo file
  127. If strLogoFileName <> "" Then
  128. SaLogo.src = strLogoFileName
  129. End If
  130. Set objRetriever = Nothing
  131. Set objLogoElement = Nothing
  132. Set objLogoElementCol = Nothing
  133. End Sub
  134. '----------------------------------------------------------------------------
  135. ' Function: ServeLocalUIAlerts
  136. ' Description: Formats and display the alerts with their descriptions
  137. ' Input Variables: None
  138. ' Output Variables: None
  139. ' Return Values: None
  140. ' Global Variables: AlertsArray,NumberOfAlerts,bOnlyOnePage,intCurrentAlert
  141. '----------------------------------------------------------------------------
  142. Sub ServeLocalUIAlerts()
  143. 'Only one alert or one alert per page
  144. If bOnlyOnePage = false or NumberOfAlerts = 1 Then
  145. 'Display the first alert
  146. SaAlert1.innerText = AlertsArray(0,0)
  147. SaAlert1.href = "localui_alertview.htm"
  148. SaDesc1.innerText = AlertsArray(0,1)
  149. 'Display the page info, if there are more than one alert
  150. If NumberOfAlerts > 1 Then
  151. SaPageInfo.innertext = (intCurrentAlert+1)&"/"&(NumberOfAlerts)
  152. End If
  153. 'Alerts fit one page, display all of them
  154. Else
  155. 'Three alerts, since they fit one page they don't have descs
  156. If NumberOfAlerts = 3 Then
  157. SaAlert1.innerText = AlertsArray(0,0)
  158. SaAlert1.href = "localui_alertview.htm"
  159. SaAlert2.innerText = AlertsArray(1,0)
  160. SaAlert2.href = "localui_alertview.htm"
  161. SaAlert3.innerText = AlertsArray(2,0)
  162. SaAlert3.href = "localui_alertview.htm"
  163. Else
  164. 'Two alerts
  165. SaAlert1.innerText = AlertsArray(0,0)
  166. SaAlert1.href = "localui_alertview.htm"
  167. If AlertsArray(0,1) = "" Then
  168. SaAlert2.innerText = AlertsArray(1,0)
  169. SaAlert2.href = "localui_alertview.htm"
  170. SaDesc2.innerText = AlertsArray(1,1)
  171. Else
  172. SaDesc1.innerText = AlertsArray(0,1)
  173. SaAlert3.href = "localui_alertview.htm"
  174. SaAlert3.innerText = AlertsArray(1,0)
  175. End If
  176. End If
  177. 'We don't need page info,they fit one page
  178. SaPageInfo.innertext = ""
  179. End If
  180. intCurrentAlert = 0
  181. End Sub
  182. '----------------------------------------------------------------------------
  183. ' Function: AlertsFitOnePage
  184. ' Description: Checks if alerts fit one page
  185. ' Input Variables: None
  186. ' Output Variables: None
  187. ' Return Values: Boolean
  188. ' Global Variables: AlertsArray
  189. '----------------------------------------------------------------------------
  190. Function AlertsFitOnePage()
  191. 'Only one alert, fits one page
  192. If NumberOfAlerts = 1 Then
  193. AlertsFitOnePage = true
  194. Else
  195. AlertsFitOnePage = false
  196. End If
  197. End Function
  198. '----------------------------------------------------------------------------
  199. ' Function: ServeIpHostNameInfo
  200. ' Description: Obtains ip and hostname information for the local host
  201. ' Starts the timer for displaying the information
  202. ' Input Variables: None
  203. ' Output Variables: None
  204. ' Return Values: None
  205. ' Global Variables: strCurrentIp,strHostName
  206. '----------------------------------------------------------------------------
  207. Sub ServeIpHostNameInfo()
  208. On Error Resume Next
  209. Err.Clear
  210. Dim intTimeOut
  211. Dim intIpHostNameCheckTimeOut
  212. 'Create SaHelper object
  213. Set objSaHelper = CreateObject("ServerAppliance.SAHelper")
  214. If Err.Number <> 0 Then
  215. strCurrentIp = "UNKNOWN"
  216. strHostName = "UNKNOWN"
  217. 'Get the hostname and ip address
  218. Else
  219. 'start the timeout to check ip and hostname, 3 minutes
  220. intIpHostNameCheckTimeOut = window.SetTimeOut("GetIpHostName",180000)
  221. strCurrentIp = objSaHelper.IpAddress
  222. If Err.Number <> 0 Then
  223. strCurrentIp = "UNKNOWN"
  224. End If
  225. strHostName = objSaHelper.HostName
  226. If Err.Number <> 0 Then
  227. strHostName = "UNKNOWN"
  228. End If
  229. End If
  230. 'Starting from the hostname display the information
  231. SaIpHostInfo.innerText = strHostName
  232. intTimeOut = window.SetTimeOut("FlipIpHostName(1)",5000)
  233. End Sub
  234. '----------------------------------------------------------------------------
  235. ' Function: GetIpHostName
  236. ' Description: Obtains ip and hostname information for the local host
  237. ' Input Variables: None
  238. ' Output Variables: None
  239. ' Return Values: None
  240. ' Global Variables: strCurrentIp,strHostName
  241. '----------------------------------------------------------------------------
  242. Sub GetIpHostName()
  243. On Error Resume Next
  244. Err.Clear
  245. Dim intIpHostNameCheckTimeOut
  246. 'start the timeout to check ip and hostname, 3 minutes
  247. intIpHostNameCheckTimeOut = window.SetTimeOut("GetIpHostName",180000)
  248. strCurrentIp = objSaHelper.IpAddress
  249. strHostName = objSaHelper.HostName
  250. End Sub
  251. '----------------------------------------------------------------------------
  252. ' Function: FlipIpHostName
  253. ' Description: Change the value getting displayed and reset the timer
  254. ' Input Variables: iIndex, current value displayed
  255. ' 1, hostname 0, ip address
  256. ' Output Variables: None
  257. ' Return Values: None
  258. ' Global Variables: strCurrentIp,strHostName
  259. '----------------------------------------------------------------------------
  260. Sub FlipIpHostName(iIndex)
  261. Dim intTimeOut
  262. If iIndex = 1 Then
  263. SaIpHostInfo.innertext = strCurrentIp
  264. intTimeOut = window.SetTimeOut("FlipIpHostName(0)",5000)
  265. Else
  266. intTimeOut = window.SetTimeOut("FlipIpHostName(1)",5000)
  267. SaIpHostInfo.innertext = strHostName
  268. End If
  269. End Sub
  270. '----------------------------------------------------------------------------
  271. ' Function: GetLocalUIResources
  272. ' Description: Counts the number of text and icon resources and sets
  273. ' the size of the ActiveX control
  274. ' Input Variables: None
  275. ' Output Variables: None
  276. ' Return Values: None
  277. ' Global Variables: None
  278. '----------------------------------------------------------------------------
  279. Sub GetLocalUIResources()
  280. Dim objResourceElementCol
  281. Dim objResourceElement
  282. Dim objRetriever
  283. Dim strTextResource
  284. 'Number of icon resources
  285. Dim NumberOfIconResources
  286. 'Number of text resources
  287. Dim NumberOfTextResources
  288. On Error Resume Next
  289. NumberOfIconResources = 0
  290. NumberOfTextResources = 0
  291. 'Create elementmgr and get resource elements
  292. Set objRetriever = CreateObject("Elementmgr.ElementRetriever")
  293. If Err.Number = 0 Then
  294. Set objResourceElementCol = objRetriever.GetElements(1, "LocalUIResource")
  295. If Err.Number = 0 Then
  296. 'count the icon and text resources
  297. For Each objResourceElement in objResourceElementCol
  298. strTextResource = ""
  299. strTextResource = objResourceElement.GetProperty("IsTextResource")
  300. If CInt(strTextResource) = 1 Then
  301. NumberOfTextResources = NumberOfTextResources + 1
  302. Else
  303. NumberOfIconResources = NumberOfIconResources + 1
  304. End If
  305. Next
  306. End If
  307. End If
  308. Err.Clear
  309. 'Set the width of the icon control
  310. ResourceCtrl.style.width = NumberOfIconResources * 16
  311. 'we allow at most 3 text resources
  312. If NumberOfTextResources > 3 Then
  313. TextResourceCtrl.style.top = 0
  314. TextResourceCtrl.style.height = 36
  315. Else
  316. TextResourceCtrl.style.top = 36 - (12*NumberOfTextResources)
  317. TextResourceCtrl.style.height = 12*NumberOfTextResources
  318. End If
  319. Set objRetriever = Nothing
  320. Set objResourceElement = Nothing
  321. Set objResourceElementCol = Nothing
  322. End Sub
  323. '----------------------------------------------------------------------------
  324. ' Function: GetLocalUIAlerts
  325. ' Description: Get the local ui alerts from WMI and corresponding element
  326. ' definitions from element and loc manager
  327. ' Input Variables: None
  328. ' Output Variables: None
  329. ' Return Values: None
  330. ' Global Variables: AlertsArray,NumberOfAlerts
  331. '----------------------------------------------------------------------------
  332. Sub GetLocalUIAlerts()
  333. Dim objElement
  334. Dim objElementCol
  335. Dim objAlertElementCol
  336. Dim objAlertElement
  337. Dim objLocMgr
  338. Dim strElementID
  339. Dim strAlertLog
  340. Dim varReplacementStrings
  341. Dim objRetriever
  342. Dim intCaptionID
  343. Dim intDescriptionID
  344. Dim intLongDescriptionID
  345. Dim intCount
  346. Dim strSourceDll
  347. On Error Resume Next
  348. Err.Clear
  349. 'Create elementmgr and get current alerts
  350. Set objRetriever = CreateObject("Elementmgr.ElementRetriever")
  351. If Err.Number = 0 Then
  352. 'window.alert "Created"
  353. Set objElementCol = objRetriever.GetElements(1, "SA_Alerts")
  354. If objElementCol.Count=0 or Err.Number <> 0 Then
  355. Err.Clear
  356. NumberOfAlerts = 0
  357. Else
  358. 'window.alert NumberOfAlerts
  359. ReDim AlertsArray(objElementCol.Count-1,2)
  360. 'get alert definitions
  361. Set objAlertElementCol = objRetriever.GetElements(1,"LocalUIAlertDefinitions")
  362. 'create localization manager to get alert strings
  363. Set objLocMgr = CreateObject("ServerAppliance.LocalizationManager")
  364. If (Err.Number <> 0) Then
  365. Err.Clear
  366. NumberOfAlerts = 0
  367. Else
  368. intCount = 0
  369. For Each objElement in objElementCol
  370. strAlertLog = objElement.GetProperty("AlertLog")
  371. strElementID = "LocalUIAlertDefinitions" & strAlertLog & Hex(objElement.GetProperty("AlertID"))
  372. strText = ""
  373. Err.Clear
  374. Set objAlertElement = objAlertElementCol.Item(strElementID)
  375. If Err <> 0 Then
  376. Set objAlertElement = Nothing
  377. Else
  378. strSourceDll = objAlertElement.GetProperty("Source")
  379. intCaptionID = "&H" & objAlertElement.GetProperty("CaptionRID")
  380. intDescriptionID = "&H" & objAlertElement.GetProperty("DescriptionRID")
  381. intLongDescriptionID = "&H" & objAlertElement.GetProperty("LongDescriptionRID")
  382. varReplacementStrings = objElement.GetProperty("ReplacementStrings")
  383. AlertsArray(intCount,0) = objLocMgr.GetString(strSourceDll, intCaptionID, varReplacementStrings)
  384. AlertsArray(intCount,1) = objLocMgr.GetString(strSourceDll, intDescriptionID, varReplacementStrings)
  385. AlertsArray(intCount,2) = objLocMgr.GetString(strSourceDll, intLongDescriptionID, varReplacementStrings)
  386. intCount = intCount + 1
  387. End If
  388. Next
  389. NumberOfAlerts = intCount
  390. 'window.alert intCount
  391. End If
  392. End If
  393. End If
  394. Set objLocMgr = Nothing
  395. Set objElement = Nothing
  396. Set objElementCol = Nothing
  397. Set objAlertElement = Nothing
  398. Set objAlertElementCol = Nothing
  399. Set objRetriever = Nothing
  400. End Sub
  401. '----------------------------------------------------------------------------
  402. ' Function: InvertSelection
  403. ' Description: Inverts the focus element's background and foreground
  404. ' Input Variables: intIndex, index of the focus element
  405. ' Output Variables: None
  406. ' Return Values: None
  407. ' Global Variables: None
  408. '----------------------------------------------------------------------------
  409. Sub InvertSelection(intIndex)
  410. iFocusAlert = intIndex
  411. 'Invert the background and foreground for the focus element
  412. If intIndex = 0 Then
  413. SaAlert1.style.backgroundColor = BLACK
  414. SaAlert1.style.color = WHITE
  415. ElseIf intIndex = 1 Then
  416. SaAlert2.style.backgroundColor = BLACK
  417. SaAlert2.style.color = WHITE
  418. ElseIf intIndex = 2 Then
  419. SaAlert3.style.backgroundColor = BLACK
  420. SaAlert3.style.color = WHITE
  421. ElseIf intIndex = -1 Then
  422. SaTasksImage.src = "localui_sataskinverted.bmp"
  423. End If
  424. End Sub
  425. '----------------------------------------------------------------------------
  426. ' Function: InvertToNormal
  427. ' Description: Inverts element that loses focus to normal
  428. ' Input Variables: intIndex, index of the element loosing the focus, -1 for alerts link
  429. ' Output Variables: None
  430. ' Return Values: None
  431. ' Global Variables: None
  432. '----------------------------------------------------------------------------
  433. Sub InvertToNormal(intIndex)
  434. 'Invert the background and color for the element loosing the focus
  435. If intIndex = 0 Then
  436. SaAlert1.style.backgroundColor = ""
  437. SaAlert1.style.color = BLACK
  438. ElseIf intIndex = 1 Then
  439. SaAlert2.style.backgroundColor = ""
  440. SaAlert2.style.color = BLACK
  441. ElseIf intIndex = 2 Then
  442. SaAlert3.style.backgroundColor = ""
  443. SaAlert3.style.color = BLACK
  444. ElseIf intIndex = -1 Then
  445. 'if there are alerts,let the focus to leave
  446. If NumberOfAlerts <> 0 Then
  447. SaTasksImage.src = "localui_satask.bmp"
  448. 'cancel the event
  449. Else
  450. window.event.returnValue = false
  451. End If
  452. End If
  453. End Sub
  454. '----------------------------------------------------------------------------
  455. ' Function: KeyDown
  456. ' Description: Changes pages in response to right and left arrows
  457. ' in multiple alert page mode
  458. ' Input Variables: None
  459. ' Output Variables: None
  460. ' Return Values: None
  461. ' Global Variables: None
  462. '----------------------------------------------------------------------------
  463. Sub KeyDown()
  464. If window.event.keycode = NewAlertKey Then
  465. window.navigate "localui_main.htm"
  466. Exit Sub
  467. End If
  468. 'if there are alerts and they don't fit one page
  469. If NumberOfAlerts > 0 and bOnlyOnePage = false and bAlertViewMode = false Then
  470. 'right arrow
  471. If window.event.keycode = RightArrow Then
  472. intCurrentAlert = intCurrentAlert + 1
  473. If intCurrentAlert = NumberOfAlerts Then
  474. intCurrentAlert = 0
  475. End If
  476. window.event.cancelBubble = true
  477. End If
  478. 'left arrow
  479. If window.event.keycode = LeftArrow Then
  480. intCurrentAlert = intCurrentAlert - 1
  481. If intCurrentAlert = -1 Then
  482. intCurrentAlert = NumberOfAlerts - 1
  483. End If
  484. window.event.cancelBubble = true
  485. End If
  486. SaAlert1.innertext = AlertsArray(intCurrentAlert,0)
  487. SaAlert1.href = "localui_alertview.htm"
  488. SaDesc1.innertext = AlertsArray(intCurrentAlert,1)
  489. SaPageInfo.innertext = (intCurrentAlert+1)&"/"&(NumberOfAlerts)
  490. End If
  491. 'If we are in alert view mode and escape key is hit
  492. If bAlertViewMode = true Then
  493. If window.event.keycode = EscapeKey Then
  494. 'clear the timeout
  495. window.clearTimeOut(iIdleTimeOut)
  496. SaAlert1.style.display = ""
  497. SaAlert2.style.display = ""
  498. SaAlert3.style.display = ""
  499. SaDesc1.style.display = ""
  500. SaDesc2.style.display = ""
  501. SaIpHostInfo.style.display = ""
  502. SaPageInfo.style.display = ""
  503. SaTasksLink.style.display = ""
  504. ResourceCtrl.style.display = ""
  505. SaAlertView.style.display = "none"
  506. bAlertViewMode = false
  507. 'set the focus back to the selected alert
  508. If iFocusAlert = 0 Then
  509. SaAlert1.focus
  510. ElseIf iFocusAlert = 1 Then
  511. SaAlert2.focus
  512. ElseIf iFocusAlert = 2 Then
  513. SaAlert3.focus
  514. End If
  515. Else
  516. 'clear the timeout and restart it
  517. window.clearTimeOut(iIdleTimeOut)
  518. iIdleTimeOut = window.SetTimeOut("IdleHandler()",300000)
  519. 'Ignore any other key in alertview mode
  520. window.event.returnValue = false
  521. End If
  522. End If
  523. End Sub
  524. '----------------------------------------------------------------------------
  525. ' Function: GotoAlertView
  526. ' Description: Goes to alertview mode if a alert is selected
  527. ' Input Variables: None
  528. ' Output Variables: None
  529. ' Return Values: None
  530. ' Global Variables: None
  531. '----------------------------------------------------------------------------
  532. Sub GotoAlertView(intIndex)
  533. bAlertViewMode = true
  534. window.event.returnValue = false
  535. 'hide everything
  536. SaAlert1.style.display = "none"
  537. SaAlert2.style.display = "none"
  538. SaAlert3.style.display = "none"
  539. SaDesc1.style.display = "none"
  540. SaDesc2.style.display = "none"
  541. SaIpHostInfo.style.display = "none"
  542. SaPageInfo.style.display = "none"
  543. SaTasksLink.style.display = "none"
  544. ResourceCtrl.style.display = "none"
  545. 'display the long alert description
  546. If bOnlyOnePage = false Then
  547. SaAlertView.innerText = AlertsArray(intCurrentAlert,2)
  548. Else
  549. SaAlertView.innerText = AlertsArray(intIndex,2)
  550. End If
  551. SaAlertView.style.display = ""
  552. 'start the timer
  553. iIdleTimeOut = window.SetTimeOut("IdleHandler()",300000)
  554. End Sub
  555. Sub IdleHandler()
  556. 'go back to normal mode
  557. SaAlert1.style.display = ""
  558. SaAlert2.style.display = ""
  559. SaAlert3.style.display = ""
  560. SaDesc1.style.display = ""
  561. SaDesc2.style.display = ""
  562. SaIpHostInfo.style.display = ""
  563. SaPageInfo.style.display = ""
  564. SaTasksLink.style.display = ""
  565. ResourceCtrl.style.display = ""
  566. SaAlertView.style.display = "none"
  567. bAlertViewMode = false
  568. 'set the focus back to the selected alert
  569. If iFocusAlert = 0 Then
  570. SaAlert1.focus
  571. ElseIf iFocusAlert = 1 Then
  572. SaAlert2.focus
  573. ElseIf iFocusAlert = 2 Then
  574. SaAlert3.focus
  575. End If
  576. End Sub
  577. -->
  578. </SCRIPT>
  579. </HEAD>
  580. <BODY RIGHTMARGIN=0 LEFTMARGIN=0 onkeydown="KeyDown">
  581. <IMG ID="SaLogo" STYLE="position:absolute; top:0; left=0; display:none"
  582. SRC="localui_salogo.bmp" BORDER=0>
  583. <A STYLE="position:absolute; top:0; left:0; font-size:10; font-family=arial; display:none"
  584. ID="SaAlertView" HIDEFOCUS=true onkeydown="KeyDown">
  585. </A>
  586. <A STYLE="position:absolute; top:0; left:0; font-size:10; font-family=arial;"
  587. ID="SaAlert1" OnFocus="InvertSelection(0)" HIDEFOCUS=true onkeydown="KeyDown"
  588. OnClick="GotoAlertView(0)" OnBlur="InvertToNormal(0)">
  589. </A>
  590. <A STYLE="position:absolute; top:12; left:0; font-size:10; font-family=arial;"
  591. ID="SaAlert2" OnFocus="InvertSelection(1)" HIDEFOCUS=true onkeydown="KeyDown"
  592. OnClick="GotoAlertView(1)" OnBlur="InvertToNormal(1)">
  593. </A>
  594. <A STYLE="position:absolute; top:24; left:0; font-size:10; font-family=arial;"
  595. ID="SaAlert3" OnFocus="InvertSelection(2)" HIDEFOCUS=true onkeydown="KeyDown"
  596. OnClick="GotoAlertView(2)" OnBlur="InvertToNormal(2)">
  597. </A>
  598. <A STYLE="position:absolute; top:12; left:5; font-size:10; font-family=arial;"
  599. ID="SaDesc1">
  600. </A>
  601. <A STYLE="position:absolute; top:24; left:5; font-size:10; font-family=arial;"
  602. ID="SaDesc2">
  603. </A>
  604. <A ID="SaIpHostInfo" STYLE="position:absolute; top:36; left:0; font-size:11;
  605. font-family=arial;">
  606. </A>
  607. <A ID="SaPageInfo" STYLE="position:absolute; top:36; right:0; font-size:11;
  608. font-family=arial;">
  609. </A>
  610. <A ID="SaTasksLink" href="localui_tasks.htm" onkeydown="KeyDown"
  611. OnFocus="InvertSelection(-1)" OnBlur="InvertToNormal(-1)">
  612. <IMG ID="SaTasksImage" STYLE="position:absolute; top:48; right=0" SRC="localui_satask.bmp" BORDER=0>
  613. </A>
  614. <OBJECT TABINDEX=-1 STYLE="position:absolute; top:48; left=0; height:16;"
  615. ID="ResourceCtrl" CLASSID="CLSID:2FE9659A-53CB-4B06-9416-0276113F3106">
  616. </OBJECT>
  617. <OBJECT TABINDEX=-1 STYLE="position:absolute; top:0; left=0; height:12; width:128"
  618. ID="TextResourceCtrl" CLASSID="CLSID:B00A25FB-D262-4f1d-A525-50EC006F666B">
  619. </OBJECT>
  620. </BODY>
  621. </HTML>