home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / WindowsServerTrial / server.iso / sources / install.wim / 2 / Windows / System32 / ieframe.dll / HTML / FINDINC.DLG < prev    next >
Text File  |  2008-01-19  |  7KB  |  397 lines

  1. function callHelp(elm)
  2. {
  3. if (null != elm.helpid)
  4. {
  5. window.showHelp(elm.helpfile, "" + parseInt(elm.helpid),
  6. "popup");
  7. }
  8. else
  9. {
  10. if ("BODY" != elm.tagName)
  11. {
  12. callHelp(elm.parentElement);
  13. }
  14. }
  15. }
  16. function btnCancelClick()
  17. {
  18. window.close();
  19. }
  20. function getTextRange(elm)
  21. {
  22. var r = elm.parentTextEdit.createTextRange();
  23. r.moveToElementText(elm);
  24. return r;
  25. }
  26. function mouseClick()
  27. {
  28. if (window.event.srcElement.id.substring(0,3)
  29. == "txt")
  30. {
  31. return;
  32. }
  33. if (window.event.button == 2)
  34. {
  35. callHelp(window.event.srcElement);
  36. }
  37. }
  38. function txtDefaultESC()
  39. {
  40. if (event.keyCode == 27)
  41. {
  42. window.close();
  43. return;
  44. }
  45. }
  46. window.onerror = HandleError
  47. var L_Dialog_ErrorMessage = "An error has occurred in this dialog.";
  48. var L_ErrorNumber_Text = "Error: ";
  49. function HandleError(message, url, line)
  50. {
  51. var str = L_Dialog_ErrorMessage + "\n\n"
  52. + L_ErrorNumber_Text + line + "\n"
  53. + message;
  54. alert (str);
  55. window.close();
  56. return true;
  57. }
  58. function setFindState(fEvent) { if (fEvent && (event.propertyName != "value")) { return; } if (("" == txtFindText.value) == g_fFindEnabled) { btnFindPrev.disabled = g_fFindEnabled; btnFindNext.disabled = g_fFindEnabled; g_fFindEnabled = !g_fFindEnabled; } } var g_fFindEnabled = false;
  59. var g_docLastFound;
  60. var g_fFrameset = false;
  61. var g_arrFrames = new Array();
  62. var g_fSearchTopFrame = false;
  63. var g_fFollowIframes = true;
  64. var g_fError = false;
  65. var g_docSearch ;
  66. var g_rngWorking;
  67. var g_rngFoundText;
  68. var g_fFoundText = false;
  69. var g_intDirection;
  70. var g_fWrapped = false;
  71. function SuppressError(message, url, line)
  72. {
  73. window.close();
  74. return true;
  75. }
  76. function FindHandleError(message, url, line)
  77. {
  78. if (message != L_Find_DIALOG_NoProperty_ErrorMessage)
  79. {
  80. if (message != L_Find_DIALOG_NoAction_ErrorMessage)
  81. {
  82. var str = L_Dialog_ErrorMessage + "\n\n"
  83. + L_ErrorNumber_Text + line + "\n"
  84. + message;
  85. alert (str);
  86. window.close();
  87. }
  88. else
  89. {
  90. g_fError = true;
  91. g_fFrameset = false;
  92. }
  93. }
  94. return true;
  95. }
  96. function CrawlPath()
  97. {
  98. var win = window.dialogArguments.unsecuredWindowOfDocument;
  99. var i = 0;
  100. if (g_fSearchTopFrame)
  101. {
  102. return win;
  103. }
  104. while (g_arrFrames[i] >= 0)
  105. {
  106. win = win.frames[g_arrFrames[i]];
  107. i++;
  108. }
  109. return win;
  110. }
  111. function AtFrameset()
  112. {
  113. var win = CrawlPath();
  114. return win.frames.length;
  115. }
  116. function AtIframe()
  117. {
  118. var win = CrawlPath();
  119. return win.document.all.tags("IFRAME").length;
  120. }
  121. function IsLegalPage(win)
  122. {
  123. var arrBadFileTypes = new Array(".doc", ".xls", ".pdf");
  124. var strHref = win.location.href;
  125. for (i=0; i < arrBadFileTypes.length; i++)
  126. {
  127. if (strHref.lastIndexOf(arrBadFileTypes[i]) == (strHref.length - 4))
  128. {
  129. return false;
  130. }
  131. }
  132. return true;
  133. }
  134. function GetCurrentPos()
  135. {
  136. var i = GetCurrentDepth();
  137. return g_arrFrames[i];
  138. }
  139. function GetCurrentDepth()
  140. {
  141. var i = 0;
  142. while (g_arrFrames[i] >= 0)
  143. {
  144. i++;
  145. }
  146. return i-1;
  147. }
  148. function MovePossible(fForward)
  149. {
  150. var intCurPos = GetCurrentPos();
  151. var win = CrawlPath();
  152. var winParent = win.parent;
  153. if (fForward)
  154. {
  155. if ((winParent.frames.length - intCurPos - 1)
  156. && (IsLegalPage(winParent.frames[intCurPos + 1])))
  157. {
  158. return true;
  159. }
  160. else
  161. {
  162. return false;
  163. }
  164. }
  165. else
  166. {
  167. return (intCurPos != 0);
  168. }
  169. }
  170. function MoveUpFrameset()
  171. {
  172. var i = GetCurrentDepth();
  173. g_arrFrames[i] = -1;
  174. }
  175. function MoveDownFrameset(fForward)
  176. {
  177. var i = GetCurrentDepth();
  178. var win = CrawlPath();
  179. g_arrFrames[i+1] = fForward ? 0 : win.frames.length - 1;
  180. g_arrFrames[i+2] = -1;
  181. }
  182. function MoveWin(fForward)
  183. {
  184. var intDepth = GetCurrentDepth();
  185. var intPos = GetCurrentPos();
  186. g_arrFrames[intDepth] = fForward ? ++intPos : --intPos;
  187. }
  188. function MoveDoc(fForward)
  189. {
  190. if (g_fSearchTopFrame)
  191. {
  192. g_fSearchTopFrame = false;
  193. return true;
  194. }
  195. if (g_fFollowIframes && AtIframe())
  196. {
  197. MoveDownFrameset(fForward);
  198. while (!AtIframe() && AtFrameset())
  199. {
  200. MoveDownFrameset(fForward);
  201. return true;
  202. }
  203. return false;
  204. }
  205. if (MovePossible(fForward))
  206. {
  207. MoveWin(fForward);
  208. g_fFollowIframes = true;
  209. while (!AtIframe() && AtFrameset())
  210. {
  211. MoveDownFrameset(fForward);
  212. }
  213. return true;
  214. }
  215. else
  216. {
  217. if (GetCurrentDepth() > 0)
  218. {
  219. MoveUpFrameset();
  220. while (AtIframe() && !MovePossible(fForward)
  221. && (GetCurrentDepth() >= 0))
  222. {
  223. MoveUpFrameset();
  224. }
  225. if (AtIframe() && MovePossible(fForward))
  226. {
  227. g_fFollowIframes = false;
  228. }
  229. return MoveDoc(fForward);
  230. }
  231. }
  232. return false;
  233. }
  234. function GetFirstDoc()
  235. {
  236. var win;
  237. var doc = window.dialogArguments.document;
  238. if (doc.all.tags("IFRAME").length)
  239. {
  240. g_fSearchTopFrame = true;
  241. return doc;
  242. }
  243. while (!AtIframe() && AtFrameset())
  244. {
  245. MoveDownFrameset(true);
  246. }
  247. win = CrawlPath();
  248. return win.document;
  249. }
  250. function setInitSearchRng(fForward)
  251. {
  252. findStartPoint(fForward);
  253. if (g_fFrameset)
  254. {
  255. var win;
  256. if (!AtIframe() && AtFrameset())
  257. {
  258. MoveDownFrameset(fForward);
  259. while (!AtIframe() && AtFrameset())
  260. {
  261. MoveDownFrameset(fForward);
  262. }
  263. }
  264. win = CrawlPath();
  265. g_docSearch = win.document;
  266. }
  267. else
  268. {
  269. g_docSearch = window.dialogArguments.document;
  270. }
  271. if ((g_docSearch.queryCommandState("BrowseMode") || g_fWrapped)
  272. && g_docSearch .selection.type != "Text")
  273. {
  274. if (g_docSearch .body == null)
  275. return;
  276. g_rngWorking = g_docSearch .body.createTextRange();
  277. }
  278. else
  279. {
  280. g_rngWorking = g_docSearch .selection.createRange();
  281. }
  282. }
  283. function directionAdjust(fForward)
  284. {
  285. g_fFoundText = (g_docSearch .selection.type == "Text");
  286. if (!fForward)
  287. {
  288. if (g_fFoundText)
  289. {
  290. g_rngWorking.moveEnd("character" , -1);
  291. }
  292. while (0 != g_rngWorking.moveStart("textedit", -10000))
  293. {
  294. }
  295. g_intDirection = -1000000000;
  296. }
  297. else
  298. {
  299. if (g_fFoundText)
  300. {
  301. g_rngWorking.moveStart("character", 1);
  302. }
  303. while (0 != g_rngWorking.moveEnd("textedit", 10000))
  304. {
  305. }
  306. g_intDirection = 1000000000;
  307. }
  308. }
  309. function btnFindClick(fForward)
  310. {
  311. var fDone = false;
  312. var index;
  313. setInitSearchRng(fForward);
  314. directionAdjust(fForward);
  315. g_rngFoundText = g_rngWorking.duplicate();
  316. success = g_rngFoundText.findText(txtFindText.value,
  317. g_intDirection,
  318. findFlags());
  319. while ((!fDone) && success)
  320. {
  321. fDone = true;
  322. try
  323. {
  324. g_rngFoundText.select();
  325. }
  326. catch (exception)
  327. {
  328. if (g_intDirection == 1000000000)
  329. {
  330. g_rngFoundText.moveStart("character" , 1);
  331. while (0 != g_rngFoundText.moveEnd("textedit", 10000))
  332. {
  333. }
  334. }
  335. else
  336. {
  337. g_rngFoundText.moveEnd("character" , -1);
  338. while (0 != g_rngFoundText.moveStart("textedit", -10000))
  339. {
  340. }
  341. }
  342. fDone = false;
  343. success = g_rngFoundText.findText(txtFindText.value,
  344. g_intDirection,
  345. findFlags());
  346. }
  347. }
  348. if (!success)
  349. {
  350. if (g_fFrameset)
  351. {
  352. if (MoveDoc(fForward))
  353. {
  354. btnFindClick(fForward);
  355. return;
  356. }
  357. else if (!g_fWrapped)
  358. {
  359. g_fWrapped = true;
  360. g_fFindStartPoint = true;
  361. g_docSearch.execCommand("Unselect", false);
  362. btnFindClick(fForward);
  363. return;
  364. }
  365. }
  366. if (!g_fWrapped)
  367. {
  368. g_fWrapped = true;
  369. g_fFindStartPoint = true;
  370. g_docSearch.execCommand("Unselect", false);
  371. btnFindClick(fForward);
  372. }
  373. else
  374. {
  375. alert(L_FinishedDocument_Text);
  376. txtFindText.focus();
  377. g_fWrapped = false;
  378. g_fFindStartPoint = true;
  379. }
  380. }
  381. else
  382. {
  383. g_fWrapped = false;
  384. if (g_fFrameset)
  385. {
  386. g_docLastFound.execCommand("Unselect", false);
  387. g_docLastFound = g_docSearch ;
  388. }
  389. g_rngFoundText.select();
  390. g_rngFoundText.scrollIntoView(true);
  391. }
  392. }
  393. function btnCancelClick2()
  394. {
  395. window.close();
  396. }
  397.