home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 July / Chip_2002-07_cd1.bin / zkuste / delphi / kolekce / d3456 / AWSCRIPT.ZIP / awScript / docs / follow.js < prev    next >
Text File  |  1999-04-06  |  3KB  |  121 lines

  1. // branding image dimensions. make larger than image to give a margin. right margin appears larger in IE
  2. var ImageW = 36;
  3. var ImageH = 36;
  4.  
  5. var ClientW = 0;
  6. var ClientH = 0;
  7. var ScrollL = 0;
  8. var ScrollT = 0;
  9. var f_layer;
  10.  
  11. var layers = new Array();
  12.  
  13. function FollowInit()
  14. {
  15.     if (navigator.appName == "Netscape")
  16.     {
  17.         for (i=0; i < document.layers.length; i++)
  18.         {
  19.             if (document.layers[i].id == "FollowLayer")
  20.             {
  21.                 f_layer = document.layers[i];
  22.                 f_layer.visibility = "hide";
  23.                 break;
  24.             }
  25.         }
  26.     }
  27.     else if(navigator.appName == "Microsoft Internet Explorer")
  28.     {
  29.         ImageW -= 14;  // in IE, width should be smaller
  30.         layers = document.all.tags("DIV");
  31.  
  32.         for (i=0; i < layers.length; i++)
  33.         {
  34.             if (layers[i].id == "FollowLayer")
  35.             {
  36.                 f_layer = layers[i];
  37.                 f_layer.style.display = "none";
  38.                 break;
  39.             }
  40.         }
  41.     }
  42. }
  43.  
  44. function FollowPosition()
  45. {
  46.     if (navigator.appName == "Netscape")
  47.     {
  48.         ClientH = window.innerHeight;
  49.         ClientW = window.innerWidth;
  50.         ScrollL = window.pageXOffset;
  51.         ScrollT = window.pageYOffset;
  52.     }
  53.     else if (navigator.appName == "Microsoft Internet Explorer")
  54.     {
  55.         ClientH = document.body.clientHeight;
  56.         ClientW = document.body.clientWidth;
  57.         ScrollL = document.body.scrollLeft;
  58.         ScrollT = document.body.scrollTop;
  59.     }
  60.     
  61.     new_top = (ClientH > ImageH) ? (ClientH + ScrollT- ImageH) : 0;
  62.     new_left = (ClientW > ImageW) ? (ClientW + ScrollL - ImageW) : 0;
  63.  
  64.     if (navigator.appName == "Netscape")
  65.     {
  66.         f_layer.top = new_top;
  67.         f_layer.left = new_left;
  68.  
  69.         for (i=0; i < document.layers.length; i++)
  70.         {
  71.             if (document.layers[i].zIndex > f_layer.zIndex)
  72.                 f_layer.zIndex = document.layers[i].zIndex + 1;
  73.         }
  74.     }
  75.     else if (navigator.appName == "Microsoft Internet Explorer")
  76.     {
  77.         f_layer.style.top = new_top;
  78.         f_layer.style.left = new_left;
  79.  
  80.         for (i=0; i < layers.length; i++)
  81.         {
  82.             if (layers[i].style.zIndex > f_layer.style.zIndex)
  83.                 f_layer.style.zIndex = layers[i].style.zIndex + 1;
  84.         }
  85.     }
  86. }
  87.  
  88. function FollowMain()
  89. {
  90.     if (navigator.appName == "Netscape")
  91.     {
  92.         if ((window.innerHeight != ClientH) ||
  93.             (window.innerWidth != ClientW) ||
  94.             (window.pageXOffset != ScrollL) ||
  95.             (window.pageYOffset != ScrollT))
  96.         {
  97.             f_layer.visibility = "hide";
  98.             FollowPosition();
  99.             f_layer.visibility = "show";
  100.         }
  101.     }
  102.     else if (navigator.appName == "Microsoft Internet Explorer")
  103.     {
  104.         if (navigator.appVersion.indexOf("Mac") == -1)
  105.         {
  106.             if ((document.body.clientHeight != ClientH) ||
  107.                 (document.body.clientWidth != ClientW) ||
  108.                 (document.body.scrollLeft != ScrollL) ||
  109.                 (document.body.scrollTop != ScrollT))
  110.             {
  111.                 f_layer.style.display = "none";
  112.                 FollowPosition();
  113.                 f_layer.style.display = "";
  114.             }
  115.         }
  116.     }
  117. }
  118.  
  119. FollowInit();
  120. setInterval("FollowMain()",100);
  121.