home *** CD-ROM | disk | FTP | other *** search
/ Magazyn WWW 2001 May / cd49www.iso / full / js / biblioteka.js next >
Text File  |  2000-04-06  |  8KB  |  233 lines

  1. /********************************************/
  2. /* BIBLIOTEKA Cross-Browser DHTML           */
  3. /* wersja 3.0          1999-10-22           */
  4. /********************************************/
  5. /* onFocus Dynamic Web Design               */
  6. /* Ania KrΩglewska, Pawe│ Postupalski       */
  7. /* mailto:onfocus@webmedia.pl               */
  8. /* http://www.onfocus.com.pl                */
  9. /********************************************/
  10. /* Ta biblioteka moze byc wykorzystywana    */
  11. /* bez zadnych ograniczen pod warunkiem     */
  12. /* nie usuniecia tego naglowka.             */
  13. /********************************************/
  14.  
  15. /*************************/
  16. /* Detekcja przegladarki */
  17. /*************************/
  18. nn4=(document.layers)?true:false;
  19. ie4=(document.all)?true:false;
  20. niemac=(navigator.appVersion.indexOf("Macintosh")==-1);
  21. ie4=ie4 && niemac;
  22.  
  23. /*****************************************/
  24. /* Poni┐szy fragment pozwala             */
  25. /* unikn╣µ k│opot≤w przy zmianie         */
  26. /* rozmiar≤w okna w NN                   */
  27. /*****************************************/
  28. /* -- najlepiej przepisz do dokumentu -- */
  29. /*****************************************/
  30. if(nn4) {
  31.   _oknoW = window.innerWidth;
  32.   _oknoH = window.innerHeight;
  33. }
  34. function reDo() {
  35.   if(window.innerWidth != _oknoW || window.innerHeight != _oknoH) { 
  36.     window.location.reload();
  37.   }
  38. }
  39. if(nn4){window.onresize = reDo;}
  40.  
  41. /*************************/
  42. /* Pokaz blok 'ident'    */
  43. /*************************/
  44. function show(ident,nest) {
  45.   if(nn4) {  
  46.     nest ? document.layers[nest].document.layers[ident].visibility = "show" : document.layers[ident].visibility = "show";
  47.   } else if(ie4) {  
  48.     document.all[ident].style.visibility = "visible";
  49.   }
  50. }
  51.  
  52. /*************************/
  53. /* Ukryj blok 'ident'    */
  54. /*************************/
  55. function hide(ident,nest) {
  56.   if(nn4) {  
  57.     nest ? document.layers[nest].document.layers[ident].visibility = "hide" : document.layers[ident].visibility = "hide";
  58.   } else if(ie4) {
  59.     document.all[ident].style.visibility = "hidden";
  60.   }
  61. }
  62.  
  63. /****************************************/
  64. /* Przesun blok 'ident' do punktu (x,y) */
  65. /****************************************/
  66. function moveTo(ident,x,y,nest) {
  67.   if(nn4) {
  68.     nest ? document.layers[nest].document.layers[ident].left = x : document.layers[ident].left = x;
  69.     nest ? document.layers[nest].document.layers[ident].top = y : document.layers[ident].top = y;
  70.   } else if(ie4) {
  71.     document.all[ident].style.left = x;
  72.     document.all[ident].style.top = y;
  73.   }
  74. }
  75.  
  76. /*****************************************/
  77. /* Przesun blok 'ident' o wektor [dx,dy] */
  78. /*****************************************/
  79. function moveBy(ident,dx,dy,nest) {
  80.   if(nn4) {
  81.     nest ? document.layers[nest].document.layers[ident].left += dx : document.layers[ident].left += dx;
  82.     nest ? document.layers[nest].document.layers[ident].top += dy : document.layers[ident].top += dy;
  83.   } else if(ie4) {
  84.     document.all[ident].style.left = document.all[ident].offsetLeft + dx;
  85.     document.all[ident].style.top = document.all[ident].offsetTop + dy;
  86.   }
  87. }
  88.  
  89. /************************************************/
  90. /* Przytnij blok 'ident' do zadanego prostokata */
  91. /*     t: top, r: right, b: bottom, l:left      */
  92. /************************************************/
  93. function clipTo(ident, t, r, b, l,nest) {
  94.   if(nn4) {
  95.     if(nest) {
  96.       document.layers[nest].document.layers[ident].clip.top = t;
  97.        document.layers[nest].document.layers[ident].clip.right = r;
  98.        document.layers[nest].document.layers[ident].clip.bottom = b;
  99.        document.layers[nest].document.layers[ident].clip.left = l;
  100.     } else {
  101.       document.layers[ident].clip.top = t;
  102.        document.layers[ident].clip.right = r;
  103.        document.layers[ident].clip.bottom = b;
  104.        document.layers[ident].clip.left = l;
  105.     }
  106.   } else if(ie4) {
  107.      document.all[ident].style.clip = 
  108.     "rect(" + t + " " + r + " " + b + " " + l + ")";
  109.   }
  110. }
  111.  
  112. /****************************************************/
  113. /* Zmien przyciecie bloku 'ident' o zadane wartosci */
  114. /*     t: top, r: right, b: bottom, l:left          */
  115. /****************************************************/
  116. function clipBy(ident, t, r, b, l,nest) {
  117.   if(nn4) {
  118.     if(nest) {
  119.       document.layers[nest].document.layers[ident].clip.top += t;
  120.       document.layers[nest].document.layers[ident].clip.right += r;
  121.       document.layers[nest].document.layers[ident].clip.bottom += b;
  122.       document.layers[nest].document.layers[ident].clip.left += l;
  123.     } else {
  124.       document.layers[ident].clip.top += t;
  125.       document.layers[ident].clip.right += r;
  126.       document.layers[ident].clip.bottom += b;
  127.       document.layers[ident].clip.left += l;
  128.     }
  129.   } else if(ie4) {
  130.     ie_clip = document.all[ident].style.clip;
  131.     ie_clip = ie_clip.substring(5, ie_clip.length-1);
  132.     ie_clip_wart = ie_clip.split("px");
  133.     t += parseInt(ie_clip_wart [0]);
  134.     r += parseInt(ie_clip_wart [1]);
  135.     b += parseInt(ie_clip_wart [2]);
  136.     l += parseInt(ie_clip_wart [3]);  
  137.     document.all[ident].style.clip = "rect(" + t + "px " + r + "px " + b + "px " + l + "px)";
  138.   }
  139. }
  140.  
  141. /*************************************************************/
  142. /* Zapisz pozycje bloku 'ident' do zmiennych l: left, t: top */
  143. /*************************************************************/
  144. function pozycja(ident,nest) {
  145.   if(nn4) {
  146.     l = nest ? document.layers[nest].document.layers[ident].left : document.layers[ident].left;
  147.     t = nest ? document.layers[nest].document.layers[ident].top : document.layers[ident].top;
  148.   } else if(ie4) {
  149.     l = document.all[ident].offsetLeft;
  150.     t = document.all[ident].offsetTop;
  151.   }
  152. }
  153.  
  154. /******************************************************/
  155. /* Zapisz wysokosc bloku 'ident' do zmienej h: height */
  156. /******************************************************/
  157. function wysokosc(ident,nest) {
  158.   if(nn4) {
  159.     h = nest ? document.layers[nest].document.layers[ident].document.height : document.layers[ident].document.height;
  160.   } else if(ie4) {
  161.     h = document.all[ident].scrollHeight;  
  162.   }
  163.   return h;
  164. }
  165.  
  166.   
  167. /*********************************/
  168. /* Zmien zawartosc bloku 'ident' */
  169. /*********************************/
  170. function writeTo(ident, tekst, nest) {
  171.   if(nn4) {
  172.     if(nest) {
  173.       document.layers[nest].document.layers[ident].document.open();
  174.       document.layers[nest].document.layers[ident].document.write(tekst);
  175.       document.layers[nest].document.layers[ident].document.close();
  176.     } else {
  177.       document.layers[ident].document.open();
  178.       document.layers[ident].document.write(tekst);
  179.       document.layers[ident].document.close();    
  180.     }
  181.   } else if(ie4) {
  182.     document.all[ident].innerHTML = tekst;
  183.   }
  184. }
  185.  
  186. /****************************************/
  187. /* Zmien wartosc z-indexu bloku 'ident' */
  188. /****************************************/
  189. function zmienZindex(ident, z, nest) {
  190.   if(nn4) {
  191.         if(nest) {
  192.         document.layers[nest].document.layers[ident].zIndex=z;
  193.         } else {
  194.             document.layers[ident].zIndex=z;
  195.         }
  196.   } else if(ie4) {
  197.     document.all[ident].style.zIndex=z;
  198.   }
  199. }
  200.  
  201. /****************************************/
  202. /* Sprawdz rozmiary okna                */
  203. /*   oknoW: dostepna szerokosc          */
  204. /*   oknoH: dostepna wysokosc           */
  205. /* UWAGA: funkcja przestarza│a,         */
  206. /* nalezy stosowaµ f. rozmiaryOkna()    */
  207. /****************************************/
  208. function okno(){
  209.   if(nn4){
  210.     oknoW=window.innerWidth-16;
  211.     oknoH=window.innerHeight
  212.   }else if(ie4){
  213.     oknoW=document.body.clientWidth;
  214.     oknoH=document.body.clientHeight;
  215.   }
  216. }
  217.  
  218. /****************************************/
  219. /* Sprawdz rozmiary okna                */
  220. /*   oknoW: dostepna szerokosc          */
  221. /*   oknoH: dostepna wysokosc           */
  222. /****************************************/
  223. function rozmiaryOkna(suwaki) {
  224.  if(nn4){
  225.   oknoW=window.innerWidth - (suwaki?16:0);
  226.   oknoH=window.innerHeight
  227.  }else if(ie4){
  228.   oknoW=document.body.clientWidth;
  229.   oknoH=document.body.clientHeight;
  230.  }
  231. }
  232.  
  233.