home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 February / Chip_2003-02_cd1.bin / tema / tipy / radom.mht / div_basics.js < prev    next >
Encoding:
Text File  |  2003-01-06  |  9.0 KB  |  435 lines

  1. var isMinNS4=(navigator.appName.indexOf("Netscape")>=0&&parseFloat(navigator.appVersion)>=4)?1:0;
  2. var isMinIE4=(document.all)?1:0;var isMinIE5=(isMinIE4&&navigator.appVersion.indexOf("5.")>=0)?1:0;
  3. var isMinIE6=(isMinIE4&&navigator.appVersion.indexOf("6.")>=0)?1:0;
  4.  
  5. function hideLayer(layer) {
  6.   if(isMinNS4)layer.visibility="hide";
  7.   if(isMinIE4)layer.style.visibility="hidden";
  8. }
  9.  
  10. function showLayer(layer) {
  11.   if(isMinNS4)layer.visibility="show";
  12.   if(isMinIE4)layer.style.visibility="visible";
  13. }
  14.  
  15. function inheritLayer(layer) {
  16.   if(isMinNS4)layer.visibility="inherit";
  17.   if(isMinIE4)layer.style.visibility="inherit";
  18. }
  19.  
  20. function getVisibility(layer) {
  21.   if(isMinNS4) {
  22.     if(layer.visibility=="show")
  23.       return "visible";
  24.     if(layer.visibility=="hide")
  25.       return "hidden";
  26.     return layer.visibility;
  27.   }
  28.   if(isMinIE4)
  29.     return layer.style.visibility;
  30.   return "";
  31. }
  32.  
  33. function moveLayerTo(layer,x,y) {
  34.   if(isMinNS4)
  35.     layer.moveTo(x,y);
  36.   if(isMinIE4) {
  37.     layer.style.left=x;
  38.     layer.style.top=y;
  39.   }
  40. }
  41.  
  42. function moveLayerBy(layer,dx,dy) {
  43.   if(isMinNS4)
  44.     layer.moveBy(dx,dy);
  45.   if(isMinIE4) {
  46.     layer.style.pixelLeft+=dx;
  47.     layer.style.pixelTop+=dy;
  48.   }
  49. }
  50.  
  51. function getLeft(layer) {
  52.   if(isMinNS4)
  53.     return layer.left;
  54.   if(isMinIE4)
  55.     return layer.style.pixelLeft;
  56.   return -1;
  57. }
  58.  
  59. function getTop(layer) {
  60.   if(isMinNS4)
  61.     return layer.top;
  62.   if(isMinIE4)
  63.     return layer.style.pixelTop;
  64.   return -1;
  65. }
  66.  
  67. function getRight(layer) {
  68.   if(isMinNS4)
  69.     return layer.left+getWidth(layer);
  70.   if(isMinIE4)
  71.     return layer.style.pixelLeft+getWidth(layer);
  72.   return -1;
  73. }
  74.  
  75. function getBottom(layer) {
  76.   if(isMinNS4)
  77.     return layer.top+getHeight(layer);
  78.   if(isMinIE4)
  79.     return layer.style.pixelTop+getHeight(layer);
  80.   return -1;
  81. }
  82.  
  83. function getPageLeft(layer) {
  84.   var x;
  85.   if(isMinNS4)
  86.     return layer.pageX;
  87.   if(isMinIE4) {
  88.     x=0;
  89.     while(layer.offsetParent!=null) {
  90.       x+=layer.offsetLeft;
  91.       layer=layer.offsetParent;
  92.     }
  93.     x+=layer.offsetLeft;
  94.     return x;
  95.   }
  96.   return -1;
  97. }
  98.  
  99. function getPageTop(layer) {
  100.   var y;
  101.   if(isMinNS4)
  102.     return layer.pageY;
  103.   if(isMinIE4) {
  104.     y=0;
  105.     while(layer.offsetParent!=null) {
  106.       y+=layer.offsetTop;
  107.       layer=layer.offsetParent;
  108.     }
  109.     y+=layer.offsetTop;
  110.     return y;
  111.   }
  112.   return -1;
  113. }
  114.  
  115. function getWidth(layer) {
  116.   if(isMinNS4) {
  117.     if(layer.document.width)
  118.       return layer.document.width;
  119.     else
  120.       return layer.clip.right-layer.clip.left;
  121.   }
  122.   if(isMinIE4) {
  123.     if(layer.style.pixelWidth)
  124.       return layer.style.pixelWidth;
  125.     else 
  126.       return layer.clientWidth;
  127.   }
  128.   return -1;
  129. }
  130.  
  131. function getHeight(layer) {
  132.   if(isMinNS4) {
  133.     if(layer.document.height)
  134.       return layer.document.height;
  135.     else 
  136.       return layer.clip.bottom-layer.clip.top;
  137.   }
  138.   if(isMinIE4) {
  139.     if(layer.style.pixelHeight)
  140.       return layer.style.pixelHeight;
  141.     else 
  142.       return layer.clientHeight;
  143.   }
  144.   return -1;
  145. }
  146.  
  147. function getzIndex(layer) {
  148.   if(isMinNS4)
  149.     return layer.zIndex;
  150.   if(isMinIE4)
  151.     return layer.style.zIndex;
  152.   return-1;
  153. }
  154.  
  155. function setzIndex(layer,z) {
  156.   if(isMinNS4)
  157.     layer.zIndex=z;
  158.   if(isMinIE4)
  159.     layer.style.zIndex=z;
  160. }
  161.  
  162. function clipLayer(layer,clipleft,cliptop,clipright,clipbottom) {
  163.   if(isMinNS4) {
  164.     layer.clip.left=clipleft;
  165.     layer.clip.top=cliptop;
  166.     layer.clip.right=clipright;
  167.     layer.clip.bottom=clipbottom;
  168.   }
  169.   if(isMinIE4)
  170.     layer.style.clip='rect('+cliptop+' '+clipright+' '+clipbottom+' '+clipleft+')';
  171. }
  172.  
  173. function getClipLeft(layer) {
  174.   if(isMinNS4)
  175.     return layer.clip.left;
  176.   if(isMinIE4) {
  177.     var str=layer.style.clip;
  178.     if(!str)
  179.       return 0;
  180.     var clip=getIEClipValues(layer.style.clip);
  181.     return(clip[3]);
  182.   }
  183.   return -1;
  184. }
  185.  
  186. function getClipTop(layer) {
  187.   if(isMinNS4)
  188.     return layer.clip.top;
  189.   if(isMinIE4) {
  190.     var str=layer.style.clip;
  191.     if(!str)
  192.       return 0;
  193.     var clip=getIEClipValues(layer.style.clip);
  194.     return clip[0];
  195.   }
  196.   return -1;
  197. }
  198.  
  199. function getClipRight(layer) {
  200.   if(isMinNS4)
  201.     return layer.clip.right;
  202.   if(isMinIE4) {
  203.     var str=layer.style.clip;
  204.     if(!str)
  205.       return layer.style.pixelWidth;
  206.     var clip=getIEClipValues(layer.style.clip);
  207.     return clip[1];
  208.   }
  209.   return -1;
  210. }
  211.  
  212. function getClipBottom(layer) {
  213.   if(isMinNS4)
  214.     return layer.clip.bottom;
  215.   if(isMinIE4) {
  216.     var str=layer.style.clip;
  217.     if(!str)
  218.       return layer.style.pixelHeight;
  219.     var clip=getIEClipValues(layer.style.clip);
  220.     return clip[2];
  221.   }
  222.   return -1;
  223. }
  224.  
  225. function getClipWidth(layer) {
  226.   if(isMinNS4)
  227.     return layer.clip.width;
  228.   if(isMinIE4) {
  229.     var str=layer.style.clip;
  230.     if(!str)
  231.       return layer.style.pixelWidth;
  232.     var clip=getIEClipValues(layer.style.clip);
  233.     return clip[1]-clip[3];
  234.   }
  235.   return -1;
  236. }
  237.  
  238. function getClipHeight(layer) {
  239.   if(isMinNS4)
  240.     return layer.clip.height;
  241.   if(isMinIE4) {
  242.     var str=layer.style.clip;
  243.     if(!str)
  244.       return layer.style.pixelHeight;
  245.     var clip=getIEClipValues(layer.style.clip);
  246.     return clip[2]-clip[0];
  247.   }
  248.   return -1;
  249. }
  250.  
  251. function getIEClipValues(str) {
  252.   var clip=new Array();
  253.   var i;
  254.   i=str.indexOf("(");
  255.   clip[0]=parseInt(str.substring(i+1,str.length),10);
  256.   i=str.indexOf(" ",i+1);
  257.   clip[1]=parseInt(str.substring(i+1,str.length),10);
  258.   i=str.indexOf(" ",i+1);
  259.   clip[2]=parseInt(str.substring(i+1,str.length),10);
  260.   i=str.indexOf(" ",i+1);
  261.   clip[3]=parseInt(str.substring(i+1,str.length),10);
  262.   return clip;
  263. }
  264.  
  265. function scrollLayerTo(layer,x,y,bound) {
  266.   var dx=getClipLeft(layer)-x;
  267.   var dy=getClipTop(layer)-y;
  268.   scrollLayerBy(layer,-dx,-dy,bound);
  269. }
  270.  
  271. function scrollLayerBy(layer,dx,dy,bound) {
  272.   var cl=getClipLeft(layer);
  273.   var ct=getClipTop(layer);
  274.   var cr=getClipRight(layer);
  275.   var cb=getClipBottom(layer);
  276.   if(bound) {
  277.     if(cl+dx<0)
  278.       dx=-cl;
  279.     else if(cr+dx>getWidth(layer))
  280.       dx=getWidth(layer)-cr;
  281.     if(ct+dy<0)
  282.       dy=-ct;
  283.     else if(cb+dy>getHeight(layer))
  284.       dy=getHeight(layer)-cb;
  285.   }
  286.   clipLayer(layer,cl+dx,ct+dy,cr+dx,cb+dy);
  287.   moveLayerBy(layer,-dx,-dy);
  288. }
  289.  
  290. function setBgColor(layer,color) {
  291.   if(isMinNS4)
  292.     layer.bgColor=color;
  293.   if(isMinIE4)
  294.     layer.style.backgroundColor=color;
  295. }
  296.  
  297. function setBgImage(layer,src) {
  298.   if(isMinNS4)
  299.     layer.background.src=src;
  300.   if(isMinIE4)
  301.     layer.style.backgroundImage="url("+src+")";
  302. }
  303.  
  304. function getLayer(name) {
  305.   if(isMinNS4)
  306.     return findLayer(name,document);
  307.   if(isMinIE4)
  308.     return eval('document.all.'+name);
  309.   return null;
  310. }
  311.  
  312. function findLayer(name,doc) {
  313.   var i,layer;
  314.   for(i=0;i<doc.layers.length;i++) {
  315.     layer=doc.layers[i];
  316.     if(layer.name==name)
  317.       return layer;
  318.     if(layer.document.layers.length>0)
  319.       if((layer=findLayer(name,layer.document))!=null)
  320.         return layer;
  321.   }
  322.   return null;
  323. }
  324.  
  325. function getImage(name) {
  326.   if(isMinNS4)
  327.     return findImage(name,document);
  328.   if(isMinIE4)
  329.     return eval('document.all.'+name);
  330.   return null;
  331. }
  332.  
  333. function findImage(name,doc) {
  334.   var i,img;
  335.   for(i=0;i<doc.images.length;i++)
  336.     if(doc.images[i].name==name)
  337.       return doc.images[i];
  338.   for(i=0;i<doc.layers.length;i++)
  339.     if((img=findImage(name,doc.layers[i].document))!=null) {
  340.       img.container=doc.layers[i];
  341.       return img;
  342.     }
  343.   return null;
  344. }
  345.  
  346. function getImagePageLeft(img) {
  347.   var x,obj;
  348.   if(isMinNS4) {
  349.     if(img.container!=null)
  350.       return img.container.pageX+img.x;
  351.     else
  352.       return img.x;
  353.   }
  354.   if(isMinIE4) {
  355.     x=0;
  356.     obj=img;
  357.     while(obj.offsetParent!=null) {
  358.       x+=obj.offsetLeft;
  359.       obj=obj.offsetParent;
  360.     }
  361.     x+=obj.offsetLeft;
  362.     return x;
  363.   }
  364.   return -1;
  365. }
  366.  
  367. function getImagePageTop(img) {
  368.   var y,obj;
  369.   if(isMinNS4) {
  370.     if(img.container!=null)
  371.       return img.container.pageY+img.y;
  372.     else
  373.       return img.y;
  374.   }
  375.   if(isMinIE4) {
  376.     y=0;
  377.     obj=img;
  378.     while(obj.offsetParent!=null) {
  379.       y+=obj.offsetTop;
  380.       obj=obj.offsetParent;
  381.     }
  382.     y+=obj.offsetTop;
  383.     return y;
  384.   }
  385.   return -1;
  386. }
  387.  
  388. function getWindowWidth() {
  389.   if(isMinNS4)
  390.     return window.innerWidth;
  391.   if(isMinIE4)
  392.     return document.body.clientWidth;
  393. return -1;
  394. }
  395.  
  396. function getWindowHeight() {
  397.   if(isMinNS4)
  398.     return window.innerHeight;
  399.   if(isMinIE4)
  400.     return document.body.clientHeight;
  401.   return -1;
  402. }
  403.  
  404. function getPageWidth() {
  405.   if(isMinNS4)
  406.     return document.width;
  407.   if(isMinIE4)
  408.     return document.body.scrollWidth;
  409.   return -1;
  410. }
  411.  
  412. function getPageHeight() {
  413.   if(isMinNS4)
  414.     return document.height;
  415.   if(isMinIE4)
  416.     return document.body.scrollHeight;
  417.   return -1;
  418. }
  419.  
  420. function getPageScrollX() {
  421.   if(isMinNS4)
  422.     return window.pageXOffset;
  423.   if(isMinIE4)
  424.     return document.body.scrollLeft;
  425.   return -1;
  426. }
  427.  
  428. function getPageScrollY() {
  429.   if(isMinNS4)
  430.     return window.pageYOffset;
  431.   if(isMinIE4)
  432.     return document.body.scrollTop;
  433.   return -1;
  434. }
  435.