home *** CD-ROM | disk | FTP | other *** search
/ DOKAN 17 / DOKAN17.iso / IE5 / IE_S2.CAB / IE_2.CAB / SHDOCLC.DLL / HTML / FINDINC.DLG < prev    next >
Text File  |  1999-03-15  |  7KB  |  350 lines

  1. //<SCRIPT LANGUAGE="JavaScript">
  2. function callHelp(elm)
  3. {
  4. if (null != elm.helpid)
  5. {
  6.  window.showHelp(elm.helpfile, "" + parseInt(elm.helpid),
  7.   "popup");
  8. }
  9. else
  10. {
  11.  if ("BODY" != elm.tagName)
  12.  {
  13.   callHelp(elm.parentElement);
  14.  }
  15. }
  16. function btnCancelClick()
  17. {
  18. window.close();
  19. function getTextRange(elm)
  20. {
  21. var r = elm.parentTextEdit.createTextRange();
  22. r.moveToElementText(elm);
  23. return r;
  24. function mouseClick()
  25. {
  26. if (window.event.srcElement.id.substring(0,3)
  27.  == "txt")
  28. {
  29.  return;
  30. }
  31. if (window.event.button == 2)
  32. {
  33.  callHelp(window.event.srcElement);
  34. }
  35. function txtDefaultESC()
  36. {
  37. if (event.keyCode == 27)
  38. {
  39.  window.close();
  40.  return;
  41. }
  42. window.onerror = HandleError
  43. var L_Dialog_ErrorMessage = "Error en este dißlogo.";
  44. var L_ErrorNumber_Text = "Error: ";
  45. function HandleError(message, url, line)
  46. {
  47. var str = L_Dialog_ErrorMessage + "\n\n" 
  48.  + L_ErrorNumber_Text + line + "\n"
  49.  + message;
  50. alert (str);
  51. window.close();
  52. return true;
  53. }
  54. function setFindState(fEvent) { if (fEvent && (event.propertyName != "value")) { return; } if (("" == txtFindText.value) == g_fFindEnabled) { btnFind.disabled = g_fFindEnabled; g_fFindEnabled = !g_fFindEnabled; } } var g_fFindEnabled = false;
  55. var g_docLastFound; 
  56. var g_fFrameset = false; 
  57. var g_arrFrames = new Array(); 
  58. var g_fSearchTopFrame = false; 
  59. var g_fFollowIframes = true;  
  60. var g_fError = false; 
  61. function FindHandleError(message, url, line)
  62. {
  63. var L_Find_DIALOG_NoAction_ErrorMessage = "El objeto no acepta esta acci≤n";
  64. var L_Find_DIALOG_NoProperty_ErrorMessage = "El objeto no acepta este mΘtodo o propiedad";
  65. if (message != L_Find_DIALOG_NoProperty_ErrorMessage)
  66. {
  67.  if (message != L_Find_DIALOG_NoAction_ErrorMessage)
  68.  {
  69.   var str = L_Dialog_ErrorMessage + "\n\n" 
  70.    + L_ErrorNumber_Text + line + "\n"
  71.    + message;
  72.   alert (str);
  73.   window.close();
  74.  }
  75.  else 
  76.  {
  77.   g_fError = true;
  78.   g_fFrameset = false;
  79.  }
  80. }
  81. return true;
  82. }
  83. function CrawlPath()
  84. {
  85. var win = window.dialogArguments.unsecuredWindowOfDocument;
  86. var i = 0;
  87. if (g_fSearchTopFrame)
  88. {
  89.  return win;
  90. }
  91. while (g_arrFrames[i] >= 0)
  92. {
  93.  win = win.frames[g_arrFrames[i]];
  94.  i++;
  95. }
  96. return win;
  97. function AtFrameset()
  98. {
  99. var win = CrawlPath();
  100. return win.frames.length;
  101. function AtIframe()
  102. {
  103. var win = CrawlPath();
  104. return win.document.all.tags("IFRAME").length;
  105. function IsLegalPage(win)
  106. {
  107. var arrBadFileTypes = new Array(".doc", ".xls", ".pdf");
  108. var strHref = win.location.href;
  109. for (i=0; i < arrBadFileTypes.length; i++)
  110. {
  111.  if (strHref.lastIndexOf(arrBadFileTypes[i]) == (strHref.length - 4))
  112.  {
  113.   return false;
  114.  }
  115. }
  116. return true;
  117. }
  118. function GetCurrentPos()
  119. {
  120. var i = GetCurrentDepth();
  121. return g_arrFrames[i];
  122. function GetCurrentDepth()
  123. {
  124. var i = 0;
  125. while (g_arrFrames[i] >= 0)
  126. {
  127.  i++;
  128. }
  129. return i-1;
  130. function MovePossible(fForward)
  131. {
  132. var intCurPos = GetCurrentPos();
  133. var win = CrawlPath();
  134. var winParent = win.parent;
  135. if (fForward)
  136. {
  137.  if ((winParent.frames.length - intCurPos - 1)
  138.   && (IsLegalPage(winParent.frames[intCurPos + 1])))
  139.  {
  140.   return true;
  141.  }
  142.  else
  143.  {
  144.   return false;
  145.  }
  146. }
  147. else
  148. {
  149.  return (intCurPos != 0);
  150. }
  151. function MoveUpFrameset()
  152. {
  153. var i = GetCurrentDepth();
  154. g_arrFrames[i] = -1;
  155. function MoveDownFrameset(fForward)
  156. {
  157. var i = GetCurrentDepth();
  158. var win = CrawlPath();
  159. g_arrFrames[i+1] = fForward ? 0 : win.frames.length - 1;
  160. g_arrFrames[i+2] = -1;
  161. function MoveWin(fForward)
  162. {
  163. var intDepth = GetCurrentDepth();
  164. var intPos = GetCurrentPos();
  165. g_arrFrames[intDepth] = fForward ? ++intPos : --intPos;
  166. function MoveDoc(fForward)
  167. {
  168. if (g_fSearchTopFrame) 
  169.  if (fForward)
  170.  {
  171.   g_fSearchTopFrame = false;
  172.   return true;
  173.  }
  174.  else
  175.  {
  176.   return false;
  177.  }
  178. }
  179. if (!fForward && (g_arrFrames[0] == 0) && (g_arrFrames[1] < 0)
  180.  && window.dialogArguments.document.all.tags("IFRAME").length)
  181. {
  182.  g_fSearchTopFrame = true;
  183.  return true;
  184. }
  185. if (g_fFollowIframes && AtIframe())
  186. {
  187.  MoveDownFrameset(fForward);
  188.  while (!AtIframe() && AtFrameset())
  189.  {
  190.   MoveDownFrameset(fForward);
  191.   return true;
  192.  }
  193.  return false;
  194. }
  195. if (MovePossible(fForward))
  196. {
  197.  MoveWin(fForward);
  198.  g_fFollowIframes = true;
  199.  while (!AtIframe() && AtFrameset())
  200.  {
  201.   MoveDownFrameset(fForward);
  202.  }
  203.  return true;
  204. }
  205. else
  206. {
  207.  if (GetCurrentDepth() > 0)
  208.  {
  209.   MoveUpFrameset();
  210.   while (AtIframe() && !MovePossible(fForward)
  211.    && (GetCurrentDepth() >= 0))
  212.   {
  213.    MoveUpFrameset();
  214.   }
  215.   if (AtIframe() && MovePossible(fForward))
  216.   {
  217.    g_fFollowIframes = false;
  218.   }
  219.   return MoveDoc(fForward);
  220.  }
  221. }
  222. return false;
  223. function GetFirstDoc()
  224. {
  225. var win;
  226. var doc = window.dialogArguments.document;
  227. if (doc.all.tags("IFRAME").length)
  228. {
  229.  g_fSearchTopFrame = true;
  230.  return doc;
  231. }
  232. while (!AtIframe() && AtFrameset())
  233. {
  234.  MoveDownFrameset(true);
  235. }
  236. win = CrawlPath();
  237. return win.document;
  238. function btnFindClick()
  239. {
  240. var docSearch; 
  241. var L_FinishedDocument_Text = "B·squeda en documento finalizada.";
  242. var intDirection;  
  243. var rngWorking;   
  244. var rngFoundText;  
  245. var fFoundText = false; 
  246. var index;
  247. findStartPoint();
  248. if (g_fFrameset)
  249. {
  250.  var win;
  251.  if (!AtIframe() && AtFrameset())
  252.  {
  253.   MoveDownFrameset(!radDirection[0].checked);
  254.   while (!AtIframe() && AtFrameset())
  255.   {
  256.    MoveDownFrameset(!radDirection[0].checked);
  257.   }
  258.  }
  259.  win = CrawlPath();
  260.  docSearch = win.document;
  261. }
  262. else
  263. {
  264.  docSearch = window.dialogArguments.document;
  265. }
  266. if (docSearch.queryCommandState("BrowseMode")
  267.  && docSearch.selection.type != "Text")
  268. {
  269.  if (docSearch.body == null)
  270.   return;
  271.  rngWorking = docSearch.body.createTextRange();
  272. }
  273. else
  274. {
  275.  rngWorking = docSearch.selection.createRange();
  276. }
  277. fFoundText = (docSearch.selection.type == "Text");
  278. if (radDirection[0].checked) 
  279. {
  280.  if (fFoundText)
  281.  {
  282.   rngWorking.moveEnd("character" , -1);
  283.  }
  284.  while (0 != rngWorking.moveStart("textedit", -1))
  285.  {
  286.  }
  287.  intDirection = -1000000000;
  288. }
  289. else       
  290. {
  291.  if (fFoundText)
  292.  {
  293.   rngWorking.moveStart("character", 1);
  294.  }
  295.  while (0 != rngWorking.moveEnd("textedit", 1))
  296.  {
  297.  }
  298.  intDirection = 1000000000; 
  299. }
  300. rngFoundText = rngWorking.duplicate();
  301. success = rngFoundText.findText(txtFindText.value, 
  302.  intDirection, findFlags());
  303. if (!success) 
  304. {
  305.  if (g_fFrameset)
  306.  {
  307.   if (MoveDoc(!radDirection[0].checked))
  308.   {
  309.    btnFindClick();
  310.    return;
  311.   }
  312.  }
  313.  alert(L_FinishedDocument_Text);
  314.  txtFindText.focus();
  315. }
  316. else      
  317. {
  318.  if (g_fFrameset)
  319.  {
  320.   g_docLastFound.execCommand("Unselect", false);
  321.   g_docLastFound = docSearch;
  322.  }
  323.  rngFoundText.select();
  324.  rngFoundText.scrollIntoView(true);
  325. }
  326. function btnCancelClick2()
  327. {
  328. window.dialogArguments.findText = txtFindText.value;
  329. window.close();
  330. //</SCRIPT>
  331.