Source code of Windows XP (NT5)
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.

316 lines
8.4 KiB

  1. <HTML xmlns:ctls >
  2. <HEAD>
  3. <META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
  4. <META http-equiv="MSThemeCompatible" content="Yes">
  5. <LINK REL="stylesheet" TYPE="text/css" HREF="arp.css">
  6. <STYLE TYPE="text/css">
  7. BODY {
  8. background: infobackground;
  9. color: infotext;
  10. }
  11. DIV {
  12. position: relative;
  13. width: 100%;
  14. xborder: '1px solid red'; /* Used for debugging the layout */
  15. }
  16. TABLE {
  17. cursor: default; /* Set explicitly b/c it is not inherited */
  18. border-collapse:collapse;
  19. }
  20. TD {
  21. xborder: '1px solid burlywood'; /* Used for debugging the layout */
  22. }
  23. BUTTON {
  24. width: 8em;
  25. }
  26. ctls\:ACCEL { behavior: url(accel.htc); }
  27. </STYLE>
  28. <SCRIPT LANGUAGE="JavaScript" SRC="preload.js" DEFER></SCRIPT>
  29. <TITLE>Support Info</TITLE>
  30. </HEAD>
  31. <BODY scroll=no>
  32. <DIV id=idDivDlg style='width:100%; height:100%'>
  33. <DIV id=idDivClient>
  34. <H1><SPAN id=idProduct _bpInnerText=displayname></SPAN></H1>
  35. <DIV id=idDivNoInfo style='display:none'>
  36. <P id=idPNoSupportHelp>
  37. There is no support information for <SPAN id=idProduct3 _bpInnerText=displayname></SPAN>.
  38. <P>
  39. </DIV>
  40. <DIV id=idDivInfo>
  41. <P id=idPSupportHelp>
  42. Use the following information to get technical support for <SPAN id=idProduct2 _bpInnerText=displayname></SPAN>.
  43. <P>
  44. <TABLE id=idTblInfo style='height:auto'>
  45. <COL id=idColSupportLabel align=left valign=top style='width:10em; padding-left:10px'>
  46. <COL style='padding-left:10px'>
  47. <TR>
  48. <TD id=idTdPublisherLabel>Publisher:</TD>
  49. <TD> <A id=idAPublisher _bpInnerText=publisher _bpHref=supporturl></A> </TD>
  50. </TR>
  51. <TR>
  52. <TD id=idTdVersionLabel>Version:</TD>
  53. <TD id=idVersion _bpInnerText=version></TD>
  54. </TR>
  55. <TR>
  56. <TD id=idTdContactPersonLabel>Contact:</TD>
  57. <TD id=idContactPerson _bpInnerText=contact></TD>
  58. </TR>
  59. <TR>
  60. <TD id=idTdSupportInfoLabel>Support Information:</TD>
  61. <TD><SPAN _bpNop=helpurl> <A id=idAHelpUrl _bpInnerText=helpurl _bpHref=helpurl></A> <BR></SPAN>
  62. <SPAN id=idSpnHelpPhone _bpInnerText=helpphone></SPAN>
  63. </TD>
  64. </TR>
  65. <TR>
  66. <TD id=idTdReadmeLabel>Readme:</TD>
  67. <TD> <A id=idAReadme _bpInnerText=readmeurl _bpHref=readmeurl></A> </TD>
  68. </TR>
  69. <TR>
  70. <TD id=idTdUpdatesLabel>Product Updates:</TD>
  71. <TD> <A id=idAUpdates _bpInnerText=updateinfourl _bpHref=updateinfourl></A> </TD>
  72. </TR>
  73. <TR><TD colSpan=2>
  74. <!-- Trick to hide this linebreak if ProductID/RegCompany/RegOwner don't exist -->
  75. <SPAN _bpNop=productID>
  76. <SPAN _bpNop=regcompany>
  77. <SPAN _bpNop=regowner>
  78. <BR>
  79. </SPAN>
  80. </SPAN>
  81. </SPAN>
  82. </TD></TR>
  83. <TR>
  84. <TD id=idTdProductIDLabel>Product ID:</TD>
  85. <TD id=idProductID _bpInnerText=productID></TD>
  86. </TR>
  87. <TR>
  88. <TD id=idTdRegCoLabel>Registered Company:</TD>
  89. <TD id=idTdRegCo _bpInnerText=regcompany></TD>
  90. </TR>
  91. <TR>
  92. <TD id=idTdRegOwnLabel>Registered Owner:</TD>
  93. <TD id=idTdRegOwn _bpInnerText=regowner></TD>
  94. </TR>
  95. <TR><TD colSpan=2><BR></TD></TR>
  96. <TR>
  97. <TD id=idTdCommentsLabel>Comments:</TD>
  98. <TD id=idComments _bpInnerText=comments></TD>
  99. </TR>
  100. </TABLE>
  101. </DIV>
  102. <TABLE id=idTblRepair style='height:auto'>
  103. <TR>
  104. <TD>
  105. <DIV id=idDivRepair _bpValue=capability style='display:none'>
  106. <HR style='width:100%;' noshade size=2>
  107. <TABLE cellpadding=0 cellspacing=0>
  108. <TR>
  109. <TD id=idTdRepairDesc valign=middle style='padding:0px; margin:0px'>
  110. If this program is not working properly you may reinstall it
  111. by clicking <B>Repair</B>.
  112. </TD>
  113. <TD id=idTdRepairButton align=right valign=middle style='padding:5px'>
  114. <BUTTON id="idBtnRepair" _bpValue=recordnumber>
  115. <ctls:ACCEL id=idLblRepair forElem=idBtnRepair>&Repair</ctls:ACCEL>
  116. </BUTTON>
  117. </TD>
  118. </TR>
  119. </TABLE>
  120. </DIV>
  121. </TD>
  122. </TR>
  123. <TR>
  124. <TD style='padding:0px; margin:0px'>
  125. <HR style='width:100%' noshade size=2>
  126. </TD>
  127. </TR>
  128. <TR>
  129. <TD id=idTdCloseButton style='padding:5px; text-align:right'>
  130. <BUTTON id=idBtnOK>
  131. <ctls:ACCEL id=idLblOK forElem=idBtnOK>&Close</ctls:ACCEL>
  132. </BUTTON>
  133. </TD>
  134. </TR>
  135. </TABLE>
  136. </DIV>
  137. </DIV>
  138. <SCRIPT LANGUAGE="JavaScript">
  139. // Events
  140. document.body.onload = Body_Load;
  141. document.body.onunload = Body_UnLoad;
  142. document.body.onkeypress = Body_KeyPress;
  143. // Handle anchor events
  144. idDivInfo.onclick = GotoWebsite;
  145. idBtnRepair.onclick = Repair;
  146. idBtnOK.onclick = window.close;
  147. var g_docAll = document.all; // Cache this collection
  148. var g_wndParent = null;
  149. var g_dlg;
  150. function Body_Load()
  151. {
  152. // We need some utility functions
  153. LoadScriptFile("idScriptUtil", "util.js");
  154. LoadScriptFile("idScriptDlg", "dlg.js");
  155. LoadScriptFile("idScriptBplate", "bplate.js");
  156. InitDlgClass();
  157. InitBoilerPlateClass();
  158. var bplate = new BoilerPlate();
  159. g_wndParent = window.dialogArguments;
  160. // Resize the dialog according to the content
  161. g_dlg = new Dlg();
  162. g_dlg.CalcMetrics(g_wndParent.SupportInfo_GetDlgSize(), idDivDlg);
  163. var szStruct = g_wndParent.SupportInfo_Query();
  164. // This dialog supplies support information via fieldname values
  165. // supplied from szStruct. The list of possible field names are
  166. // listed below. The names in () are the registry names.
  167. //
  168. // recordNumber
  169. // DisplayName (DisplayName)
  170. // Version (VersionMajor & VersionMinor)
  171. // Publisher (Publisher)
  172. // SupportUrl (UrlInfoAbout)
  173. // Contact (Contact)
  174. // HelpPhone (HelpTelephone)
  175. // ProductID (ProductID)
  176. // HelpUrl (HelpLink)
  177. // Comments (Comments)
  178. // ReadmeUrl (Readme)
  179. // RegCompany (RegCompany)
  180. // RegOwner (RegOwner)
  181. // UpdateInfoUrl (UrlUpdateInfo)
  182. // Capability
  183. //
  184. bplate.Parse(szStruct);
  185. bplate.Apply(); // apply the values to the page
  186. // Are just the blank rows left in the support info?
  187. if (2 == idTblInfo.rows.length)
  188. {
  189. // Yes; remove them too
  190. idTblInfo.deleteRow();
  191. idTblInfo.deleteRow();
  192. }
  193. // Is there any info to show?
  194. if (0 == idTblInfo.rows.length)
  195. {
  196. // No; hide the whole section
  197. idDivInfo.style.display = 'none';
  198. idDivNoInfo.style.display = 'block';
  199. }
  200. // Can this app be repaired?
  201. if (parseInt(idDivRepair._bpVar) & APPCAP_REPAIR)
  202. {
  203. // Yes; show the repair div
  204. idDivRepair.style.display = 'block';
  205. }
  206. // Set the dialog size to entirely accomodate the contents of the dialog.
  207. // (We have to sleep because for some reason Trident needs time to figure
  208. // out the dimensions.)
  209. window.setTimeout("g_dlg.Resize(idDivClient.offsetWidth, idDivClient.offsetHeight)", 10);
  210. // Set the focus on the OK button
  211. idBtnOK.focus();
  212. }
  213. function Body_KeyPress()
  214. {
  215. // Was this the escape key?
  216. if (KC_ESCAPE == window.event.keyCode)
  217. {
  218. // Yes; close the window
  219. window.close();
  220. }
  221. }
  222. function Body_UnLoad()
  223. {
  224. // When we are unloading, set an expando property "supportInforUnloaded" to true
  225. // we can use this to know whether we unloaded later.
  226. if (g_wndParent)
  227. {
  228. g_wndParent.supportInfoUnloaded = true;
  229. }
  230. }
  231. function GotoWebsite()
  232. {
  233. var elem = window.event.srcElement;
  234. // Catch anchor clicks and open a new window
  235. if ("A" == elem.tagName && "" != elem.href)
  236. {
  237. window.open(elem.href, "SupInfoLink");
  238. window.event.returnValue = false; // don't do default
  239. }
  240. }
  241. function Repair()
  242. {
  243. // Call the parent window to repair the app, since it has access
  244. // to the ARP control.
  245. g_wndParent.SupportInfo_Repair(parseInt(idBtnRepair._bpVar));
  246. // Set the focus back to this window unless our HTML dialog window is already gone
  247. if (g_wndParent.supportInfoUnloaded != true)
  248. {
  249. idBtnOK.focus();
  250. }
  251. }
  252. </SCRIPT>
  253. </BODY>
  254. </HTML>