Advertisement
Guest User

menu9_com.js

a guest
Sep 24th, 2013
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.30 KB | None | 0 0
  1.  
  2. var AgntUsr=navigator.userAgent.toLowerCase(),
  3. AppVer=navigator.appVersion.toLowerCase();
  4. var DomYes=document.getElementById?1:0,
  5. NavYes=AgntUsr.indexOf("mozilla")!=-1&&AgntUsr.indexOf("compatible")==-1?1:0,
  6. ExpYes=AgntUsr.indexOf("msie")!=-1?1:0,
  7. Opr7=AgntUsr.indexOf("opera 7")!=-1||AgntUsr.indexOf("opera/7")!=-1?1:0,
  8. Opr=(AgntUsr.indexOf("opera")!=-1&&!Opr7)?1:0;
  9. if(Opr7){NavYes=1;ExpYes=0;}
  10. var DomNav=DomYes&&NavYes?1:0,
  11. DomExp=DomYes&&ExpYes?1:0;
  12. var Nav4=NavYes&&!DomYes&&document.layers?1:0,
  13. Exp4=ExpYes&&!DomYes&&document.all?1:0;
  14. var MacCom=(AppVer.indexOf("mac")!= -1)?1:0,
  15. MacExp4=(MacCom&&AppVer.indexOf("msie 4")!= -1)?1:0,
  16. Mac4=(MacCom&&(Nav4||Exp4))?1:0;
  17. var Exp5=AppVer.indexOf("msie 5")!= -1?1:0,
  18. Exp6Plus = ((AppVer.indexOf("msie 6") != -1 || AppVer.indexOf("msie 7") != -1) && !Opr7) ? 1 : 0,
  19. MacExp5=(MacCom&&Exp5)?1:0,
  20. PosStrt=(NavYes||ExpYes||Opr7)&&!Opr?1:0;
  21. var RmbrNow=null,FLoc,ScLoc,DcLoc,SWinW,SWinH,FWinW,FWinH,SLdAgnWin,FColW,SColW,DColW,RLvl=0,FrstCreat=1,Ldd=0,Crtd=0,
  22. IniFlg,AcrssFrms=1,FrstCntnr=null,CurOvr=null,CloseTmr=null,CntrTxt,TxtClose,ImgStr,ShwFlg=0,M_StrtTp=StartTop,M_StrtLft=StartLeft,
  23. StaticPos=0,FStr="",M_Hide=Nav4?"hide":"hidden",M_Show=Nav4?"show":"visible",
  24. Par=MenuUsesFrames?parent:window,Doc=Par.document,Bod=Doc.body,Trigger=NavYes?Par:Bod;
  25. var Ztop=100,P_X=DomYes?"px":"",FHtml=null,ScHtml=null,FCmplnt=0,SCmplnt=0;
  26.  
  27. if(PosStrt){
  28. if(MacExp4||MacExp5)LdTmr=setInterval("ChckInitLd()",100);
  29. else{ if(Trigger.onload)Dummy=Trigger.onload;
  30. Trigger.onload=Go}}
  31.  
  32. function ChckInitLd(){
  33. InitLdd=(MenuUsesFrames)?(Par.document.readyState=="complete"&&Par.frames[FirstLineFrame].document.readyState=="complete"&&Par.frames[SecLineFrame].document.readyState=="complete")?1:0:(Par.document.readyState=="complete")?1:0;
  34. if(InitLdd){clearInterval(LdTmr);Go()}}
  35.  
  36. function Dummy(){return}
  37.  
  38. function CnclSlct(){return false}
  39.  
  40. function RePos(){
  41. FWinW=ExpYes?FCmplnt?FHtml.clientWidth:FLoc.document.body.clientWidth:FLoc.innerWidth;
  42. FWinH=ExpYes?FCmplnt?FHtml.clientHeight:FLoc.document.body.clientHeight:FLoc.innerHeight;
  43. SWinW=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
  44. SWinH=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
  45. if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal){
  46. ClcJus();
  47. var P=FrstCntnr.FrstMbr,W=Menu1[5],a=BorderBtwnMain?NoOffFirstLineMenus+1:2,i;
  48. FrstCntnr.style.width=NoOffFirstLineMenus*W+a*BorderWidthMain+P_X;
  49. var LftXtra=(DomNav&&!Opr7)||MacExp5||FCmplnt?LeftPaddng:0;
  50. for(i=0;i<NoOffFirstLineMenus;i++){
  51. P.style.width=W-(P.value.indexOf("<")==-1?LftXtra:0)+P_X;
  52. if(P.ai&&!RightToLeft)P.ai.style.left=BottomUp?W-Arrws[10]-2+P_X:W-Arrws[4]-2+P_X;
  53. P=P.PrvMbr}}
  54. StaticPos=-1;
  55. ClcRl();
  56. if(TargetLoc)ClcTrgt();ClcLft();ClcTp();
  57. PosMenu(FrstCntnr,StartTop,StartLeft);
  58. if(RememberStatus)StMnu()}
  59.  
  60. function NavUnLdd(){
  61. Ldd=0;Crtd=0;SetMenu="0"}
  62.  
  63. function UnLdd(){
  64. NavUnLdd();
  65. if(ExpYes){var M=FrstCntnr?FrstCntnr.FrstMbr:null;
  66. while(M!=null){if(M.CCn){MakeNull(M.CCn);M.CCn=null}
  67. M=M.PrvMbr}}
  68. if(!Nav4)LdTmr=setInterval("ChckLdd()",100)}
  69.  
  70. function UnLddTotal(){
  71. MakeNull(FrstCntnr);
  72. FrstCntnr=RmbrNow=FLoc=ScLoc=DcLoc=SLdAgnWin=CurOvr=CloseTmr=Doc=Bod=Trigger=null}
  73.  
  74. function MakeNull(P){
  75. var M=P.FrstMbr,Mi;
  76. while(M!=null){Mi=M;
  77. if(M.CCn){MakeNull(M.CCn);M.CCn=null}
  78. M.Cntnr=null;M=M.PrvMbr;Mi.PrvMbr=null;Mi=null}
  79. P.FrstMbr=null}
  80.  
  81. function ChckLdd(){
  82. if(!ExpYes){if(ScLoc.document.body){clearInterval(LdTmr);Go()}}
  83. else if(ScLoc.document.readyState=="complete"){if(LdTmr)clearInterval(LdTmr);Go()}}
  84.  
  85. function NavLdd(e){
  86. if(e.target!=self)routeEvent(e);if(e.target==ScLoc)Go()}
  87.  
  88. function ReDoWhole(){if(AppVer.indexOf("4.0")==-1)Doc.location.reload();else if(SWinW!=ScLoc.innerWidth||SWinH!=ScLoc.innerHeight||FWinW!=FLoc.innerWidth||FWinH!=FLoc.innerHeight)Doc.location.reload()}
  89.  
  90. function Go() {
  91. if(!Ldd&&PosStrt){
  92. BeforeStart();
  93. Crtd=0;Ldd=1;
  94. status="Building menu";
  95. FLoc=MenuUsesFrames?parent.frames[FirstLineFrame]:window;
  96. ScLoc=MenuUsesFrames?parent.frames[SecLineFrame]:window;
  97. DcLoc=MenuUsesFrames?parent.frames[DocTargetFrame]:window;
  98. if(MenuUsesFrames){
  99. if(!FLoc){FLoc=ScLoc;if(!FLoc){FLoc=ScLoc=DcLoc;if(!FLoc)FLoc=ScLoc=DcLoc=window}}
  100. if(!ScLoc){ScLoc=DcLoc;if(!ScLoc)ScLoc=DcLoc=FLoc}
  101. if(!DcLoc)DcLoc=ScLoc}
  102. if(FLoc==ScLoc)AcrssFrms=0;
  103. if(AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:1;
  104. if(Exp6Plus||Opr7){
  105. FHtml=FLoc.document.getElementsByTagName("HTML")[0];ScHtml=ScLoc.document.getElementsByTagName("HTML")[0];
  106. FCmplnt=FLoc.document.compatMode.indexOf("CSS")==-1?0:1;SCmplnt=ScLoc.document.compatMode.indexOf("CSS")==-1?0:1}
  107. FWinW=ExpYes?FCmplnt?FHtml.clientWidth:FLoc.document.body.clientWidth:FLoc.innerWidth;
  108. FWinH=ExpYes?FCmplnt?FHtml.clientHeight:FLoc.document.body.clientHeight:FLoc.innerHeight;
  109. SWinW=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
  110. SWinH=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
  111. FColW=Nav4?FLoc.document:FLoc.document.body;
  112. SColW=Nav4?ScLoc.document:ScLoc.document.body;
  113. DColW=Nav4?DcLoc.document:ScLoc.document.body;
  114. if(TakeOverBgColor){
  115. if(ExpYes)FColW.style.backgroundColor=AcrssFrms?SColW.bgColor:DColW.bgColor;
  116. else FColW.bgColor=AcrssFrms?SColW.bgColor:DColW.bgColor}
  117. if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal)ClcJus();
  118. if(FrstCreat||FLoc==ScLoc)FrstCntnr=CreateMenuStructure("Menu",NoOffFirstLineMenus,null);
  119. else CreateMenuStructureAgain("Menu",NoOffFirstLineMenus);
  120. ClcRl();
  121. //debugger;
  122. if (TargetLoc) ClcTrgt(); ClcLft(); ClcTp();
  123. //debugger;
  124. PosMenu(FrstCntnr,StartTop,StartLeft);
  125. Crtd=1;
  126. SLdAgnWin=ExpYes?ScLoc.document.body:ScLoc;
  127. SLdAgnWin.onunload=Nav4?NavUnLdd:UnLdd;
  128. if(ExpYes)Trigger.onunload=UnLddTotal;
  129. Trigger.onresize=Nav4?ReDoWhole:RePos;
  130. AfterBuild();
  131. if(RememberStatus)StMnu();
  132. if(Nav4&&FrstCreat){Trigger.captureEvents(Event.LOAD);Trigger.onload=NavLdd}
  133. if(FrstCreat)Dummy();FrstCreat=0;
  134. if(MenuVerticalCentered=="static"&&!AcrssFrms)setInterval("KeepPos()",250);
  135. if(!ExpYes)RePos();
  136. IniFlg=1;Initiate();
  137. status = "Menu ready for use";
  138. myLoad();
  139. }
  140. }
  141.  
  142. function KeepPos(){
  143. var TS=ExpYes?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
  144. if(TS!=StaticPos){
  145. var FCSt=Nav4?FrstCntnr:FrstCntnr.style;
  146. FrstCntnr.OrgTop=StartTop+TS;FCSt.top=FrstCntnr.OrgTop+P_X;
  147. StaticPos=TS}}
  148.  
  149. function ClcRl(){
  150. StartTop=M_StrtTp<1&&M_StrtTp>0?M_StrtTp*FWinH:M_StrtTp;
  151. StartLeft=M_StrtLft<1&&M_StrtLft>0?M_StrtLft*FWinW:M_StrtLft}
  152.  
  153. function ClcJus(){
  154. var a=BorderBtwnMain?NoOffFirstLineMenus+1:2,Sz=Math.round((PartOfWindow*FWinW-a*BorderWidthMain)/NoOffFirstLineMenus),i,j;
  155. for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval("Menu"+i);j[5]=Sz}
  156. StartLeft=0}
  157.  
  158. var myNodeArray = [];
  159. var myOffsetArray = [];
  160.  
  161. function ClcTrgt() {
  162. //debugger;
  163. var TLoc=Nav4?FLoc.document.layers[TargetLoc]:DomYes?FLoc.document.getElementById(TargetLoc):FLoc.document.all[TargetLoc];
  164. if (DomYes) {
  165. //debugger;
  166. while (TLoc) {
  167. StartTop += TLoc.offsetTop;
  168. StartLeft += TLoc.offsetLeft;
  169. myOffsetArray.push(StartLeft);
  170. myNodeArray.push(TLoc.nodeName);
  171. TLoc = TLoc.offsetParent;
  172. }
  173. //debugger;
  174. }
  175. else { StartTop += Nav4 ? TLoc.pageY : TLoc.offsetTop; StartLeft += Nav4 ? TLoc.pageX : TLoc.offsetLeft }
  176. }
  177.  
  178. function ClcLft() {
  179. //debugger;
  180. if(MenuCentered.indexOf("left")==-1){
  181. var Sz=FWinW-(!Nav4?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
  182. StartLeft+=MenuCentered.indexOf("right")!=-1?Sz:Sz/2;
  183. if(StartLeft<0)StartLeft=0}}
  184.  
  185. function ClcTp(){
  186. if(MenuVerticalCentered!="top"&&MenuVerticalCentered!="static"){
  187. var Sz=FWinH-(!Nav4?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
  188. StartTop+=MenuVerticalCentered=="bottom"?Sz:Sz/2;
  189. if(StartTop<0)StartTop=0}}
  190.  
  191. function PosMenu(Ct,Tp,Lt){
  192. RLvl++;
  193. var Cmplnt=RLvl==1?FCmplnt:SCmplnt;
  194. var LftXtra=(DomNav&&!Opr7)||MacExp5||Cmplnt?LeftPaddng:0;
  195. var TpXtra=(DomNav&&!Opr7)||MacExp5||Cmplnt?TopPaddng:0;
  196. var Ti,Li,Hi,Mb=Ct.FrstMbr,CStl=!Nav4?Ct.style:Ct,MStl=!Nav4?Mb.style:Mb,PadL=Mb.value.indexOf("<")==-1?LftXtra:0,PadT=Mb.value.indexOf("<")==-1?TpXtra:0,MWt=!Nav4?parseInt(MStl.width)+PadL:MStl.clip.width,MHt=!Nav4?parseInt(MStl.height)+PadT:MStl.clip.height,CWt=!Nav4?parseInt(CStl.width):CStl.clip.width,CHt=!Nav4?parseInt(CStl.height):CStl.clip.height,CCw,CCh,STp,SLt;
  197. var BRW=RLvl==1?BorderWidthMain:BorderWidthSub,BTWn=RLvl==1?BorderBtwnMain:BorderBtwnSub;
  198. if(RLvl==1&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?0:FWinH-CHt+(Nav4?MacCom?-2:4:0):Lt=RightToLeft?0:FWinW-CWt+(Nav4?MacCom?-2:4:0);
  199. if(RLvl==2&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?SWinH-CHt+(Nav4?MacCom?-2:4:0):0:Lt=RightToLeft?SWinW-CWt:0;
  200. if(RLvl==2){Tp+=VerCorrect;Lt+=HorCorrect}
  201. CStl.top=RLvl==1?Tp+P_X:0;Ct.OrgTop=Tp;
  202. CStl.left=RLvl==1?Lt+P_X:0;Ct.OrgLeft=Lt;
  203. if(RLvl==1&&FirstLineHorizontal){Hi=1;Li=CWt-MWt-2*BRW;Ti=0}
  204. else{Hi=Li=0;Ti=CHt-MHt-2*BRW}
  205. while(Mb!=null){
  206. MStl.left=Li+BRW+P_X;
  207. MStl.top=Ti+BRW+P_X;
  208. if(Nav4)Mb.CLyr.moveTo(Li+BRW,Ti+BRW);
  209. if(Mb.CCn){if(RightToLeft)CCw=Nav4?Mb.CCn.clip.width:parseInt(Mb.CCn.style.width);
  210. if(BottomUp)CCh=Nav4?Mb.CCn.clip.height:parseInt(Mb.CCn.style.height);
  211. if(Hi){STp=BottomUp?Ti-CCh:Ti+MHt+2*BRW;SLt=RightToLeft?Li+MWt-CCw:Li}
  212. else{SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BRW:Li+(1-ChildOverlap)*MWt+BRW;
  213. STp=RLvl==1&&AcrssFrms?BottomUp?Ti-CCh+MHt:Ti:BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BRW:Ti+ChildVerticalOverlap*MHt}
  214. PosMenu(Mb.CCn,STp,SLt)}
  215. Mb=Mb.PrvMbr;
  216. if(Mb){ MStl=!Nav4?Mb.style:Mb;PadL=Mb.value.indexOf("<")==-1?LftXtra:0;
  217. PadT=Mb.value.indexOf("<")==-1?TpXtra:0;
  218. MWt=!Nav4?parseInt(MStl.width)+PadL:MStl.clip.width;
  219. MHt=!Nav4?parseInt(MStl.height)+PadT:MStl.clip.height;
  220. Hi?Li-=BTWn?(MWt+BRW):(MWt):Ti-=BTWn?(MHt+BRW):MHt}}
  221. RLvl--}
  222.  
  223. function StMnu(){
  224. if(!Crtd)return;
  225. var i,Pntr=FrstCntnr,Str=ScLoc.SetMenu?ScLoc.SetMenu:"0";
  226. while(Str.indexOf("_")!=-1&&RememberStatus==1){
  227. i=Pntr.NrItms-parseInt(Str.substring(0,Str.indexOf("_")));
  228. Str=Str.slice(Str.indexOf("_")+1);
  229. Pntr=Pntr.FrstMbr;
  230. for(i;i;i--)Pntr=Pntr.PrvMbr;
  231. if(Nav4)Pntr.CLyr.OM();
  232. else Pntr.OM();
  233. Pntr=Pntr.CCn}
  234. i=Pntr.NrItms-parseInt(Str);
  235. Pntr=Pntr.FrstMbr;
  236. for(i;i;i--)Pntr=Pntr.PrvMbr;
  237. if(RmbrNow!=null){SetItem(RmbrNow,0);RmbrNow.Clckd=0}
  238. if(Pntr!=null){SetItem(Pntr,1);Pntr.Clckd=1;
  239. if(RememberStatus==1){if(Nav4)Pntr.CLyr.OM();else Pntr.OM()}}
  240. RmbrNow=Pntr;
  241. ClrAllChlds(FrstCntnr.FrstMbr);
  242. Rmbr(FrstCntnr)}
  243.  
  244. function Initiate(){
  245. if(IniFlg&&Ldd){Init(FrstCntnr);IniFlg=0;if(RememberStatus)Rmbr(FrstCntnr);if(ShwFlg)AfterCloseAll();ShwFlg=0}}
  246.  
  247. function Rmbr(CntPtr){
  248. var Mbr=CntPtr.FrstMbr,St;
  249. while(Mbr!=null){
  250. if(Mbr.DoRmbr){
  251. HiliteItem(Mbr);
  252. if(Mbr.CCn&&RememberStatus==1){St=Nav4?Mbr.CCn:Mbr.CCn.style;St.visibility=M_Show;Rmbr(Mbr.CCn)}
  253. break}
  254. else Mbr=Mbr.PrvMbr}}
  255.  
  256. function Init(CPt){
  257. var Mb=CPt.FrstMbr,MCSt=Nav4?CPt:CPt.style;
  258. RLvl++;
  259. MCSt.visibility=RLvl==1?M_Show:M_Hide;
  260. CPt.Shw=RLvl==1?1:0;
  261. while(Mb!=null){if(Mb.Hilite)LowItem(Mb);if(Mb.CCn)Init(Mb.CCn);Mb=Mb.PrvMbr}
  262. RLvl--}
  263.  
  264. function ClrAllChlds(Pt){
  265. var PSt,Pc;
  266. while(Pt){if(Pt.Hilite){Pc=Nav4?Pt.CLyr:Pt;if(Pc!=CurOvr){LowItem(Pt)}
  267. if(Pt.CCn){PSt=Nav4?Pt.CCn:Pt.CCn.style;if(Pc!=CurOvr){PSt.visibility=M_Hide;Pt.CCn.Shw=0}ClrAllChlds(Pt.CCn.FrstMbr)}
  268. break}
  269. Pt=Pt.PrvMbr}}
  270.  
  271. function SetItem(Pntr,x){
  272. while(Pntr!=null){Pntr.DoRmbr=x;Pntr=Nav4?Pntr.CLyr.Ctnr.Cllr:Pntr.Ctnr.Cllr}}
  273.  
  274. function GoTo(){
  275. var HP=Nav4?this.LLyr:this;
  276. if(HP.Arr[1]){status="";LowItem(HP);IniFlg=1;Initiate();
  277. HP.Arr[1].indexOf("javascript:")!=-1?eval(HP.Arr[1]):DcLoc.location.href=BaseHref+HP.Arr[1]}}
  278.  
  279. function HiliteItem(P){
  280. if(Nav4){ if(P.ro)P.document.images[P.rid].src=P.ri2;
  281. else{ if(P.Arr[7]&&!P.Arr[2])P.bgColor=P.Arr[7];
  282. if(P.value.indexOf("<img")==-1){P.document.write(P.Ovalue);P.document.close()}}}
  283. else{ if(P.ro){var Lc=P.Lvl==1?FLoc:ScLoc;Lc.document.images[P.rid].src=P.ri2}
  284. else{if(P.Arr[7]&&!P.Arr[2])P.style.backgroundColor=P.Arr[7];if(P.Arr[9])P.style.color=P.Arr[9]}}
  285. P.Hilite=1}
  286.  
  287. function LowItem(P){
  288. P.Hilite=0;
  289. if(P.ro){if(Nav4)P.document.images[P.rid].src=P.ri1;
  290. else{var Lc=P.Lvl==1?FLoc:ScLoc;Lc.document.images[P.rid].src=P.ri1}}
  291. else{if(Nav4){if(P.Arr[6]&&!P.Arr[2])P.bgColor=P.Arr[6];
  292. if(P.value.indexOf("<img")==-1){P.document.write(P.value);P.document.close()}}
  293. else{if(P.Arr[6]&&!P.Arr[2])P.style.backgroundColor=P.Arr[6];if(P.Arr[8])P.style.color=P.Arr[8]}}}
  294.  
  295. var OpnTmr=null;
  296.  
  297. function OpenMenu(){
  298. if(!Ldd||!Crtd)return;
  299. if(OpnTmr)clearTimeout(OpnTmr);
  300. var P=Nav4?this.LLyr:this;
  301.  
  302. if(P.NofChlds&&!P.CCn){
  303. var Cmplnt=RLvl==1?FCmplnt:SCmplnt;
  304. var LftXtra=(DomNav&&!Opr7)||MacExp5||Cmplnt?LeftPaddng:0;
  305. var TpXtra=(DomNav&&!Opr7)||MacExp5||Cmplnt?TopPaddng:0;
  306. RLvl=this.Lvl;
  307. P.CCn=CreateMenuStructure(P.MN+"_",P.NofChlds,P);
  308. var Ti,Li,Hi;
  309. var MStl=!Nav4?P.style:P;
  310. var PadL=P.value.indexOf("<")==-1?LftXtra:0;
  311. var PadT=P.value.indexOf("<")==-1?TpXtra:0;
  312. var MWt=!Nav4?parseInt(MStl.width)+PadL:MStl.clip.width;
  313. var MHt=!Nav4?parseInt(MStl.height)+PadT:MStl.clip.height;
  314. var CCw,CCh,STp,SLt;
  315. var BRW=RLvl==1?BorderWidthMain:BorderWidthSub;
  316. if(RightToLeft)CCw=Nav4?P.CCn.clip.width:parseInt(P.CCn.style.width);
  317. if(BottomUp)CCh=Nav4?P.CCn.clip.height:parseInt(P.CCn.style.height);
  318. if(RLvl==1&&FirstLineHorizontal){Hi=1;Li=(Nav4?P.left:parseInt(P.style.left))-BRW;Ti=0}
  319. else{Hi=Li=0;Ti=(Nav4?P.top:parseInt(P.style.top))-BRW}
  320. if(Hi){STp=BottomUp?Ti-CCh:Ti+MHt+2*BRW;SLt=RightToLeft?Li+MWt-CCw:Li}
  321. else{SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BRW:Li+(1-ChildOverlap)*MWt;
  322. STp=RLvl==1&&AcrssFrms?BottomUp?Ti-CCh+MHt:Ti:BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BRW:Ti+ChildVerticalOverlap*MHt+BRW}
  323. PosMenu(P.CCn,STp,SLt);
  324. RLvl=0}
  325.  
  326. var CCnt=Nav4?this.LLyr.CCn:this.CCn,HP=Nav4?this.LLyr:this;
  327. CurOvr=this;IniFlg=0;
  328. ClrAllChlds(this.Ctnr.FrstMbr);
  329. if(!HP.Hilite)HiliteItem(HP);
  330. if(CCnt!=null&&!CCnt.Shw)RememberStatus?Unfld():OpnTmr=setTimeout("Unfld()",UnfoldDelay);
  331. status=HP.Arr[16]}
  332.  
  333. function Unfld(){
  334. var P=CurOvr;
  335. var TS=ExpYes?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset,LS=ExpYes?SCmplnt?ScHtml.scrollLeft:ScLoc.document.body.scrollLeft:ScLoc.pageXOffset,CCnt=Nav4?P.LLyr.CCn:P.CCn,THt=Nav4?P.clip.height:parseInt(P.style.height),TWt=Nav4?P.clip.width:parseInt(P.style.width),TLt=AcrssFrms&&P.Lvl==1&&!FirstLineHorizontal?0:Nav4?P.Ctnr.left:parseInt(P.Ctnr.style.left),TTp=AcrssFrms&&P.Lvl==1&&FirstLineHorizontal?0:Nav4?P.Ctnr.top:parseInt(P.Ctnr.style.top);
  336. var CCW=Nav4?P.LLyr.CCn.clip.width:parseInt(P.CCn.style.width),CCH=Nav4?P.LLyr.CCn.clip.height:parseInt(P.CCn.style.height),CCSt=Nav4?P.LLyr.CCn:P.CCn.style,SLt=AcrssFrms&&P.Lvl==1?CCnt.OrgLeft+TLt+LS:CCnt.OrgLeft+TLt,STp=AcrssFrms&&P.Lvl==1?CCnt.OrgTop+TTp+TS:CCnt.OrgTop+TTp;
  337. if(!ShwFlg){ShwFlg=1; BeforeFirstOpen()}
  338. if(MenuWrap){
  339. if(RightToLeft){if(SLt<LS)SLt=P.Lvl==1?LS:SLt+(CCW+(1-2*ChildOverlap)*TWt);if(SLt+CCW>SWinW+LS)SLt=SWinW+LS-CCW}
  340. else{if(SLt+CCW>SWinW+LS)SLt=P.Lvl==1?SWinW+LS-CCW:SLt-(CCW+(1-2*ChildOverlap)*TWt);if(SLt<LS)SLt=LS}
  341. if(BottomUp){if(STp<TS)STp=P.Lvl==1?TS:STp+(CCH-(1-2*ChildVerticalOverlap)*THt);if(STp+CCH>SWinH+TS)STp=SWinH+TS-CCH+(Nav4?4:0)}
  342. else{if(STp+CCH>TS+SWinH)STp=P.Lvl==1?STp=TS+SWinH-CCH:STp-CCH+(1-2*ChildVerticalOverlap)*THt;if(STp<TS)STp=TS}}
  343. CCSt.top=STp+P_X;CCSt.left=SLt+P_X;
  344. if(Exp6Plus&&MenuSlide){P.CCn.filters[0].Apply();P.CCn.filters[0].play()}
  345. CCSt.visibility=M_Show}
  346.  
  347. function OpenMenuClick(){
  348. if(!Ldd||!Crtd)return;
  349. var HP=Nav4?this.LLyr:this;CurOvr=this;
  350. IniFlg=0;ClrAllChlds(this.Ctnr.FrstMbr);HiliteItem(HP);
  351. status=HP.Arr[16]}
  352.  
  353. function CloseMenu(){
  354. if(!Ldd||!Crtd)return;
  355. status="";
  356. if(this==CurOvr){if(OpnTmr)clearTimeout(OpnTmr);if(CloseTmr)clearTimeout(CloseTmr);IniFlg=1;CloseTmr=setTimeout("Initiate(CurOvr)",DissapearDelay)}}
  357.  
  358. function CntnrSetUp(W,H,NoOff,WMu,Mc){
  359. var x=eval(WMu+"[10]")!=""?eval(WMu+"[10]"):BorderColor;
  360. this.FrstMbr=null;this.NrItms=NoOff;this.Cllr=Mc;this.Shw=0;
  361. this.OrgLeft=this.OrgTop=0;
  362. if(Nav4){if(x)this.bgColor=x;this.visibility="hide";this.resizeTo(W,H)}
  363. else{if(x)this.style.backgroundColor=x;this.style.width=W+P_X;this.style.height=H+P_X;
  364. if(!NavYes)this.style.zIndex=RLvl+Ztop;
  365. if(Exp6Plus){FStr="";if(MenuSlide&&RLvl!=1)FStr=MenuSlide;if(MenuShadow)FStr+=MenuShadow;
  366. if(MenuOpacity)FStr+=MenuOpacity;if(FStr!="")this.style.filter=FStr}}}
  367.  
  368. function MbrSetUp(MbC,PrMmbr,WMu,Wd,Ht,Nofs){
  369. var Cmplnt=RLvl==1?FCmplnt:SCmplnt;
  370. var LftXtra=(DomNav&&!Opr7)||MacExp5||Cmplnt?LeftPaddng:0;
  371. var TpXtra=(DomNav&&!Opr7)||MacExp5||Cmplnt?TopPaddng:0;
  372. var Lctn=RLvl==1?FLoc:ScLoc,Tfld=this.Arr[0],t,T,L,W,H,S,a;
  373. this.PrvMbr=PrMmbr;this.Lvl=RLvl;this.Ctnr=MbC;this.CCn=null;this.ai=null;this.Hilite=0;this.DoRmbr=0;
  374. this.Clckd=0;this.OM=OpenMenu;this.style.overflow="hidden";
  375. this.MN=WMu;this.NofChlds=Nofs;
  376. this.style.cursor=(this.Arr[1]||(RLvl==1&&UnfoldsOnClick))?ExpYes?"hand":"pointer":"default";this.ro=0;
  377. if(Tfld.indexOf("rollover")!=-1){this.ro=1;this.ri1=Tfld.substring(Tfld.indexOf("?")+1,Tfld.lastIndexOf("?"));
  378. this.ri2=Tfld.substring(Tfld.lastIndexOf("?")+1,Tfld.length);this.rid=WMu+"i";
  379. Tfld="<img src=\""+this.ri1+"\" name=\""+this.rid+"\" width=\""+Wd+"\" height=\""+Ht+"\">"}
  380. this.value=Tfld;
  381. this.style.color=this.Arr[8];this.style.fontFamily=this.Arr[11];this.style.fontSize=!Mac4?this.Arr[12]+"pt":Math.round(4*this.Arr[12]/3)+"pt";
  382. this.style.fontWeight=this.Arr[13]?"bold":"normal";this.style.fontStyle=this.Arr[14]?"italic":"normal";
  383. if(this.Arr[6])this.style.backgroundColor=this.Arr[6];this.style.textAlign=this.Arr[15];
  384. if(this.Arr[2])this.style.backgroundImage="url(\""+this.Arr[2]+"\")";
  385. if(Tfld.indexOf("<")==-1){this.style.width=Wd-LftXtra+P_X;this.style.height=Ht-TpXtra+P_X;this.style.paddingLeft=LeftPaddng+P_X;this.style.paddingTop=TopPaddng+P_X}
  386. else{this.style.width=Wd+P_X;this.style.height=Ht+P_X}
  387. if(Tfld.indexOf("<")==-1&&DomYes){t=Lctn.document.createTextNode(Tfld);this.appendChild(t)}
  388. else this.innerHTML=Tfld;
  389. if(this.Arr[3]){a=RLvl==1&&FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
  390. if(Arrws[a]!=""){S=Arrws[a];W=Arrws[a+1];H=Arrws[a+2];T=RLvl==1&&FirstLineHorizontal?BottomUp?2:Ht-H-2:(Ht-H)/2;L=RightToLeft?2:Wd-W-2;
  391. if(DomYes){t=Lctn.document.createElement("img");this.appendChild(t);
  392. t.style.position="absolute";t.src=S;t.style.width=W+P_X;t.style.height=H+P_X;t.style.top=T+P_X;t.style.left=L+P_X}
  393. else{Tfld+="<div id=\""+WMu+"_im\" style=\"position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit\"><img src=\""+S+"\"></div>";
  394. this.innerHTML=Tfld;t=Lctn.document.all[WMu+"_im"]}
  395. this.ai=t}}
  396. if(ExpYes){this.onselectstart=CnclSlct;this.onmouseover=UnfoldsOnClick?OpenMenuClick:OpenMenu;
  397. this.onmouseout=CloseMenu;this.onclick=UnfoldsOnClick&&this.Arr[3]?OpenMenu:GoTo}
  398. else{UnfoldsOnClick?this.addEventListener("mouseover",OpenMenuClick,false):this.addEventListener("mouseover",OpenMenu,false);
  399. this.addEventListener("mouseout",CloseMenu,false);
  400. UnfoldsOnClick&&this.Arr[3]?this.addEventListener("click",OpenMenu,false):this.addEventListener("click",GoTo,false)}}
  401.  
  402. function NavMbrSetUp(MbC,PrMmbr,WMu,Wd,Ht,Nofs){
  403. var a;
  404. this.value=this.Arr[0];this.ro=0;
  405. if(this.value.indexOf("rollover")!=-1){
  406. this.ro=1;this.ri1=this.value.substring(this.value.indexOf("?")+1,this.value.lastIndexOf("?"));
  407. this.ri2=this.value.substring(this.value.lastIndexOf("?")+1,this.value.length);this.rid=WMu+"i";
  408. this.value="<img src=\""+this.ri1+"\" name=\""+this.rid+"\">"}
  409. CntrTxt=this.Arr[15]!="left"?"<div align=\""+this.Arr[15]+"\">":"";
  410. TxtClose="</font>"+this.Arr[15]!="left"?"</div>":"";
  411. if(LeftPaddng&&this.value.indexOf("<")==-1&&this.Arr[15]=="left")this.value="&nbsp\;"+this.value;
  412. if(this.Arr[13])this.value=this.value.bold();if(this.Arr[14])this.value=this.value.italics();
  413. this.Ovalue=this.value;this.value=this.value.fontcolor(this.Arr[8]);
  414. this.Ovalue=this.Ovalue.fontcolor(this.Arr[9]);
  415. this.value=CntrTxt+"<font face=\""+this.Arr[11]+"\" point-size=\""+(!Mac4?this.Arr[12]:Math.round(4*this.Arr[12]/3))+"\">"+this.value+TxtClose;
  416. this.Ovalue=CntrTxt+"<font face=\""+this.Arr[11]+"\" point-size=\""+(!Mac4?this.Arr[12]:Math.round(4*this.Arr[12]/3))+"\">"+this.Ovalue+TxtClose;
  417. this.CCn=null;this.PrvMbr=PrMmbr;this.Hilite=0;this.DoRmbr=0;this.Clckd=0;this.visibility="inherit";
  418. this.MN=WMu;this.NofChlds=Nofs;
  419. if(this.Arr[6])this.bgColor=this.Arr[6];this.resizeTo(Wd,Ht);
  420. if(!AcrssFrms&&this.Arr[2])this.background.src=this.Arr[2];
  421. this.document.write(this.value);this.document.close();
  422. this.CLyr=new Layer(Wd,MbC);
  423. this.CLyr.Lvl=RLvl;this.CLyr.visibility="inherit";
  424. this.CLyr.onmouseover=UnfoldsOnClick?OpenMenuClick:OpenMenu;this.CLyr.onmouseout=CloseMenu;
  425. this.CLyr.captureEvents(Event.MOUSEDOWN);this.CLyr.onmousedown=UnfoldsOnClick&&this.Arr[3]?OpenMenu:GoTo;
  426. this.CLyr.OM=OpenMenu;
  427. this.CLyr.LLyr=this;this.CLyr.resizeTo(Wd,Ht);this.CLyr.Ctnr=MbC;
  428. if(this.Arr[3]){a=RLvl==1&&FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
  429. if(Arrws[a]!=""){this.CLyr.ILyr=new Layer(Arrws[a+1],this.CLyr);this.CLyr.ILyr.visibility="inherit";
  430. this.CLyr.ILyr.top=RLvl==1&&FirstLineHorizontal?BottomUp?2:Ht-Arrws[a+2]-2:(Ht-Arrws[a+2])/2;
  431. this.CLyr.ILyr.left=RightToLeft?2:Wd-Arrws[a+1]-2;this.CLyr.ILyr.width=Arrws[a+1];this.CLyr.ILyr.height=Arrws[a+2];
  432. ImgStr="<img src=\""+Arrws[a]+"\" width=\""+Arrws[a+1]+"\" height=\""+Arrws[a+2]+"\">";
  433. this.CLyr.ILyr.document.write(ImgStr);this.CLyr.ILyr.document.close()}}}
  434.  
  435. function CreateMenuStructure(MNm,No,Mcllr){
  436. RLvl++;
  437. var i,NOs,Mbr,W=0,H=0,PMb=null,WMnu=MNm+"1",MWd=eval(WMnu+"[5]"),MHt=eval(WMnu+"[4]"),Lctn=RLvl==1?FLoc:ScLoc;
  438. var BRW=RLvl==1?BorderWidthMain:BorderWidthSub,BTWn=RLvl==1?BorderBtwnMain:BorderBtwnSub;
  439. if(RLvl==1&&FirstLineHorizontal){
  440. for(i=1;i<No+1;i++){WMnu=MNm+eval(i);W=eval(WMnu+"[5]")?W+eval(WMnu+"[5]"):W+MWd}
  441. W=BTWn?W+(No+1)*BRW:W+2*BRW;H=MHt+2*BRW}
  442. else{for(i=1;i<No+1;i++){WMnu=MNm+eval(i);H=eval(WMnu+"[4]")?H+eval(WMnu+"[4]"):H+MHt}
  443. H=BTWn?H+(No+1)*BRW:H+2*BRW;W=MWd+2*BRW}
  444. if (DomYes) {
  445. var MbC = Lctn.document.createElement("div");
  446. MbC.setAttribute("id", "pgMenuDiv1");
  447. MbC.style.position = "absolute"; MbC.style.visibility = "hidden"; Lctn.document.body.appendChild(MbC)
  448. }
  449. else{if(Nav4)var MbC=new Layer(W,Lctn);
  450. else{WMnu+="c";Lctn.document.body.insertAdjacentHTML("AfterBegin","<div id=\""+WMnu+"\" style=\"visibility:hidden; position:absolute;\"><\/div>");
  451. var MbC=Lctn.document.all[WMnu]}}
  452. MbC.SetUp=CntnrSetUp;MbC.SetUp(W,H,No,MNm+"1",Mcllr);
  453. if(Exp4){MbC.InnerString="";
  454. for(i=1;i<No+1;i++){WMnu=MNm+eval(i);MbC.InnerString+="<div id=\""+WMnu+"\" style=\"position:absolute;\"><\/div>"}
  455. MbC.innerHTML=MbC.InnerString}
  456. for(i=1;i<No+1;i++){WMnu=MNm+eval(i);NOs=eval(WMnu+"[3]");
  457. W=RLvl==1&&FirstLineHorizontal?eval(WMnu+"[5]")?eval(WMnu+"[5]"):MWd:MWd;
  458. H=RLvl==1&&FirstLineHorizontal?MHt:eval(WMnu+"[4]")?eval(WMnu+"[4]"):MHt;
  459. if (DomYes) {
  460. Mbr = Lctn.document.createElement("div");
  461. Mbr.setAttribute("id", "pgMenuDiv3");
  462. Mbr.style.position = "absolute"; Mbr.style.visibility = "inherit"; MbC.appendChild(Mbr)
  463. }
  464. else Mbr=Nav4?new Layer(W,MbC):Lctn.document.all[WMnu];
  465. Mbr.Arr=eval(WMnu);
  466. if(Mbr.Arr[6]=="")Mbr.Arr[6]=LowBgColor;if(Mbr.Arr[7]=="")Mbr.Arr[7]=HighBgColor;if(Mbr.Arr[8]=="")Mbr.Arr[8]=FontLowColor;
  467. if(Mbr.Arr[9]=="")Mbr.Arr[9]=FontHighColor;if(Mbr.Arr[11]=="")Mbr.Arr[11]=FontFamily;if(Mbr.Arr[12]==-1)Mbr.Arr[12]=FontSize;
  468. if(Mbr.Arr[13]==-1)Mbr.Arr[13]=FontBold;if(Mbr.Arr[14]==-1)Mbr.Arr[14]=FontItalic;
  469. if(Mbr.Arr[15]=="")Mbr.Arr[15]=MenuTextCentered;if(Mbr.Arr[16]=="")Mbr.Arr[16]=Mbr.Arr[1];
  470. Mbr.SetUp=Nav4?NavMbrSetUp:MbrSetUp;Mbr.SetUp(MbC,PMb,WMnu,W,H,NOs);
  471. if(NOs&&!BuildOnDemand){Mbr.CCn=CreateMenuStructure(WMnu+"_",NOs,Mbr)}
  472. PMb=Mbr}
  473. MbC.FrstMbr=Mbr;
  474. RLvl--;
  475. return(MbC)}
  476.  
  477. function CreateMenuStructureAgain(MNm,No){
  478. if(!BuildOnDemand){
  479. var i,WMnu,NOs,PMb,Mbr=FrstCntnr.FrstMbr;RLvl++;
  480. for(i=No;i>0;i--){WMnu=MNm+eval(i);NOs=eval(WMnu+"[3]");PMb=Mbr;if(NOs)Mbr.CCn=CreateMenuStructure(WMnu+"_",NOs,Mbr);Mbr=Mbr.PrvMbr}
  481. RLvl--}
  482. else{ var Mbr=FrstCntnr.FrstMbr;
  483. while(Mbr){Mbr.CCn=null;Mbr=Mbr.PrvMbr}}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement