home *** CD-ROM | disk | FTP | other *** search
/ Magazyn WWW 1999 September / www_09_1999.iso / info / dhtml / a9 / biblioteka.js < prev    next >
Text File  |  1999-07-24  |  7KB  |  189 lines

  1. /********************************************/
  2. /* BIBLIOTEKA Cross-Browser DHTML           */
  3. /* wersja 2.1         1999-05-20            */
  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. /* zachowania tej informacji                */
  13. /********************************************/
  14.  
  15. /*************************/
  16. /* Detekcja przegladarki */
  17. /*************************/
  18. nn4 = (document.layers) ? true:false;
  19. ie4 = (document.all) ? true:false;
  20.  
  21. /**********************/
  22. /* Pokaz blok 'ident' */
  23. /**********************/
  24. function show(ident,nest) {
  25.     if(nn4) {    
  26.         nest ? document.layers[nest].document.layers[ident].visibility = "show" : document.layers[ident].visibility = "show";
  27.     } else if(ie4) {    
  28.         document.all[ident].style.visibility = "visible";
  29.     }
  30. }
  31.  
  32. /**********************/
  33. /* Ukryj blok 'ident' */
  34. /**********************/
  35. function hide(ident,nest) {
  36.     if(nn4) {    
  37.         nest ? document.layers[nest].document.layers[ident].visibility = "hide" : document.layers[ident].visibility = "hide";
  38.     } else if(ie4) {
  39.         document.all[ident].style.visibility = "hidden";
  40.     }
  41. }
  42.  
  43. /****************************************/
  44. /* Przesun blok 'ident' do punktu (x,y) */
  45. /****************************************/
  46. function moveTo(ident,x,y,nest) {
  47.     if(nn4) {
  48.         nest ? document.layers[nest].document.layers[ident].left = x : document.layers[ident].left = x;
  49.         nest ? document.layers[nest].document.layers[ident].top = y : document.layers[ident].top = y;
  50.     } else if(ie4) {
  51.         document.all[ident].style.left = x;
  52.         document.all[ident].style.top = y;
  53.     }
  54. }
  55.  
  56. /*****************************************/
  57. /* Przesun blok 'ident' o wektor [dx,dy] */
  58. /*****************************************/
  59. function moveBy(ident,dx,dy,nest) {
  60.     if(nn4) {
  61.         nest ? document.layers[nest].document.layers[ident].left += dx : document.layers[ident].left += dx;
  62.         nest ? document.layers[nest].document.layers[ident].top += dy : document.layers[ident].top += dy;
  63.     } else if(ie4) {
  64.         document.all[ident].style.left = document.all[ident].offsetLeft + dx;
  65.         document.all[ident].style.top = document.all[ident].offsetTop + dy;
  66.     }
  67. }
  68.  
  69. /************************************************/
  70. /* Przytnij blok 'ident' do zadanego prostokata */
  71. /*     t: top, r: right, b: bottom, l:left      */
  72. /************************************************/
  73. function clipTo(ident, t, r, b, l,nest) {
  74.     if(nn4) {
  75.         if(nest) {
  76.             document.layers[nest].document.layers[ident].clip.top = t;
  77.            document.layers[nest].document.layers[ident].clip.right = r;
  78.              document.layers[nest].document.layers[ident].clip.bottom = b;
  79.            document.layers[nest].document.layers[ident].clip.left = l;
  80.         } else {
  81.             document.layers[ident].clip.top = t;
  82.            document.layers[ident].clip.right = r;
  83.              document.layers[ident].clip.bottom = b;
  84.            document.layers[ident].clip.left = l;
  85.         }
  86.     } else if(ie4) {
  87.          document.all[ident].style.clip = 
  88.         "rect(" + t + " " + r + " " + b + " " + l + ")";
  89.     }
  90. }
  91.  
  92. /****************************************************/
  93. /* Zmien przyciecie bloku 'ident' o zadane wartosci */
  94. /*     t: top, r: right, b: bottom, l:left          */
  95. /****************************************************/
  96. function clipBy(ident, t, r, b, l,nest) {
  97.     if(nn4) {
  98.         if(nest) {
  99.             document.layers[nest].document.layers[ident].clip.top += t;
  100.             document.layers[nest].document.layers[ident].clip.right += r;
  101.             document.layers[nest].document.layers[ident].clip.bottom += b;
  102.             document.layers[nest].document.layers[ident].clip.left += l;
  103.         } else {
  104.             document.layers[ident].clip.top += t;
  105.             document.layers[ident].clip.right += r;
  106.             document.layers[ident].clip.bottom += b;
  107.             document.layers[ident].clip.left += l;
  108.         }
  109.     } else if(ie4) {
  110.         ie_clip = document.all[ident].style.clip;
  111.         ie_clip = ie_clip.substring(5, ie_clip.length-1);
  112.         ie_clip_wart = ie_clip.split("px");
  113.         t += parseInt(ie_clip_wart [0]);
  114.         r += parseInt(ie_clip_wart [1]);
  115.         b += parseInt(ie_clip_wart [2]);
  116.         l += parseInt(ie_clip_wart [3]);    
  117.         document.all[ident].style.clip = "rect(" + t + "px " + r + "px " + b + "px " + l + "px)";
  118.     }
  119. }
  120.  
  121. /***********************************************************/
  122. /* Zapisz pozycje bloku 'ident' do zmiennych l:left, t:top */
  123. /***********************************************************/
  124. function pozycja(ident,nest) {
  125.     if(nn4) {
  126.         l = nest ? document.layers[nest].document.layers[ident].left : document.layers[ident].left;
  127.         t = nest ? document.layers[nest].document.layers[ident].top : document.layers[ident].top;
  128.     } else if(ie4) {
  129.         l = document.all[ident].offsetLeft;
  130.         t = document.all[ident].offsetTop;
  131.     }
  132. }
  133.  
  134. /******************************************************/
  135. /* Zapisz wysokosc bloku 'ident' do zmienej h: height */
  136. /******************************************************/
  137. function wysokosc(ident,nest) {
  138.     if(nn4) {
  139.         h = nest ? document.layers[nest].document.layers[ident].document.height : document.layers[ident].document.height;
  140.     } else if(ie4) {
  141.         h = document.all[ident].scrollHeight;    
  142.     }
  143.     return h;
  144. }
  145.  
  146. /****************************************/
  147. /* Sprawdz rozmiary okna                */
  148. /*   oknoW: dostepna szerokosc          */
  149. /*   oknoH: dostepna wysokosc           */
  150. /****************************************/
  151. function okno(){
  152.     if(nn4){
  153.         oknoW=window.innerWidth-16;
  154.         oknoH=window.innerHeight
  155.     }else if(ie4){
  156.         oknoW=document.body.offsetWidth-20;
  157.         oknoH=document.body.offsetHeight
  158.     }
  159. }
  160.  
  161. /*************************/
  162. /* Przeladuj cala strone */
  163. /*************************/
  164. function reDo() {
  165.     if(nn4) {
  166.         if (innerWidth != oknoW+16 || innerHeight != oknoH) {
  167.             location.reload();
  168.         }
  169.     } else location.reload();
  170. }
  171.  
  172. /*************************/
  173. /* Zmien zawartosc bloku */
  174. /*************************/
  175. function writeTo(ident, tekst, nest) {
  176.     if(nn4) {
  177.         if(nest) {
  178.             document.layers[nest].document.layers[ident].document.open();
  179.             document.layers[nest].document.layers[ident].document.write(tekst);
  180.             document.layers[nest].document.layers[ident].document.close();
  181.         } else {
  182.             document.layers[ident].document.open();
  183.             document.layers[ident].document.write(tekst);
  184.             document.layers[ident].document.close();        
  185.         }
  186.     } else if(ie4) {
  187.         document.all[ident].innerHTML = tekst;
  188.     }
  189. }