home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 December / Chip_2001-12_cd1.bin / internet / archeo / js / ssm.js < prev    next >
Text File  |  2001-04-19  |  5KB  |  79 lines

  1.  
  2. //Static Slide Menu 6.5 ⌐ MaXimuS 2000-2001, All Rights Reserved.
  3. //Site: http://www.absolutegb.com/maximus
  4. //E-mail: maximus@nsimail.com
  5. //Script featured on Dynamic Drive (http://www.dynamicdrive.com)
  6.  
  7. NS6 = (document.getElementById&&!document.all)
  8. IE = (document.all)
  9. NS = (navigator.appName=="Netscape" && navigator.appVersion.charAt(0)=="4")
  10.  
  11. tempBar='';barBuilt=0;ssmItems=new Array();
  12.  
  13. moving=setTimeout('null',1)
  14. function moveOut() {
  15. if ((NS6||NS)&&parseInt(ssm.left)<0 || IE && ssm.pixelLeft<0) {
  16. clearTimeout(moving);moving = setTimeout('moveOut()', slideSpeed);slideMenu(10)}
  17. else {clearTimeout(moving);moving=setTimeout('null',1)}};
  18. function moveBack() {clearTimeout(moving);moving = setTimeout('moveBack1()', waitTime)}
  19. function moveBack1() {
  20. if ((NS6||NS) && parseInt(ssm.left)>(-menuWidth) || IE && ssm.pixelLeft>(-menuWidth)) {
  21. clearTimeout(moving);moving = setTimeout('moveBack1()', slideSpeed);slideMenu(-10)}
  22. else {clearTimeout(moving);moving=setTimeout('null',1)}}
  23. function slideMenu(num){
  24. if (IE) {ssm.pixelLeft += num;}
  25. if (NS||NS6) {ssm.left = parseInt(ssm.left)+num;}
  26. if (NS) {bssm.clip.right+=num;bssm2.clip.right+=num;}}
  27.  
  28. function makeStatic() {
  29. if (NS||NS6) {winY = window.pageYOffset;}
  30. if (IE) {winY = document.body.scrollTop;}
  31. if (NS6||IE||NS) {
  32. if (winY!=lastY&&winY>YOffset-staticYOffset) {
  33. smooth = .2 * (winY - lastY - YOffset + staticYOffset);}
  34. else if (YOffset-staticYOffset+lastY>YOffset-staticYOffset) {
  35. smooth = .2 * (winY - lastY - (YOffset-(YOffset-winY)));}
  36. else {smooth=0}
  37. if(smooth > 0) smooth = Math.ceil(smooth);
  38. else smooth = Math.floor(smooth);
  39. if (IE) bssm.pixelTop+=smooth;
  40. if (NS6||NS) bssm.top=parseInt(bssm.top)+smooth
  41. lastY = lastY+smooth;
  42. setTimeout('makeStatic()', 1)}}
  43.  
  44. function buildBar() {
  45. if(barText.indexOf('<IMG')>-1) {tempBar=barText}
  46. else{for (b=0;b<barText.length;b++) {tempBar+=barText.charAt(b)+"<BR>"}}
  47. document.write('<td align="center" rowspan="100" width="'+barWidth+'" bgcolor="'+barBGColor+'" valign="'+barVAlign+'"><p align="center"><font face="'+barFontFamily+'" Size="'+barFontSize+'" COLOR="'+barFontColor+'"><B>'+tempBar+'</B></font></p></TD>')}
  48.  
  49. function initSlide() {
  50. if (NS6){ssm=document.getElementById("thessm").style;bssm=document.getElementById("basessm").style;
  51. bssm.clip="rect(0 "+document.getElementById("thessm").offsetWidth+" "+document.getElementById("thessm").offsetHeight+" 0)";ssm.visibility="visible";}
  52. else if (IE) {ssm=document.all("thessm").style;bssm=document.all("basessm").style
  53. bssm.clip="rect(0 "+thessm.offsetWidth+" "+thessm.offsetHeight+" 0)";bssm.visibility = "visible";}
  54. else if (NS) {bssm=document.layers["basessm1"];
  55. bssm2=bssm.document.layers["basessm2"];ssm=bssm2.document.layers["thessm"];
  56. bssm2.clip.left=0;ssm.visibility = "show";}
  57. if (menuIsStatic=="yes") makeStatic();}
  58.  
  59. function buildMenu() {
  60. if (IE||NS6) {document.write('<DIV ID="basessm" style="visibility:hidden;Position : Absolute ;Left : '+XOffset+' ;Top : '+YOffset+' ;Z-Index : 20;width:'+(menuWidth+barWidth+10)+'"><DIV ID="thessm" style="Position : Absolute ;Left : '+(-menuWidth)+' ;Top : 0 ;Z-Index : 20;" onmouseover="moveOut()" onmouseout="moveBack()">')}
  61. if (NS) {document.write('<LAYER name="basessm1" top="'+YOffset+'" LEFT='+XOffset+' visibility="show"><ILAYER name="basessm2"><LAYER visibility="hide" name="thessm" bgcolor="'+menuBGColor+'" left="'+(-menuWidth)+'" onmouseover="moveOut()" onmouseout="moveBack()">')}
  62. if (NS6){document.write('<table border="0" cellpadding="0" cellspacing="0" width="'+(menuWidth+barWidth+2)+'" bgcolor="'+menuBGColor+'"><TR><TD>')}
  63. document.write('<table border="0" cellpadding="0" cellspacing="1" width="'+(menuWidth+barWidth+2)+'" bgcolor="'+menuBGColor+'">');
  64. for(i=0;i<ssmItems.length;i++) {
  65. if(!ssmItems[i][3]){ssmItems[i][3]=menuCols;ssmItems[i][5]=menuWidth-1}
  66. else if(ssmItems[i][3]!=menuCols)ssmItems[i][5]=Math.round(menuWidth*(ssmItems[i][3]/menuCols)-1);
  67. if(ssmItems[i-1]&&ssmItems[i-1][4]!="no"){document.write('<TR>')}
  68. if(!ssmItems[i][1]){
  69. document.write('<td bgcolor="'+hdrBGColor+'" HEIGHT="'+hdrHeight+'" ALIGN="'+hdrAlign+'" VALIGN="'+hdrVAlign+'" WIDTH="'+ssmItems[i][5]+'" COLSPAN="'+ssmItems[i][3]+'"> <font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'"><b>'+ssmItems[i][0]+'</b></font></td>')}
  70. else {if(!ssmItems[i][2])ssmItems[i][2]=linkTarget;
  71. document.write('<TD BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="'+ssmItems[i][5]+'" COLSPAN="'+ssmItems[i][3]+'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=\''+linkBGColor+'\'" WIDTH="100%" ALIGN="'+linkAlign+'"><DIV  ALIGN="'+linkAlign+'"><FONT face="'+linkFontFamily+'" Size="'+linkFontSize+'"> <A HREF="'+ssmItems[i][1]+'" target="'+ssmItems[i][2]+'" CLASS="ssmItems">'+ssmItems[i][0]+'</DIV></LAYER></ILAYER></TD>')}
  72. if(ssmItems[i][4]!="no"&&barBuilt==0){buildBar();barBuilt=1}
  73. if(ssmItems[i][4]!="no"){document.write('</TR>')}}
  74. document.write('</table>')
  75. if (NS6){document.write('</TD></TR></TABLE>')}
  76. if (IE||NS6) {document.write('</DIV></DIV>')}
  77. if (NS) {document.write('</LAYER></ILAYER></LAYER>')}
  78. theleft=-menuWidth;lastY=0;setTimeout('initSlide();', 1)}
  79.