home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2001 September / MICD2001_09_NR1.iso / Www / @t / dane / menu_skrot.js < prev    next >
Text File  |  2001-07-28  |  24KB  |  970 lines

  1. // WSZELKIE PRAWA ZASTRZEZONE ! KOPIOWANIE KODU W CALOSCI BADZ FRAGMENTACH ZABRONIONE! \\
  2.  
  3.  
  4. lev0 = new Array ("xx-small","1",true,false,"white","black","White","Verdana","gray") ;
  5. lev1 = new Array ("xx-small","1",true,false,"white","black","White","Verdana","#669966") ;
  6. lev2 = new Array ("xx-small","1",true,false,"white","black","White","Verdana","#669966") ;
  7. lev3 = new Array ("xx-small","1",true,false,"white","black","White","Verdana","#669966") ;
  8. lev4 = new Array ("xx-small","1",true,false,"white","black","White","Verdana","#669966") ;
  9. lev5 = new Array ("xx-small","1",true,false,"white","black","White","Verdana","#669966") ;
  10.  
  11.  
  12.  
  13. mn1 = new Array
  14. (
  15. "<font color=\"yellow\">@t - spis tre╢ci</font>","spis.htm",0
  16. ,"Redakcyjne","",1
  17. ,"Newsy","3_index.htm",1
  18. ,"Software","4_index.htm",1
  19. ,"Hardware","5_index.htm",1
  20. ,"Internet (1)","6_index.htm",1
  21. ,"Internet (2)","6_index.htm",1
  22. ,"Webmastering","7_index.htm",1
  23. ,"Linux","8_index.htm",1
  24. ,"Programowanie","9_index.htm",1
  25. ,"Elektronika","10_index.htm",1
  26. ,"Gry","11_index.htm",1
  27. ,"Magazyn","12_index.htm",1
  28. ,"W sieci","13_index.htm",1
  29. )
  30.  
  31.  
  32. mn1_2 = new Array
  33. (
  34. "WstΩpniak","start.html",0
  35. ,"Bezp│atna prenumerata","2_01.htm",0
  36. ,"Redakcja","2_02.htm",0
  37. ,"Jak zostaµ redaktorem","2_03.htm",0
  38. ,"Niekomercyjna reklama","2_04.htm",0
  39. ,"Regulamin","2_05.htm",0
  40. ,"FAQ","2_06.htm",0
  41. ,"Ankieta","2_07.htm",0
  42. ,"<font color=\"red\">Grupa dyskusyjna @t'a</font>","2_08.htm",0
  43. ,"Partnerzy","2_09.htm",0
  44. ,"Ankieta - wyniki","2_10.htm",0
  45. ,"Listy","2_11.htm",0
  46. ,"Pomocna d│o±","2_12.htm",0
  47. ,"Og│oszenia","2_13.htm",0
  48. ,"Strony czytelnik≤w","2_14.htm",0
  49. ,"@t CD","2_15.htm",0
  50. )
  51.  
  52.  
  53.  
  54. mn1_3 = new Array
  55. (
  56. "Software","3_01.htm",0
  57. ,"Hardware","3_02.htm",0
  58. ,"Internet","3_03.htm",0
  59. ,"Gry","3_04.htm",0
  60. ,"Wydarzenia","3_05.htm",0
  61. ,"Linux","3_06.htm",0
  62. ,"Wirusy","3_07.htm",0
  63. ,"Prasa","3_08.htm",0
  64. ,"Literatura informatyczna","3_09.htm",0
  65.  
  66. )
  67.  
  68.  
  69. mn1_4 = new Array
  70. (
  71. "Paint Shop Pro 7","4_01.htm",0
  72. ,"IrfanView - wielki ma│y program","4_02.htm",0
  73. ,"Napisy w Photoshopie","4_03.htm",0
  74. ,"Przyciski w Photoshopie (cz. 2)","4_04.htm",0
  75. ,"Windows Whistler","4_05.htm",0
  76. ,"Windows XP","4_06.htm",0
  77. ,"NiezbΩdnik (Service Pack)","4_07.htm",0
  78. ,"Orange Book","4_08.htm",0
  79. ,"System operacyjny przysz│o╢ci","4_09.htm",0
  80. ,"System operacyjny przysz│o╢ci II","4_10.htm",0
  81. ,"System przysz│o╢ci - przemy╢lenia","4_11.htm",0
  82. ,"Wirus w notatniku","4_12.htm",0
  83. ,"Temp","4_13.htm",0
  84. ,"Spos≤b na nudnego Explorera","4_14.htm",0
  85. ,"Microsoft Word - skr≤ty","4_15.htm",0
  86. ,"Baza prenumerator≤w","4_16.htm",0
  87. ,"Quintessential - pogromca WinAmp'a ?","4_17.htm",0
  88. ,"Wirusy","4_18.htm",0
  89.  
  90.  
  91. )
  92.  
  93. mn1_5 = new Array
  94. (
  95. "NapΩdy wymienne","5_01.htm",0
  96. ,"Walka pamiΩci","5_02.htm",0
  97. ,"Rozw≤j akceleracji 3D","5_03.htm",0
  98. ,"RAMBUS - niewypa│","5_04.htm",0
  99. ,"Co dwie g│owy to nie jedna","5_05.htm",0
  100. ,"Riva TNT2 Vanta pod lup▒","5_06.htm",0
  101. ,"nVIDIA nForce","5_07.htm",0
  102. ,"Pentium IV XEON","5_08.htm",0
  103. ,"Pentium IV Itanium","5_09.htm",0
  104. ,"AMD Athlon 4","5_10.htm",0
  105. ,"AMD Duron Overclocking","5_11.htm",0
  106. ,"Chipsetowe wojny","5_12.htm",0
  107. ,"GlobalWin CAK38","5_13.htm",0
  108. ,"Dyski cz.2 - budowa","5_14.htm",0
  109. ,"GeForce2 MX","5_15.htm",0
  110. ,"Kom≤rka cudem techniki","5_16.htm",0
  111. ,"PodkrΩcanie procesora","5_17.htm",0
  112. ,"Twardziele vs. wstrz▒sy","5_18.htm",0
  113. ,"Akceleratory - s│ownik","5_19.htm",0
  114.  
  115. )
  116.  
  117. mn1_6 = new Array
  118. (
  119. "Anatomia WWW","6_01.htm",0
  120. ,"Szybszy Internet","6_02.htm",0
  121. ,"IRCowe logowanie","6_03.htm",0
  122. ,"Nie taki wilk straszny","6_04.htm",0
  123. ,"Smileys :)","6_05.htm",0
  124. ,"Konie troja±skie","6_06.htm",0
  125. ,"Bankrut","6_07.htm",0
  126. ,"Internetowy dysk","6_08.htm",0
  127. ,"Chat na stronie","6_09.htm",0
  128. ,"Ludzie Internetu","6_10.htm",0
  129. ,"Co mnie denerwuje w Internecie...","6_11.htm",0
  130. ,"Za darmo w sieci","6_12.htm",0
  131. ,"Ethernetowe szale±stwo","6_13.htm",0
  132. ,"Internetowe aukcje","6_14.htm",0
  133. ,"Dobry start","6_15.htm",0
  134. ,"Ankieta na temat zarabiania w sieci","6_16.htm",0
  135.  
  136. )
  137.  
  138.  
  139. mn1_7 = new Array
  140. (
  141. "Przewodnik po stronach WWW (3)","6_17.htm",0
  142. ,"SDI","6_18.htm",0
  143. ,"htmlMania","6_19.htm",0
  144. ,"Wirtualna Polska","6_20.htm",0
  145. ,"Teleport Pro","6_21.htm",0
  146. ,"Internet przez CyfrΩ +","6_22.htm",0
  147. ,"Szybsze ╢ci▒ganie","6_23.htm",0
  148. ,"W│asny serwer WWW","6_24.htm",0
  149. ,"Skompresowany strumie±","6_25.htm",0
  150. ,"Portale internetowe","6_26.htm",0
  151. ,"Identyfikacja w sieci","6_27.htm",0
  152. ,"Hackerzy vs chacke┐y","6_28.htm",0
  153. ,"IRC - jak zacz▒µ","6_29.htm",0
  154. ,"Portal marze±","6_30.htm",0
  155. ,"Szukamy (czΩ╢µ II)","6_31.htm",0
  156.  
  157. )
  158.  
  159. mn1_8 = new Array
  160. (
  161. "Bramka SMS","7_01.htm",0
  162. ,"Co potrzebne webmasterowi ?","7_02.htm",0
  163. ,"Programy do WWW","7_03.htm",0
  164. ,"Start strony","7_04.htm",0
  165. ,"Wyb≤r narzΩdzi","7_05.htm",0
  166. ,"Grzechy Webmastera","7_06.htm",0
  167. ,"Zmiana kursora","7_07.htm",0
  168. ,"Kolorowe suwaki","7_08.htm",0
  169. ,"JavaScript dla pocz▒tkuj▒cych","7_09.htm",0
  170. ,"Java Klik","7_10.htm",0
  171. ,"JavaScript - ochrona has│em","7_11.htm",0
  172. ,"Kurs Flash\'a (1)","7_12.htm",0
  173. ,"Podaj imiΩ","7_13.htm",0
  174. ,"Porada dnia","7_14.htm",0
  175. ,"Ciekawe zdarzenia w JS","7_15.htm",0
  176. ,"Puzzle","7_16.htm",0
  177.  
  178. )
  179.  
  180. mn1_9 = new Array
  181. (
  182. "IBM WebSphere Homepage Builder 4.0","8_01",0
  183. ,"Dystrybucje Linuxa","8_02.htm",0
  184.  
  185. )
  186.  
  187. mn1_10 = new Array
  188. (
  189. "Visual Basic(10)","9_01.htm",0
  190. ,"ASP (3)","9_02.htm",0
  191. ,"SVG (4-ost)","9_03.htm",0
  192. ,"C++ (1)","9_04.htm",0
  193. ,"Asembler - pierwsze kroki","9_05.htm",0
  194. ,"Pascal - przerwania","9_06.htm",0
  195. ,"Pascal - pΩtle","9_07.htm",0
  196. ,"Borland C++ Builder - Tutorial 1","9_08.htm",0
  197. ,"Borland C++ Builder - Tutorial 2","9_09.htm",0
  198. ,"Liczba 32-bitowa","9_10.htm",0
  199. ,"Automaty kom≤rkowe","9_11.htm",0
  200. ,"S│ownik programowania","9_12.htm",0
  201. ,"Kornik","9_13.htm",0
  202.  
  203. )
  204.  
  205. mn1_11 = new Array
  206. (
  207. "Kurs od podstaw","10_01.htm",0
  208. ,"Wzmacniacz audio od podszewki","10_02.htm",0
  209. ,"Lampa plazmowa raz jeszcze","10_03.htm",0
  210. ,"Super wy│▒cznik raz jeszcze","10_04.htm",0
  211. ,"Sterowanie silnikiem krokowym","10_05.htm",0
  212. ,"Ster. silnikiem krokowym","10_06.htm",0
  213. ,"Energia z kosmosu","10_07.htm",0
  214. ,"Lutowanie","10_08.htm",0
  215. ,"Wzmacniacz mocy","10_09.htm",0
  216. ,"ú▒czenie komputer≤w - karta sieciowa","10_10.htm",0
  217. ,"System obecno╢ci domownik≤w","10_11.htm",0
  218.  
  219. )
  220.  
  221. mn1_12 = new Array
  222. (
  223. "Fifa 2001","11_01.htm",0
  224. ,"Fallout Tactics","11_02.htm",0
  225. ,"Stunt Car Racer","11_03.htm",0
  226. ,"Zeus - Pan Olimpu PL","11_04.htm",0
  227. ,"Tropico","11_05.htm",0
  228. ,"The Settlers IV","11_06.htm",0
  229. ,"Skoki narciarskie 2001","11_07.htm",0
  230. ,"Gra marze±","11_08.htm",0
  231. ,"Tanie granie","11_09.htm",0
  232. ,"Sztuczki w Quake 3","11_10.htm",0
  233. ,"DBZ-me 2","11_11.htm",0
  234. ,"Kalambury","11_12.htm",0
  235. ,"Gangsters2: Vendetta","11_13.htm",0
  236. ,"Moja pierwsza gra","11_14.htm",0
  237. ,"Serious Sam: Pierwsze starcie","11_15.htm",0
  238. ,"Prisoner of ice - solucja","11_16.htm",0
  239. ,"RollerCoaster Tycoon","11_17.htm",0
  240. ,"Red Alert 2","11_18.htm",0
  241. ,"SimCity 3000","11_19.htm",0
  242. ,"Tipsy","11_20.htm",0
  243.  
  244.  
  245.  
  246. )
  247.  
  248. mn1_13 = new Array
  249. (
  250. "\"Mafia\" TPSA spuszcza z tonu","12_01.htm",0
  251. ,"TPSA vs. NOM","12_02.htm",0
  252. ,"╝le siΩ dzieje w @t ?","12_03.htm",0
  253. ,"Czy to ju┐ jest \"Matrix\"?","12_04.htm",0
  254. ,"Perpetum mobile ?","12_05.htm",0
  255. ,"Walczymy z TPSA!","12_06.htm",0
  256. ,"Piractwo - za i przeciw","12_07.htm",0
  257. ,"Piractwo vs. orygina│y","12_08.htm",0
  258. ,"Piraci z Doliny Krzemowej","12_09.htm",0
  259. ,"Licencja dla kupuj▒cego","12_10.htm",0
  260. ,"Przysz│o╢µ PC","12_11.htm",0
  261. ,"Nowy format - OGG","12_12.htm",0
  262. ,"Podziemie","12_13.htm",0
  263. ,"Przemoc w grach","12_14.htm",0
  264. ,"Jeden wielki ba│agan","12_15.htm",0
  265. ,"To m≤j komputer !","12_16.htm",0
  266. ,"XXI wiek","12_17.htm",0
  267. ,"Wywiad z na│ogowcem","12_18.htm",0
  268. ,"Re: Informatyka w szko│ach","12_19.htm",0
  269.  
  270. )
  271.  
  272. mn1_14 = new Array
  273. (
  274. "NoName","13_01.htm",0
  275. ,"Memories Service","13_02.htm",0
  276. ,"WebHelp","13_03.htm",0
  277. ,"<hr>","",0
  278. ,"Dlaczego tak ma│o ?","13_04.htm",0
  279. ,"Jak siΩ tu znale╝µ","13_05.htm",0
  280.  
  281. )
  282.  
  283. imgStr = "<IMG SRC=\'st.gif\' BORDER=0 WIDTH=16 HEIGHT=16 ALIGN=RIGHT>" ;
  284. if (isFrames)
  285.     {
  286.     if (NS4)
  287.         loader = parent ;
  288.       else
  289.         loader = parent.document.body ;
  290.     }
  291.   else
  292.     loader = window ;
  293. loader.onload = beg ;
  294. stStr = new Array ('\\','|','/','-'+'-')
  295. stPos = 0 ;
  296. areCreated = false ;
  297. menuLoc = null ;
  298. trgLoc = null ;
  299. topCount = 1 ;
  300. beingCreated = false ;
  301. isOverMenu = false ;
  302. currentMenu = null ;
  303. oldLinkEl = null ;
  304.  
  305. function beg ()
  306.     {
  307.     if (isFrames)
  308.         {
  309.         menuLoc = eval("parent.frames." + mainFrName) ;
  310.         trgLoc = eval("parent.frames." + trgFrName) ;
  311.         }
  312.       else
  313.         {
  314.         menuLoc = window ;
  315.         trgLoc = window ;
  316.         }
  317.     if (NS4)
  318.         {
  319.         menuLoc.document.captureEvents(Event.MOUSEDOWN) ;
  320.         menuLoc.document.onmousedown = clicked ;
  321.         }
  322.     if (IE4)
  323.         {
  324.         if (mout)
  325.             menuLoc.document.onmouseover = clicked ;
  326.           else
  327.             menuLoc.document.onmousedown = clicked ;
  328.         }
  329.     beingCreated = true ;
  330.     while( eval ("window.mn" + topCount))
  331.         {
  332.         if (NS4)
  333.             createMnNS(0,false,topCount)
  334.           else
  335.             createMnIE(0,false,topCount) ;
  336.         topCount++
  337.         }
  338.     status = "" ;
  339.     areCreated = true ;
  340.     beingCreated = false ;
  341.     }
  342.  
  343. function createMnNS (lev,isChild,menuCount,parMenu,parItem)
  344.     {
  345.     tempArray = eval("mn" + menuCount) ;
  346.     
  347.     if (!isChild)
  348.         {
  349.         menu = createEl("elMenu" + menuCount,menuWidth,null,null) ;
  350.         }
  351.       else
  352.         {
  353.         menu = createEl("elMenu" + menuCount,null,parMenu,null) ;
  354.         }
  355.     menu.lev = lev ;
  356.     menu.array = tempArray ;
  357.     menu.setMenuTree = setMenuTree ;
  358.     menu.setMenuTree(isChild,parMenu) ;
  359.  
  360.     while (menu.itemCount < menu.maxItems)
  361.         {
  362.         menu.itemCount++ ;
  363.         if (++stPos == stStr.length)
  364.             stPos = 0 ;
  365.         status = "úadowanie... " + stStr [stPos] ;
  366.         prevItem = (menu.itemCount > 1) ? menu.item : null ;
  367.         itemName = "item" + menuCount + "_" + menu.itemCount ;
  368.  
  369.         menu.item = createEl (itemName,null,null,menu) ;
  370.  
  371.         menu.item.prevItem = prevItem ;
  372.         menu.item.setup = createIt ;
  373.         menu.item.setup (menu.itemCount,menu.array) ;
  374.         if (menu.item.hasMore)
  375.             {
  376.             createMnNS (lev+1,true,menuCount + "_" + menu.itemCount,menu,menu.item) ;
  377.             menu = menu.parentMenu ;
  378.             }
  379.         }
  380.  
  381.     menu.lastItem = menu.item ;
  382.     menu.setup (isChild,parMenu,parItem) ;
  383.     }
  384.  
  385. function createMnIE (lev,isChild,menuCount,parMenu)
  386.     {
  387.     menu = createEl ("elMenu" + menuCount) ;
  388.     menu.array = eval ("mn" + menuCount) ;
  389.     menu.lev = lev ;
  390.     menu.setMenuTree = setMenuTree ;
  391.     menu.setMenuTree(isChild,parMenu) ;
  392.     menu.itemStr = "" ;
  393.     while (menu.itemCount < menu.maxItems)
  394.         {
  395.         menu.itemCount++ ;
  396.         if (++stPos == stStr.length)
  397.             stPos = 0 ;
  398.         status = "úadowanie... " + stStr [stPos] ;
  399.         itemName = "item" + menuCount + "_" + menu.itemCount ;
  400.         arrayPointer = (menu.itemCount-1) * 3 ;
  401.         dispText = menu.array [arrayPointer] ;
  402.         hasMore = menu.array [arrayPointer + 2] ;
  403.         htmStr = (hasMore) ? imgStr + dispText : dispText ;
  404.         menu.itemStr += "<SPAN ID=" + itemName + " STYLE=\"width:" + menu.menuWidth + "\">" + htmStr + "</SPAN><BR>" ;
  405.         if (hasMore)
  406.             {
  407.             createMnIE (lev+1,true,menuCount + "_" + menu.itemCount,menu) ;
  408.             menu = menu.parentMenu ;
  409.             }    
  410.         }
  411.  
  412.     menu.innerHTML = menu.itemStr ;
  413.     itemColl = menu.children.tags("SPAN") ;
  414.     for (i = 0 ; i < itemColl.length ; i++)
  415.         {
  416.         it = itemColl(i) ;
  417.         it.setup = createIt ;
  418.         it.setup(i+1,menu.array) ;
  419.         }
  420.     menu.lastItem = itemColl (itemColl.length - 1) ;
  421.     menu.setup (isChild,parMenu) ;
  422.     }
  423.  
  424. function createIt (theItem,theArray)
  425.     {
  426.     this.onmouseover = itemOver ;
  427.     this.onmouseout = itemOut ;
  428.     if (NS4)
  429.         this.container = this.parentLayer ;
  430.       else
  431.         this.container = this.offsetParent ;
  432.     arrayPointer = (theItem - 1) * 3 ;
  433.     this.dispText = theArray [arrayPointer] ;
  434.     this.linkText = theArray [arrayPointer + 1] ;
  435.     this.hasMore = theArray [arrayPointer + 2] ;
  436.  
  437.     if (IE4 && this.hasMore)
  438.         {
  439.         stInd = this.id.indexOf ("m") ;
  440.         this.child = eval ("elMenu" + this.id.substr(stInd + 1)) ;
  441.         this.child.parentMenu = this.container ;
  442.         this.child.parentItem = this ;
  443.         }
  444.     if (this.linkText)
  445.         {
  446.         if (NS4)
  447.             {
  448.             this.captureEvents (Event.CLICK) ;
  449.             this.onclick = linkIt ;
  450.             }
  451.         else
  452.             {
  453.             this.onclick = linkIt ;
  454.             this.style.cursor = "hand" ;
  455.             }
  456.         }
  457.     if (this.container.lev > maxlev)
  458.         levArr = eval ("lev" + maxlev) ;
  459.       else
  460.         levArr = eval ("lev" + this.container.lev) ;
  461.     fntSizNS = levArr [1] ;
  462.     fntSizIE = levArr [0] ;
  463.     fntBold = levArr [2] ;
  464.     fntItal = levArr [3] ;
  465.     fntFam = levArr [7] ;
  466.     if (NS4)
  467.         {
  468.         htmStr = this.dispText ;
  469.          this.document.tags.A.textDecoration = "none" ;
  470.         if (fntBold)
  471.             htmStr = htmStr.bold () ;
  472.         if (fntItal)
  473.             htmStr = htmStr.italics () ;
  474.         htmStr = "<FONT FACE=\"" + fntFam + "\" SIZE=" + fntSizNS + ">" + htmStr+ "</FONT>" ;
  475.         if (this.linkText)
  476.             {
  477.             with (this.document)
  478.                 {
  479.                 linkColor = this.container.menuFontColor ;
  480.                 alinkColor = this.container.menuFontColor ;
  481.                 vlinkColor = this.container.menuFontColor ;
  482.                 }
  483.             htmStrOver = htmStr.fontcolor (this.container.menuFontOver).link("javascript:void(0)") ;
  484.             htmStr = htmStr.link ("javascript:void(0)") ;
  485.             }
  486.           else
  487.             {
  488.             htmStrOver = htmStr.fontcolor (this.container.menuFontOver) ;
  489.             htmStr = htmStr.fontcolor (this.container.menuFontColor) ;
  490.             }
  491.         this.htmStr = (this.hasMore) ? imgStr + htmStr : htmStr ;
  492.         this.htmStrOver = (this.hasMore) ? (imgStr + htmStrOver) : htmStrOver ;
  493.         this.document.write (this.htmStr) ;
  494.         this.document.close () ;
  495.         this.visibility = "inherit" ;
  496.         this.bgColor = this.container.menuBGColor ;
  497.  
  498.         if (theItem == 1)
  499.             this.top = borWid + itemPad;
  500.           else
  501.             this.top = this.prevItem.top + this.prevItem.clip.height + sep ;
  502.  
  503.         this.left = borWid + itemPad ;
  504.         this.clip.top = this.clip.left = -itemPad ;
  505.         this.clip.bottom += itemPad ;
  506.         this.clip.right = this.container.menuWidth - (borWid * 2) - itemPad ;
  507.         }
  508.       else
  509.         {
  510.         with (this.style)
  511.             {
  512.             padding = itemPad ;
  513.             color = this.container.menuFontColor ;
  514.             fontSize = fntSizIE ;
  515.             fontWeight = (fntBold) ? "bold" : "normal" ;
  516.             fontStyle =    (fntItal) ? "italic" : "normal" ;
  517.             fontFamily = fntFam ;
  518.             borderBottomWidth = sep + "px" ;
  519.             borderBottomColor = "black" ;
  520.             borderBottomStyle = "solid" ;
  521.             backgroundColor = this.container.menuBGColor ;
  522.             }
  523.         }
  524.     }    
  525.  
  526. function createEl (theEl,theWidth,theParent,theContainer)
  527.     {
  528.     if (NS4)
  529.         {
  530.         if (theWidth)
  531.             elWidth = theWidth ;
  532.           else
  533.             {
  534.             elWidth = (theContainer) ? theContainer.menuWidth : theParent.menuWidth ;
  535.             if (theContainer)
  536.                 elWidth = elWidth - (borWid * 2) - (itemPad * 2) ;
  537.             }
  538.  
  539.         if (!theContainer)
  540.             theContainer = menuLoc;
  541.         eval(theEl + "= new Layer(elWidth,theContainer)") ;
  542.         }
  543.       else
  544.         {
  545.         elStr = "<DIV ID=" + theEl + " STYLE='position:absolute'></DIV>" ;
  546.         menuLoc.document.body.insertAdjacentHTML("BeforeEnd",elStr) ;
  547.         }
  548.     return eval (theEl) ;
  549.     }
  550.  
  551. function setMenuTree (isChild,parMenu)
  552.     {
  553.     if (this.lev > maxlev)
  554.         levArr = eval ("lev" + maxlev) ;
  555.       else
  556.         levArr = eval ("lev" + this.lev) ;
  557.     this.menuWidth = menuWidth ;
  558.     this.menuFontColor = levArr [4] ;
  559.     this.menuFontOver = levArr [6] ;
  560.     this.menuBGColor = levArr [5] ;
  561.     this.menuBGOver = levArr [8] ;
  562.     this.menuBorCol = borderCol ;
  563.     if (!isChild)
  564.         {
  565.         this.treeParent = this ;
  566.         this.startChild = this ;
  567.         }
  568.       else
  569.         {
  570.         this.treeParent = parMenu.treeParent ;
  571.         }
  572.  
  573.     this.maxItems = this.array.length/3 ;
  574.     this.hasParent = isChild ;
  575.     this.setup = menuSetup ;
  576.     this.itemCount = 0 ;
  577.     }
  578.  
  579. function ensureVis ()
  580.     {
  581.     if (NS4)
  582.         {
  583.         winRight = menuLoc.pageXOffset + menuLoc.innerWidth ;
  584.         rightPos = this.left + this.menuWidth ;
  585.         if (rightPos > winRight)
  586.             {
  587.             if (this.hasParent)
  588.                 {
  589.                 parentLeft = this.parentMenu.left ;
  590.                 newLeft = ((parentLeft-this.menuWidth) + this.childOverlap) ;
  591.                 this.left = newLeft ;
  592.                 }
  593.               else
  594.                 {
  595.                 dif = rightPos - winRight ;
  596.                 this.left -= dif ;
  597.                 }
  598.             }
  599.         winBot = menuLoc.pageYOffset + menuLoc.innerHeight ;
  600.         botPos = this.top + this.fullHeight ;
  601.         if (botPos > winBot)
  602.             {
  603.             dif = botPos - winBot ;
  604.             this.top -= dif ;
  605.             }
  606.         winLeft = menuLoc.pageXOffset ;
  607.         leftPos = this.left ;
  608.         if (leftPos < winLeft)
  609.             {
  610.             if (this.hasParent)
  611.                 {
  612.                 parentLeft = this.parentMenu.left ;
  613.                 newLeft = ((parentLeft+this.menuWidth) - this.childOverlap) ;
  614.                 this.left = newLeft ;
  615.                 }
  616.               else
  617.                 this.left = 5 ;
  618.             }
  619.         }
  620.       else
  621.         {
  622.             winRight = menuLoc.document.body.scrollLeft + menuLoc.document.body.clientWidth ;
  623.         rightPos = this.style.pixelLeft + this.menuWidth ;
  624.         if (rightPos > winRight)
  625.             {
  626.             if (this.hasParent)
  627.                 {
  628.                 parentLeft = this.parentMenu.style.pixelLeft ;
  629.                 newLeft = ((parentLeft - this.menuWidth) + this.childOverlap) ;
  630.                 this.style.pixelLeft = newLeft ;
  631.                 }
  632.               else
  633.                 {
  634.                 dif = rightPos - winRight ;
  635.                 this.style.pixelLeft -= dif ;
  636.                 }
  637.             }
  638.         winBot = menuLoc.document.body.scrollTop + menuLoc.document.body.clientHeight ;
  639.         botPos = this.style.pixelTop + this.fullHeight ;
  640.         if (botPos > winBot)
  641.             {
  642.             dif = botPos - winBot ;
  643.             this.style.pixelTop -= dif ;
  644.             }
  645.         winLeft = menuLoc.document.body.scrollLeft ;
  646.         leftPos = this.style.pixelLeft ;
  647.         if (leftPos < winLeft)
  648.             {
  649.             if (this.hasParent)
  650.                 {
  651.                 parentLeft = this.parentMenu.style.pixelLeft ;
  652.                 newLeft = ((parentLeft+this.menuWidth) - this.childOverlap) ;
  653.                 this.style.pixelLeft = newLeft ;
  654.                 }
  655.               else
  656.                 this.style.pixelLeft = 5 ;
  657.             }
  658.         }
  659.     }
  660.  
  661. function menuSetup (hasParent,openCont,openItem)
  662.     {
  663.     this.onmouseover = menuOver ;
  664.     this.onmouseout = menuOut ;
  665.     this.showIt = showIt ;
  666.     this.ensureVis = ensureVis ;
  667.     this.hideTree = hideTree ;
  668.     this.hideParents = hideParents ;
  669.     this.hideChildren = hideChildren ;
  670.     this.hideTop = hideTop ;
  671.     this.hasChildVisible = false ;
  672.     this.isOn = false ;
  673.     this.childOverlap = childOverlap ;
  674.     this.currentItem = null ;
  675.     this.hideSelf = hideSelf ;
  676.         
  677.     if (hasParent)
  678.         {
  679.         this.hasParent = true ;
  680.         this.parentMenu = openCont ;
  681.         if (NS4)
  682.             {
  683.             this.parentItem = openItem ;
  684.             this.parentItem.child = this ;
  685.             }
  686.         }
  687.       else
  688.         this.hasParent = false ;
  689.  
  690.     if (NS4)
  691.         {
  692.         this.bgColor = this.menuBorCol ;
  693.         this.fullHeight = this.lastItem.top + this.lastItem.clip.bottom + borWid ;
  694.         this.clip.right = this.menuWidth ;
  695.         this.clip.bottom = this.fullHeight ;
  696.         }
  697.       else
  698.         {
  699.         with (this.style)
  700.             {
  701.             width = this.menuWidth ;
  702.             borderWidth = borWid ;
  703.             borderColor = this.menuBorCol ;
  704.             borderStyle = "solid" ;
  705.             }
  706.         this.lastItem.style.border = "" ;
  707.         this.fullHeight = this.scrollHeight ;
  708.         this.showIt (false) ;
  709.         this.onselectstart = cancelSelect ;
  710.         this.moveTo = moveTo ;
  711.         this.moveTo (0,0) ;        
  712.         }
  713.     }
  714.  
  715. function menuOver ()
  716.     {
  717.     this.isOn = true ;
  718.     isOverMenu = true ;
  719.     currentMenu = this ;
  720.     }
  721.  
  722. function menuOut ()
  723.     {
  724.     if (IE4)
  725.         {
  726.         theEvent = menuLoc.event ;
  727.         if (theEvent.srcElement.contains (theEvent.toElement))
  728.             return ;
  729.         }
  730.     this.isOn = false ;
  731.     isOverMenu = false ;
  732.     }
  733.  
  734. function popMenu (e)
  735.     {
  736.     if (!areCreated)
  737.         return true;
  738.     eType = (NS4) ? e.type : event.type ;
  739.     hideAll () ;
  740.     linkEl = (NS4) ? e.target : event.srcElement ;
  741.     currentMenu = eval(linkEl.menuName) ;
  742.     currentMenu.hasParent = false ;
  743.     currentMenu.treeParent.startChild = currentMenu ;
  744.     if (IE4)
  745.         {
  746.         menuLocBod = menuLoc.document.body ;
  747.         se = event.srcElement ;
  748.         xPos = se.offsetLeft ;
  749.         yPos = se.offsetTop ;
  750.         if (menuHorizontal)
  751.             yPos += se.offsetHeight ;
  752.           else
  753.             xPos += se.offsetWidth + (mout ? 0 : 6) ;
  754.         while (se.offsetParent)
  755.             {
  756.             if (se.offsetParent == se || se.offsetParent == document.body)
  757.                 break ;
  758.             xPos += se.offsetParent.offsetLeft ;
  759.             yPos += se.offsetParent.offsetTop ;
  760.             se = se.offsetParent ;
  761.             }
  762.         }
  763.     else
  764.         {
  765.         xPos = e.pageX ;
  766.         yPos = e.pageY ;
  767.         if (menuHorizontal)
  768.             yPos += 6 ;
  769.           else
  770.             xPos += 20 ;
  771.         }
  772.     currentMenu.moveTo (xPos,yPos) ;
  773.     currentMenu.ensureVis () ;
  774.     currentMenu.isOn = true ;
  775.     currentMenu.showIt (true) ;
  776.     return false ;
  777.     }
  778.  
  779. function popUp (menuName,e)
  780.     {
  781.     if (!areCreated)
  782.         return ;
  783.     linkEl = (NS4) ? e.target : event.srcElement ;
  784.     if (linkEl != oldLinkEl)
  785.         oldLinkEl = linkEl ;
  786.       else
  787.         return ;
  788.     if (!beingCreated && !areCreated)
  789.         beg () ;
  790.     linkEl.menuName = menuName ;
  791.     popMenu (e) ;
  792.     }
  793.  
  794. function itemOut ()
  795.     {
  796.     if (IE4)
  797.         {
  798.         theEvent = menuLoc.event ;
  799.             if (theEvent.srcElement.contains(theEvent.toElement) || (theEvent.fromElement.tagName=="IMG" && theEvent.toElement.contains(theEvent.fromElement)))
  800.             return;
  801.         this.style.backgroundColor = this.container.menuBGColor ;
  802.         this.style.color = this.container.menuFontColor ;
  803.         }
  804.       else
  805.         {
  806.         this.bgColor = this.container.menuBGColor ;
  807.         with (this.document)
  808.             {
  809.             linkColor = this.container.menuFontColor ;
  810.             write (this.htmStr) ;
  811.             close () ;
  812.             }
  813.         }
  814.     }
  815.  
  816. function itemOver ()
  817.     {
  818.     if (IE4)
  819.         {
  820.         theEvent = menuLoc.event ;
  821.         if (theEvent.srcElement.tagName == "IMG")
  822.             return ;
  823.         this.style.backgroundColor = this.container.menuBGOver ;
  824.         this.style.color = this.container.menuFontOver ;
  825.         }
  826.       else
  827.         {
  828.         this.bgColor = this.container.menuBGOver ;
  829.         this.document.write (this.htmStrOver) ;
  830.         this.document.close () ;
  831.         }
  832.     this.container.currentItem = this ;
  833.     if (this.container.hasChildVisible)
  834.         this.container.hideChildren (this) ;
  835.     if (this.hasMore)
  836.         {
  837.         horOffset = this.container.menuWidth - this.container.childOverlap ;
  838.         if (NS4)
  839.             {
  840.             this.childX = this.container.left + horOffset ;
  841.             this.childY = this.pageY + 6 ;
  842.             }
  843.           else
  844.             {
  845.             this.childX = this.container.style.pixelLeft + horOffset ;
  846.             this.childY = this.offsetTop + this.container.style.pixelTop + 6 ;
  847.             }
  848.         this.child.moveTo (this.childX,this.childY) ;
  849.         this.child.ensureVis () ;
  850.         this.container.hasChildVisible = true ;
  851.         this.container.visibleChild = this.child ;
  852.         this.child.showIt (true) ;
  853.         }
  854.     }
  855.  
  856. function moveTo (xPos,yPos)
  857.     {
  858.     this.style.pixelLeft = xPos ;
  859.     this.style.pixelTop = yPos ;
  860.     }
  861.  
  862. function showIt(on)
  863.     {
  864.     if (NS4)
  865.         this.visibility = (on) ? "show" : "hide" ;
  866.     else
  867.         this.style.visibility = (on) ? "visible" : "hidden" ;
  868.     this.currentItem = null ;
  869.     }
  870.  
  871. function linkIt ()
  872.     {
  873.     trgLoc.location.href = this.linkText ;
  874.     if (isFrames)
  875.         {
  876.         hideAll () ;
  877.         return true ;
  878.         }
  879.       else
  880.         return false ;
  881.     }
  882.  
  883. function popDown (menuName)
  884.     {
  885.     if (!areCreated)
  886.         return ;
  887.     theEl = eval (menuName) ;
  888.     theEl.isOn = false ;
  889.     if (!NS4 && !IE4)
  890.         theEl.hideTop () ;
  891.     }
  892.  
  893. function hideAll ()
  894.     {
  895.     for (i = 1 ; i < topCount ; i++)
  896.         {
  897.         temp = eval ("elMenu" + i + ".startChild") ;
  898.         temp.isOn = false ;
  899.         if (temp.hasChildVisible)
  900.             temp.hideChildren () ;
  901.         temp.showIt (false) ;
  902.         }
  903.     }
  904.  
  905. function hideTree ()
  906.     { 
  907.     if (isOverMenu)
  908.         return ;
  909.     if (this.hasChildVisible)
  910.         this.hideChildren () ;
  911.     this.hideParents () ;
  912.     }
  913.  
  914. function hideTop ()
  915.     {
  916.     theEl = this ;
  917.     if (NS4 || IE4) 
  918.         theEl.hideSelf() ;
  919.     }
  920.  
  921. function hideSelf ()
  922.     {
  923.     if (!this.isOn && !isOverMenu)
  924.         this.showIt (false) ;
  925.     }
  926.  
  927. function hideParents ()
  928.     {
  929.     tempMenu = this ;
  930.     while (tempMenu.hasParent)
  931.         {
  932.         tempMenu.showIt (false) ;
  933.         tempMenu.parentMenu.isOn = false ;
  934.         tempMenu = tempMenu.parentMenu ;
  935.         }
  936.     tempMenu.hideTop () ;
  937.     }
  938.  
  939. function hideChildren (item)
  940.     {
  941.     tempMenu = this.visibleChild ;
  942.     while (tempMenu.hasChildVisible)
  943.         {
  944.         tempMenu.visibleChild.showIt (false) ;
  945.         tempMenu.hasChildVisible = false ;
  946.         tempMenu = tempMenu.visibleChild ;
  947.         }
  948.  
  949.     if (!this.isOn || !item.hasMore || this.visibleChild != this.child)
  950.         {
  951.         this.visibleChild.showIt (false) ;
  952.         this.hasChildVisible = false ;
  953.         }
  954.     }
  955.  
  956. function cancelSelect ()
  957.     {
  958.     return false ;
  959.     }
  960.  
  961. function clicked ()
  962.     {
  963.     if (!isOverMenu && currentMenu!=null && !currentMenu.isOn)
  964.         {
  965.         theEl = currentMenu ;
  966.         theEl.hideTree () ;
  967.         }
  968.     oldLinkEl = null ;
  969.     }
  970.