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.

755 lines
21 KiB

  1. <HTML id=dlgAbout STYLE="width: 25.9em; height: 22em">
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  3. <head>
  4. <TITLE>
  5. About Microsoft Ftp Folders
  6. </TITLE>
  7. <style>
  8. .versionformat {
  9. color: black;
  10. font-family: MS Sans Serif;
  11. font-size: 8pt;
  12. position: absolute;
  13. left: 0em;
  14. top: 0em;
  15. height: 2em;
  16. width:25em;
  17. z-index: 20;
  18. }
  19. .textformat {
  20. color: black;
  21. font-family: MS Sans Serif;
  22. font-size:8pt;
  23. position: absolute;
  24. left: 10.2em;
  25. top: 19.3em; //19.5em;
  26. height: 3em;
  27. width:26.5em;
  28. }
  29. .logo {
  30. color: LIGHTGREY;
  31. font-family: MS Sans Serif;
  32. font-size:40pt;
  33. position: absolute;
  34. left: 1.9em;
  35. top: 4.5em;
  36. height: 0.5em;
  37. width:1em;
  38. z-index: -1;
  39. }
  40. .button{
  41. position: absolute;
  42. top: 28em;
  43. width: 7em;
  44. height: 2.2em;
  45. color: black;
  46. font-family: MS Sans Serif;
  47. font-size:8pt;
  48. cursor: hand;
  49. z-index: 100;
  50. }
  51. </style>
  52. </head>
  53. <body id=bodyid onload="OnPageLoad()" onfilterchange="bodyOnFilterChange()" onkeydown="bodyOnKeyDown()" bgcolor="white" scroll=no leftmargin=0 topmargin=0 rightmargin=0 bottommargin=0 style="border:none">
  54. <!--Graphics -->
  55. <div id="allPic" STYLE="width:25em;position: absolute; top: 0px;left:0px;font-family: MS Sans Serif;font-size: 8pt; z-index: 13;">
  56. </div>
  57. <img src="ie256.gif" id="ID_IE" CLASS="Movable" style="position:absolute; left:0; top:0; width:0; height:0; visibility:hidden; z-index: 10;" FinalHeight=44, FinalWidth=39, FinalX=353, FinalY=0>
  58. <img src="world256.gif" id="ID_World"
  59. style="position:absolute; left:0px; top:0px; width:0; height:0; visibility:hidden; z-index: 3;"
  60. FinalHeight=86, FinalWidth=86, FinalX=12, FinalY=56 nOrigLeft=86, nOrigTop=86>
  61. <img src=ietxt256.bmp id="ID_IEText" style="position:absolute; left:104; top:61; width:269; height:109; visibility:hidden; z-index:100"
  62. SuperClass="Flingable" xDelta="0" yDelta="0" reqDirX=1 reqDirY=0 nScore=2>
  63. <img src=lines256.bmp id=lines style="position:absolute;left:0;top:0;visibility:hidden">
  64. <div id="versionDetails" class=versionformat style="color: white; left: 10.2em; top: 16.2em">
  65. Version <SPAN id=spaVersion ></SPAN><br>
  66. <span id=minorversion></SPAN>
  67. </div>
  68. <div id="userInfo" class=textformat style="visibility:hidden;z-index: 10;line-height: 140%">
  69. <SPAN id=spaText>Product ID: <SPAN id=pID></SPAN></SPAN>
  70. <BR><A href="" id=copyrightLink onclick="copyrightclick()" > Copyright Information</A><!-- onmouseover="copyrightmouseover()" onmouseout="copyrightmouseout()" -->
  71. </div>
  72. <div id=gettingStarted class=textformat style="visibility:hidden;line-height:175%">
  73. <div id=techSupport style="visibility:hidden"><a href="http://www.microsoft.com/iesupport/">Technical Support</a></div>
  74. <DIV id=copyrightMicrosoft style="visibility:hidden"><a href="http://www.microsoft.com/" id="copyright">Copyright &copy;1995-97 Microsoft Corp.</a><span id="rightsReserved"><BR>All rights reserved.</span></DIV>
  75. </DIV>
  76. <BUTTON id="backButton" class=button accessKey="B" onClick="backButtononclick()" style="left: 31.5em; visibility: hidden">&lt; <U>B</U>ack</BUTTON> <!-- onmouseover="buttonOnMouseOver()" onmouseout="buttonOnMouseOut()" -->
  77. <BUTTON id="nextButton" class=button accessKey="N" onClick="nextButtononclick()" style="left: 31.5em; visibility: hidden"><U>N</U>ext &gt;</BUTTON> <!-- onmouseover="buttonOnMouseOver()" onmouseout="buttonOnMouseOut()" -->
  78. <BUTTON id="okButton" class=button onClick="window.close();" style="left: 29.5em; visibility: hidden">OK</BUTTON> <!-- onmouseover="buttonOnMouseOver()" onmouseout="buttonOnMouseOut()" -->
  79. <BUTTON id="ID_Lock" class=button onClick="UnLock(ID_Lock);" style="left:104; top:61; visibility: hidden; z-index:1">Unlock</BUTTON>
  80. <SCRIPT language=javascript>
  81. window.onerror = HandleError;
  82. var isMMInstalled=0; //Disable MM because of DirectD flicker bug on S3 cards
  83. var beforeLinksDivCount=0;
  84. var totaldivCount=3;
  85. var noReEntry=0;
  86. var curDiv=0;
  87. var fade=0;
  88. var backwards=0;
  89. divNames = new Object();
  90. divNames[0]="userInfo";
  91. divNames[1]="gettingStarted";
  92. divNames[2]="techSupport";
  93. divNames[3]="copyrightMicrosoft";
  94. var g_nFinalGrowth = 12;
  95. var g_nCurrGrowth = 0;
  96. var g_nDragOffsetX=0;
  97. var g_nDragOffsetY=0;
  98. var g_fInDrag=0;
  99. var g_nStep=0;
  100. var g_nMaxStepHistory=4;
  101. var g_szPrevElement="";
  102. var g_cFlungObjects=0;
  103. var g_nScore=0;
  104. var g_nScoreNeeded=3; // 1 for text + 1 for button
  105. FlingingItems = new Object();
  106. CursorHistoryX = new Object();
  107. CursorHistoryY = new Object();
  108. var g_nWobbleAmount = 4;
  109. //+-------------------------------------------------------------------
  110. //
  111. // Synopsis: Turns off error messages in dialogs
  112. //
  113. // Arguments: none
  114. //
  115. // returns: true (tells browser not to handle message)
  116. //
  117. //--------------------------------------------------------------------
  118. function HandleError(message, url, line)
  119. {
  120. var L_Dialog_ErrorMessage = "An error has occured in this dialog.";
  121. var L_ErrorNumber_Text = "Error: ";
  122. var str = L_Dialog_ErrorMessage + "\n\n"
  123. + L_ErrorNumber_Text + line + "\n"
  124. + message;
  125. alert (str);
  126. window.close();
  127. return true;
  128. }
  129. //function called by body.onload. Starts initial animation
  130. function OnPageLoad()
  131. {
  132. var L_UpdateVersions_Text = "Update versions: ";
  133. if(window.screen.colorDepth<8)
  134. {
  135. document.all["ID_IE"].src="ie.gif";
  136. document.all["ID_World"].src="world.bmp";
  137. document.all["lines"].src="lines.bmp";
  138. document.all["ID_IEText"].src="ietext.bmp";
  139. }
  140. else
  141. document.body.bgColor="#F8F8F8";
  142. if(isMMInstalled==1)
  143. {
  144. for(i=0;i<=beforeLinksDivCount;i++)
  145. {
  146. document.all[divNames[i]].style.filter="blendTrans(duration=0.5)";
  147. document.all[divNames[i]].onfilterchange="onfilterchangeHandler()";
  148. }
  149. for(i=beforeLinksDivCount+1;i<=totaldivCount;i++)
  150. {
  151. document.all[divNames[i]].style.filter="blendTrans(duration=0.5)";
  152. document.all[divNames[i]].onfilterchange="onfilterchangeHandlerLinks()";
  153. }
  154. document.all.copyrightLogo.style.filter="blendTrans(duration=0.5)";
  155. }
  156. if ((null != window.dialogArguments))
  157. {
  158. arrArgs = window.dialogArguments.split("~");
  159. spaVersion.innerText = arrArgs[0];
  160. pID.innerText=arrArgs[4];
  161. }
  162. //Check for QFEs
  163. var mv=window.navigator.appMinorVersion;
  164. if(mv!="0") minorversion.innerText=L_UpdateVersions_Text + mv;
  165. spaText.innerText = spaText.innerText;
  166. backButton.style.posLeft=okButton.style.posLeft-15.3;
  167. nextButton.style.posLeft=okButton.style.posLeft-7.6;
  168. allPic.style.pixelLeft=userInfo.offsetLeft-103;
  169. allPic.style.pixelTop=(versionDetails.offsetTop-170)/2;
  170. //start initial animation
  171. document.all["ID_World"].style.visibility="";
  172. document.all["ID_IE"].style.visibility="";
  173. // Create final x/y for World and Logo.
  174. document.all["ID_IE"].FinalX=allPic.style.posLeft+350;
  175. document.all["ID_IE"].FinalY=allPic.style.posTop+0;
  176. document.all["ID_World"].FinalX=allPic.style.posLeft+10;
  177. document.all["ID_World"].FinalY=allPic.style.posTop+50;
  178. document.all["ID_World"].nOrigLeft=document.all["ID_World"].FinalX;
  179. document.all["ID_World"].nOrigTop=document.all["ID_World"].FinalY;
  180. // Move World and Logo onto screen.
  181. window.setTimeout("DoGrow();",100);
  182. }
  183. //this function grows the earth and IE logos from the upper left corner
  184. function DoGrow()
  185. {
  186. g_nCurrGrowth += 1;
  187. ID_World.style.posHeight = Math.round(parseInt(ID_World.FinalHeight) * (g_nCurrGrowth/g_nFinalGrowth));
  188. ID_World.style.posWidth = Math.round(parseInt(ID_World.FinalWidth) * (g_nCurrGrowth/g_nFinalGrowth));
  189. ID_World.style.posLeft = Math.round(parseInt(ID_World.FinalX) * (g_nCurrGrowth/g_nFinalGrowth));
  190. ID_World.style.posTop = Math.round(parseInt(ID_World.FinalY) * (g_nCurrGrowth/g_nFinalGrowth));
  191. document.all.ID_IE.style.posHeight = Math.round(parseInt(document.all.ID_IE.FinalHeight) * (g_nCurrGrowth/g_nFinalGrowth));
  192. document.all.ID_IE.style.posWidth = Math.round(parseInt(document.all.ID_IE.FinalWidth) * (g_nCurrGrowth/g_nFinalGrowth));
  193. document.all.ID_IE.style.posLeft = Math.round(parseInt(document.all.ID_IE.FinalX) * (g_nCurrGrowth/g_nFinalGrowth));
  194. document.all.ID_IE.style.posTop = Math.round(parseInt(document.all.ID_IE.FinalY) * (g_nCurrGrowth/g_nFinalGrowth));
  195. if(g_nCurrGrowth < g_nFinalGrowth)
  196. {
  197. window.setTimeout("DoGrow()",1);
  198. }
  199. else
  200. {
  201. window.setTimeout("DoPics()",200);
  202. }
  203. }
  204. //When done growing, display the other parts of the IE splash screen
  205. function DoPics() {
  206. ID_IEText.style.posTop=allPic.offsetTop+60;
  207. ID_IEText.style.posLeft=allPic.offsetLeft+98;
  208. ID_IEText.style.visibility="";
  209. ID_Lock.style.posTop=ID_IEText.style.posTop+30;
  210. ID_Lock.style.posLeft=ID_IEText.style.posLeft+100;
  211. ID_Lock.style.visibility="";
  212. lines.style.posLeft=allPic.style.posLeft+43;
  213. lines.style.posTop=allPic.style.posTop+17;
  214. lines.style.visibility="";
  215. window.setTimeout("startVersion()",500);
  216. }
  217. //Start version number sliding in from bottom
  218. function startVersion() {
  219. versionDetails.style.posTop=28;
  220. versionDetails.style.color="black";
  221. DoVersion();
  222. }
  223. function DoVersion() {
  224. if (versionDetails.style.posTop>16.2) versionDetails.style.posTop=versionDetails.style.posTop-1;
  225. if (versionDetails.style.posTop<=16.2)
  226. {
  227. versionDetails.style.posTop=16.2;
  228. okButton.style.visibility="";
  229. okButton.focus();
  230. window.setTimeout("DoShow()",100);
  231. showDiv=-2;
  232. }
  233. else window.setTimeout("DoVersion()",1);
  234. }
  235. //General function for showing the different paragraphs of text
  236. //If MM is used, performs a fade-in transition
  237. function DoShow() {
  238. if(isMMInstalled==1) document.all[divNames[curDiv]].filters[0].Apply();
  239. document.all[divNames[curDiv]].style.visibility="visible";
  240. if(isMMInstalled==1) document.all[divNames[curDiv]].filters[0].Play();
  241. //Next two lines call the filterchanged events manually
  242. //when MM is not enabled
  243. else if(curDiv<=beforeLinksDivCount) onfilterchangeHandler();
  244. else onfilterchangeHandlerLinks();
  245. }
  246. //General function for hiding the different paragraphs
  247. //IF MM is used, performs a fade-out transition
  248. function DoFade() {
  249. var divNum=DoFade.arguments[0];
  250. fade=1;
  251. if(isMMInstalled==1) document.all[divNames[divNum]].filters[0].Apply();
  252. document.all[divNames[divNum]].style.visibility="hidden";
  253. if(isMMInstalled==1) document.all[divNames[divNum]].filters[0].Play();
  254. //Next two lines call the filterchanged events manually
  255. //when MM is not enabled
  256. else if(curDiv<=beforeLinksDivCount) onfilterchangeHandler();
  257. else {
  258. if(backwards==0) curDiv=curDiv-1;
  259. onfilterchangeHandlerLinks();
  260. }
  261. }
  262. //Logo behind copyright info needs separate fade routine
  263. //function DoLogoFade() { //Fade logo characters
  264. //if(isMMInstalled==1) document.all.copyrightLogo.filters[0].Apply();
  265. //document.all.copyrightLogo.style.visibility="hidden";
  266. //if(isMMInstalled==1) document.all.copyrightLogo.filters[0].Play();
  267. //}
  268. //When copyright link is clicked, show first paragraph of copyright info
  269. function copyrightclick(){
  270. window.event.returnValue=0;
  271. if (noReEntry!=1)
  272. {
  273. backButton.style.visibility="";
  274. nextButton.style.visibility="";
  275. backButton.disabled=0;
  276. curDiv=1;
  277. noReEntry=1;
  278. DoFade(0);
  279. // DoLogoFade();
  280. }
  281. }
  282. //Show logo underneath copyright link when hover over
  283. //function copyrightmouseover(){
  284. //copyrightLogo.style.visibility="visible";
  285. //}
  286. //Hide logo again when mouse leaves copyright link
  287. //function copyrightmouseout(){
  288. //copyrightLogo.style.visibility="hidden";
  289. //}
  290. //Go back one paragraph. Check to see if at beginning
  291. function backButtononclick(){
  292. if (noReEntry==0) {
  293. curDiv=curDiv-1;
  294. if(curDiv<0) curDiv=0;
  295. else {
  296. noReEntry=1;
  297. backwards=1;
  298. //Fade old div out
  299. DoFade(curDiv+1);
  300. }
  301. }
  302. setButtonColor();
  303. }
  304. //Go forward one paragraph
  305. function nextButtononclick(){
  306. if (noReEntry==0) {
  307. curDiv=curDiv+1;
  308. if(curDiv>beforeLinksDivCount+1) curDiv=beforeLinksDivCount+1;
  309. else {
  310. noReEntry=1;
  311. //Fade old div out
  312. DoFade(curDiv-1);
  313. }
  314. }
  315. setButtonColor();
  316. }
  317. //Check to see if one of the buttons should be disabled
  318. //if at the beginning or end of the paragraphs
  319. function setButtonColor() {
  320. if((curDiv==beforeLinksDivCount+1)&&(backwards==0)) {
  321. nextButton.style.color="";
  322. nextButton.disabled=1;
  323. }
  324. else {
  325. nextButton.disabled=0;
  326. if(curDiv==0) {
  327. backButton.style.color="";
  328. backButton.disabled=1;
  329. }
  330. else backButton.disabled=0;
  331. }
  332. }
  333. //Respond to ESC key
  334. function bodyOnKeyDown() {
  335. if (window.event.keyCode==27) window.close();
  336. }
  337. //General function for turning the buttons text blue when mouseover
  338. function buttonOnMouseOver(){
  339. var srcElement=window.event.srcElement;
  340. if (((srcElement.id!="backButton")|| (backButton.disabled==0))&&((srcElement.id!="nextButton")||(nextButton.disabled==0))) window.event.srcElement.style.color="blue";
  341. }
  342. //General function for restoring the buttons text when mouse out
  343. function buttonOnMouseOut(){
  344. var srcElement=window.event.srcElement;
  345. if (((srcElement.id!="backButton")|| (backButton.disabled==0))&&((srcElement.id!="nextButton")||(nextButton.disabled==0))) window.event.srcElement.style.color="";
  346. }
  347. //launch IE tour in new window
  348. function gettingStartedClick() {
  349. var foo="gettingstarted";
  350. window.open("res://ie4tour.dll/tour.htm#MinimalTour=1",foo,"");
  351. window.event.returnValue=false;
  352. return false;
  353. }
  354. //Event is called when a transition is complete
  355. //Used to go from fade of one paragraph to show of the next
  356. //This event is called manually when MM is not enabled
  357. function onfilterchangeHandler() {
  358. if(fade==1) window.setTimeout("DoShow()",100);
  359. else noReEntry=0;
  360. backwards=0;
  361. fade=0;
  362. }
  363. //Separate event for the links, since they act differently
  364. //This is also called manually when MM is not enabled
  365. function onfilterchangeHandlerLinks() {
  366. if(backwards!=1) { //going forwards
  367. if(curDiv<totaldivCount)
  368. {
  369. curDiv=curDiv+1;
  370. window.setTimeout("DoShow()",100);
  371. }
  372. else noReEntry=0;
  373. }
  374. else { //going backwards
  375. if(curDiv>beforeLinksDivCount) { //still have links to fade
  376. curDiv=curDiv-1;
  377. window.setTimeout("DoFade(" +parseInt(curDiv+1) +")",100);
  378. }
  379. else { //show div the comes before the links
  380. curDiv=beforeLinksDivCount;
  381. window.setTimeout("DoShow()",100);
  382. }
  383. }
  384. fade=0;
  385. }
  386. // NOTE: This is a hack to work around MSHTML crashing on document.onselectstart events
  387. // being canceled (false being returned).
  388. var g_fWasMouseDown;
  389. function MyOnMouseDown()
  390. {
  391. g_fWasMouseDown = window.event.button;
  392. }
  393. document.onmousedown = MyOnMouseDown;
  394. function CancelEvent()
  395. {
  396. if (2 == g_fWasMouseDown)
  397. {
  398. return true; // Trident crashes when Right-Click events are canceled.
  399. }
  400. return false; // Cancel event.
  401. }
  402. // Disable text and object selecting.
  403. document.onselectstart = CancelEvent;
  404. document.ondragstart = CancelEvent;
  405. function OpenEEGG()
  406. {
  407. // Do the navigation
  408. window.open("wcee.htm", "TheWCEE", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=414,height=352");
  409. window.close();
  410. return false;
  411. }
  412. function GetIndex(nStep, nDelta)
  413. {
  414. nReturn = nStep + nDelta;
  415. if (nReturn < 0)
  416. nReturn += g_nMaxStepHistory;
  417. if (g_nMaxStepHistory <= nReturn)
  418. nReturn -= g_nMaxStepHistory;
  419. return nReturn;
  420. }
  421. function StartFlinging()
  422. {
  423. nStop = 1;
  424. for (j in FlingingItems)
  425. {
  426. obj = FlingingItems[j];
  427. if(obj.xDelta != 0) obj.style.pixelLeft += obj.xDelta;
  428. if(obj.yDelta != 0) obj.style.pixelTop += obj.yDelta;
  429. if ((obj.style.pixelLeft > -1000) && (obj.style.pixelLeft < 2000) &&
  430. (obj.style.pixelTop > -1000) && (obj.style.pixelTop < 2000))
  431. nStop = 0;
  432. }
  433. // Stop looping when object is fully off the screen.
  434. if (0 == nStop)
  435. {
  436. window.setTimeout("StartFlinging()", 10);
  437. }
  438. }
  439. function TrackStep(x, y, e, bkey)
  440. {
  441. CursorHistoryX[g_nStep] = x;
  442. CursorHistoryY[g_nStep] = y;
  443. // Did we just bounce into a flingable object?
  444. if ((e.SuperClass != g_szPrevElement) && (e.SuperClass == "Flingable"))
  445. {
  446. fValidFling = 1;
  447. // Yes, so see if we can fling it.
  448. if (0 == e.reqDirX)
  449. {
  450. nIndex = 0;
  451. // It's necessary that all x movement remain within object width.
  452. while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  453. {
  454. nPrevX = CursorHistoryX[GetIndex(g_nStep, -nIndex)];
  455. if ((nPrevX < e.style.pixelLeft) ||
  456. (nPrevX > e.style.pixelLeft + e.style.pixelWidth))
  457. {
  458. fValidFling = 0;
  459. }
  460. nIndex++;
  461. }
  462. }
  463. else
  464. {
  465. nIndex = 0;
  466. // It's necessary that all x movement stay constantly left or right.
  467. while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  468. {
  469. if (0 < e.reqDirX)
  470. {
  471. if (CursorHistoryX[GetIndex(g_nStep, -nIndex)] < CursorHistoryX[GetIndex(g_nStep, -nIndex - 1)])
  472. {
  473. fValidFling = 0;
  474. }
  475. }
  476. else
  477. {
  478. if (CursorHistoryX[GetIndex(g_nStep, -nIndex)] > CursorHistoryX[GetIndex(g_nStep, -nIndex - 1)])
  479. {
  480. fValidFling = 0;
  481. }
  482. }
  483. nIndex++;
  484. }
  485. }
  486. if (1 == fValidFling)
  487. {
  488. if (0 == e.reqDirY)
  489. {
  490. nIndex = 0;
  491. // It's necessary that all y movement remain within object height.
  492. while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  493. {
  494. nPrevY = CursorHistoryY[GetIndex(g_nStep, -nIndex)];
  495. if ((nPrevY < e.style.pixelTop) ||
  496. (nPrevY > e.style.pixelTop + e.style.pixelHeight))
  497. {
  498. fValidFling = 0;
  499. }
  500. nIndex++;
  501. }
  502. }
  503. else
  504. {
  505. nIndex = 0;
  506. // It's necessary that all y movement stay constantly up or down.
  507. while ((nIndex < (g_nMaxStepHistory - 1)) && (1 == fValidFling))
  508. {
  509. if (0 < e.reqDirY)
  510. {
  511. if (CursorHistoryY[GetIndex(g_nStep, -nIndex)] < CursorHistoryY[GetIndex(g_nStep, -nIndex - 1)])
  512. {
  513. fValidFling = 0;
  514. }
  515. }
  516. else
  517. {
  518. if (CursorHistoryY[GetIndex(g_nStep, -nIndex)] > CursorHistoryY[GetIndex(g_nStep, -nIndex - 1)])
  519. {
  520. fValidFling = 0;
  521. }
  522. }
  523. nIndex++;
  524. }
  525. }
  526. }
  527. if ((1 == fValidFling) && bkey)
  528. {
  529. nXDelta = CursorHistoryX[g_nStep] - CursorHistoryX[GetIndex(g_nStep, -g_nMaxStepHistory + 1)];
  530. nYDelta = CursorHistoryY[g_nStep] - CursorHistoryY[GetIndex(g_nStep, -g_nMaxStepHistory + 1)];
  531. if (0 != e.reqDirX)
  532. e.xDelta = Math.round(nXDelta / 2);
  533. else
  534. e.xDelta = 0;
  535. if (0 != e.reqDirY)
  536. e.yDelta = Math.round(nYDelta / 2);
  537. else
  538. e.yDelta = 0;
  539. FlingingItems[FlingingItems.length] = e;
  540. g_cFlungObjects++;
  541. g_nScore += (g_cFlungObjects * e.nScore);
  542. StartFlinging();
  543. }
  544. }
  545. // Increment
  546. g_szPrevElement = e.SuperClass;
  547. g_nStep = GetIndex(g_nStep, 1);
  548. }
  549. function StartWorldGrow()
  550. {
  551. if (ID_World.style.pixelWidth > 800)
  552. {
  553. OpenEEGG();
  554. }
  555. else
  556. {
  557. ID_World.style.pixelWidth += 100;
  558. ID_World.style.pixelHeight += 100;
  559. ID_World.style.pixelLeft -= 30;
  560. ID_World.style.pixelTop -= 30;
  561. window.setTimeout("StartWorldGrow()", 10);
  562. }
  563. }
  564. function UpdateMouse(x, y, shift, button)
  565. {
  566. var e;
  567. e = event.srcElement;
  568. if ((0 == g_fInDrag) && (e.className == "Movable"))
  569. {
  570. g_fInDrag = 1;
  571. g_nDragOffsetX = event.x - document.all["ID_IE"].style.pixelLeft;
  572. g_nDragOffsetY = event.y - document.all["ID_IE"].style.pixelTop;
  573. }
  574. if ((1 == event.button) && (1 == g_fInDrag) && (true == event.ctrlKey))
  575. {
  576. document.all["ID_IE"].style.pixelLeft = event.x - g_nDragOffsetX;
  577. document.all["ID_IE"].style.pixelTop = event.y - g_nDragOffsetY;
  578. TrackStep(event.x, event.y, e, event.ctrlKey);
  579. }
  580. else
  581. {
  582. g_fInDrag = 0;
  583. // Check if IE Logo was dropped on the world.
  584. if ((document.all["ID_IE"].style.pixelLeft > document.all["ID_World"].style.pixelLeft) &&
  585. (document.all["ID_IE"].style.pixelLeft + document.all["ID_IE"].style.pixelWidth < document.all["ID_World"].style.pixelLeft + document.all["ID_World"].style.pixelWidth) &&
  586. (document.all["ID_IE"].style.pixelTop > document.all["ID_World"].style.pixelTop) &&
  587. (document.all["ID_IE"].style.pixelTop + document.all["ID_IE"].style.pixelHeight < document.all["ID_World"].style.pixelTop + document.all["ID_World"].style.pixelHeight) &&
  588. g_nScore >= g_nScoreNeeded)
  589. {
  590. // Move the logo so we don't continue to navigate over and over again.
  591. document.all["ID_IE"].style.pixelLeft = parseInt(document.all["ID_IE"].FinalX);
  592. document.all["ID_IE"].style.pixelTop = parseInt(document.all["ID_IE"].FinalY);
  593. document.all["ID_IE"].style.visibility="hidden";
  594. // Make this cover everything else.
  595. document.all["ID_World"].style.zIndex = "1000";
  596. g_nScore = 0;
  597. StopWobble(ID_World);
  598. window.setTimeout("StartWorldGrow()", 10);
  599. }
  600. }
  601. return 1;
  602. }
  603. document.onmousemove = UpdateMouse;
  604. function WobbleControl(obj)
  605. {
  606. if (0 != obj.wobbleTimer)
  607. {
  608. obj.style.posLeft = parseInt(obj.nOrigLeft) + Math.round(Math.random() * 2 * g_nWobbleAmount) - g_nWobbleAmount;
  609. obj.style.posTop = parseInt(obj.nOrigTop) + Math.round(Math.random() * 2 * g_nWobbleAmount) - g_nWobbleAmount;
  610. }
  611. }
  612. function StartWobble(obj)
  613. {
  614. obj.wobbleTimer = setInterval("WobbleControl(ID_World)", 100);
  615. }
  616. function StopWobble(obj)
  617. {
  618. if (0 != obj.wobbleTimer)
  619. {
  620. clearInterval(obj.wobbleTimer);
  621. obj.wobbleTimer = 0;
  622. document.all["ID_World"].posLeft = parseInt(document.all["ID_World"].nOrigLeft);
  623. document.all["ID_World"].posTop = parseInt(document.all["ID_World"].nOrigTop);
  624. }
  625. }
  626. function UnLock(obj)
  627. {
  628. g_nScore += 1;
  629. obj.disabled = true;
  630. StartWobble(obj);
  631. }
  632. </SCRIPT>
  633. </body>
  634. </html>