menu10_com.js
上传用户:dengkfang
上传日期:2008-12-30
资源大小:5233k
文件大小:20k
源码类别:

CA认证

开发平台:

Visual C++

  1. /***********************************************
  2. * (c) Ger Versluis 2000 version 13.11 April 13, 2005       *
  3. * You may use this script on non commercial sites.           *
  4. * www.burmees.nl/menu           *
  5. ************************************************/
  6. if(document.getElementById){
  7. var AgntUsr=navigator.userAgent.toLowerCase(),AppVer=navigator.appVersion.toLowerCase(),
  8. Opr7=AgntUsr.indexOf("opera")!=-1&&parseInt(AgntUsr.substring(AgntUsr.indexOf("opera")+6))>6?true:false;
  9. if((AgntUsr.indexOf("opera")==-1||Opr7)){
  10. var NavYes=((AgntUsr.indexOf("mozilla")!=-1&&AgntUsr.indexOf("compatible")==-1)||Opr7)?true:false,ExpYes=(AgntUsr.indexOf("msie")!=-1&&!Opr7)? true:false;
  11. if(MenuUsesFrames&&!parent.frames[0])MenuUsesFrames=0;
  12. var Exp6Plus=((AppVer.indexOf("msie 6")!=-1||AppVer.indexOf("msie 7")!=-1)&&!Opr7)?true:false,MacExp5=(AppVer.indexOf("mac")!=-1&&AppVer.indexOf("msie 5")!=-1)?true:false,
  13. FLoc,ScLoc,DcLoc,SLdAgnWin,FWinH,FColW,SColW,DColW,SWinW,SWinH,FWinW,RLvl=0,FntFc=1,StaticPos=0,Ztop=100,FrstCreat=true,Ldd=false,
  14. Crtd=false,FCmplnt=false,SCmplnt=false,M_Clckd=false,IniFlg=false,ShwFlg=false,AcrssFrms=true,FrstCntnr=null,CurOvr=null,FHtml=null,ScHtml=null,
  15. CloseTmr=null,OpnTmr=null,RmbrNow=null,FStr="",M_Hide="hidden",M_Show="visible",P_X="px",M_StrtTp=StartTop,M_StrtLft=StartLeft,
  16. Par=MenuUsesFrames?parent:window,Doc=Par.document,Bod=Doc.body,Trigger=NavYes?Par:Bod,
  17. Nav_Op=NavYes&&AgntUsr.indexOf("gecko/")!=-1&&AgntUsr.indexOf("mac")==-1&&parseInt(AgntUsr.substring(AgntUsr.indexOf("gecko/")+6,AgntUsr.indexOf("gecko/")+12))>=200303?true:false,
  18. InitLdd,MstSz=0;LdTmr=setInterval("ChckInitLd()",100)}}
  19. function ChckInitLd(){
  20. InitLdd=ExpYes?
  21. MenuUsesFrames?Par.frames[FirstLineFrame].document.readyState=="complete"&&Par.frames[SecLineFrame].document.readyState=="complete"?
  22. 1:0:Par.document.readyState=="complete"?
  23. 1:0:MenuUsesFrames?Par.frames[FirstLineFrame].document.body&&Par.frames[SecLineFrame].document.body?1:0:Par.document.body?1:0;
  24. if(InitLdd) {clearInterval(LdTmr);Go()}}
  25. function CnclSlct(){return false}
  26. function RePos(){
  27. FWinW=ExpYes?FCmplnt?FHtml.clientWidth:FLoc.document.body.clientWidth:FLoc.innerWidth;
  28. FWinH=ExpYes?FCmplnt?FHtml.clientHeight:FLoc.document.body.clientHeight:FLoc.innerHeight;
  29. SWinW=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
  30. SWinH=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
  31. if(MstSz)SizeMenu(FrstCntnr);
  32. StaticPos=-1;
  33. ClcRl();if(TargetLoc)ClcTrgt();ClcLft();ClcTp();
  34. PosMenu(FrstCntnr,StartTop,StartLeft);
  35. if(RememberStatus)StMnu()}
  36. function UnLdd(){
  37. Ldd=Crtd=false;
  38. SetMenu="0";
  39. var M=FrstCntnr?FrstCntnr.FrstMbr:null;
  40. if(ExpYes){while(M!=null){if(M.CCn){MakeNull(M.CCn);M.CCn=null}M=M.PrvMbr}}
  41. LdTmr=setInterval("ChckLdd()",100)}
  42. function UnLddTotal(){
  43. MakeNull(FrstCntnr);
  44. FrstCntnr=RmbrNow=FLoc=ScLoc=DcLoc=SLdAgnWin=CurOvr=CloseTmr=Doc=Bod=Trigger=null}
  45. function MakeNull(P){
  46. var M=P.FrstMbr,Mi;
  47. while(M!=null){Mi=M;if(M.CCn){MakeNull(M.CCn);M.CCn.mif=null;M.CCn=null}M=M.PrvMbr;Mi.PrvMbr=null;Mi=null}
  48. P.FrstMbr=null}
  49. function ChckLdd(){if(!ExpYes){
  50. if(ScLoc.document.body){clearInterval(LdTmr);Go()}}
  51. else if(ScLoc.document.readyState=="complete"){if(LdTmr)clearInterval(LdTmr);Go()}}
  52. function Go(){
  53. if(!Ldd){ Crtd=false;Ldd=true;
  54. BeforeStart();
  55. if(ScaleMenu){
  56. if(document.defaultView&&document.defaultView.getComputedStyle)FntFc=parseInt(document.defaultView.getComputedStyle(document.body,'').getPropertyValue("font-size"))/16;
  57. else if(ExpYes&&document.body.currentStyle)FntFc=parseInt(document.body.currentStyle.fontSize)/12}
  58. status="Building menu";
  59. FLoc=MenuUsesFrames?parent.frames[FirstLineFrame]:window;
  60. ScLoc=MenuUsesFrames?parent.frames[SecLineFrame]:window;
  61. DcLoc=MenuUsesFrames?parent.frames[DocTargetFrame]:window;
  62. if(MenuUsesFrames){if(!FLoc)FLoc=window;if(!ScLoc)ScLoc=window;if(!DcLoc)DcLoc=window}
  63. if(FLoc==ScLoc)AcrssFrms=false;
  64. if(AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:FirstLineHorizontal?FirstLineHorizontal:1;
  65. if(Exp6Plus||Opr7){
  66. FHtml=FLoc.document.getElementsByTagName("HTML")[0];ScHtml=ScLoc.document.getElementsByTagName("HTML")[0];
  67. FCmplnt=FLoc.document.compatMode.indexOf("CSS")==-1?false:true;SCmplnt=ScLoc.document.compatMode.indexOf("CSS")==-1?false:true}
  68. FWinW=ExpYes?FCmplnt?FHtml.clientWidth:FLoc.document.body.clientWidth:FLoc.innerWidth;
  69. FWinH=ExpYes?FCmplnt?FHtml.clientHeight:FLoc.document.body.clientHeight:FLoc.innerHeight;
  70. SWinW=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
  71. SWinH=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
  72. FColW=FLoc.document.body;SColW=ScLoc.document.body;DColW=ScLoc.document.body;
  73. if(TakeOverBgColor)FColW.style.backgroundColor=AcrssFrms?SColW.bgColor:DColW.bgColor;
  74. if(FrstCreat||FLoc==ScLoc)FrstCntnr=CreateMenuStructure("Menu",NoOffFirstLineMenus,null);
  75. else CreateMenuStructureAgain("Menu",NoOffFirstLineMenus);
  76. SizeMenu(FrstCntnr);
  77. ClcRl();if(TargetLoc)ClcTrgt();ClcLft();ClcTp();
  78. PosMenu(FrstCntnr,StartTop,StartLeft);
  79. Crtd=true;
  80. SLdAgnWin=ExpYes?ScLoc.document.body:ScLoc;SLdAgnWin.onunload=UnLdd;
  81. if(ExpYes)Trigger.onunload=UnLddTotal;
  82. Trigger.onresize=RePos;
  83. AfterBuild();
  84. if(RememberStatus)StMnu();
  85. FrstCreat=false;
  86. if(MenuVerticalCentered=="static"&&!AcrssFrms)setInterval("KeepPos()",50);
  87. if(!ExpYes){FWinW=-1;RePos()}
  88. IniFlg=true;Initiate();
  89. status="Menu ready for use"}}
  90. function KeepPos(){
  91. var TS=ExpYes?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
  92. if(TS!=StaticPos){
  93. StaticPos+=(TS-StaticPos)*.2;
  94. if(Math.abs(StaticPos-TS)<=1)StaticPos=TS;
  95. FrstCntnr.OrgTop=StartTop+StaticPos;
  96. FrstCntnr.style.top=FrstCntnr.mif.style.top=FrstCntnr.OrgTop+P_X}}
  97. function ClcRl(){StartTop=M_StrtTp<1&&M_StrtTp>0?M_StrtTp*FWinH:M_StrtTp;StartLeft=M_StrtLft<1&&M_StrtLft>0?M_StrtLft*FWinW:M_StrtLft}
  98. function ClcTrgt(){
  99. var TLoc=FLoc.document.getElementById(TargetLoc);
  100. while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft;TLoc=TLoc.offsetParent}}
  101. function ClcLft(){
  102. if(MenuCentered.indexOf("left")==-1){
  103. var Sz=FWinW-parseInt(FrstCntnr.style.width);
  104. StartLeft+=MenuCentered.indexOf("right")!=-1?Sz:Sz/2;if(StartLeft<0)StartLeft=0}}
  105. function ClcTp(){
  106. if(MenuVerticalCentered!="top"&&MenuVerticalCentered!="static"){
  107. var Sz=FWinH-parseInt(FrstCntnr.style.height);
  108. StartTop+=MenuVerticalCentered=="bottom"?Sz:Sz/2;if(StartTop<0)StartTop=0}}
  109. function SizeMenu(C){
  110. var Cmplnt=C.Lvl==1?FCmplnt:SCmplnt,M=C.FrstMbr,Mi,i,W=0,H=0,Wd,Ht,RI,BRW=C.Lvl==1?BorderWidthMain:BorderWidthSub,BTWn=C.Lvl==1?BorderBtwnMain:BorderBtwnSub;
  111. if(C.Lvl<=FirstLineHorizontal){
  112. while(M!=null){W+=Math.round((M.Arr[5]<1?(M.Arr[5]*(M.Lvl==1?FWinW:SWinW)):(M.Arr[5]*FntFc)));Mi=M;M=M.PrvMbr}
  113. W+=((C.NrItms-1)*BTWn+2*BRW);
  114. Ht=H=Math.round((Mi.Arr[4]<1?(Mi.Arr[4]*(Mi.Lvl==1?FWinH:SWinH)):(Mi.Arr[4]*FntFc)));H+=(2*BRW)}
  115. else { while(M!=null){H+=Math.round((M.Arr[4]<1?(M.Arr[4]*(M.Lvl==1?FWinH:SWinH)):(M.Arr[4]*FntFc)));Mi=M;M=M.PrvMbr}
  116. H+=((C.NrItms-1)*BTWn+2*BRW);
  117. Wd=W=Math.round((Mi.Arr[5]<1?(Mi.Arr[5]*(Mi.Lvl==1?FWinW:SWinW)):(Mi.Arr[5]*FntFc)));W+=(2*BRW)}
  118. C.style.width=C.mif.style.width=W+P_X;C.style.height=C.mif.style.height=H+P_X;
  119. M=C.FrstMbr;
  120. while(M!=null){
  121. if(M.Arr[5]<1){W=C.Lvl<=FirstLineHorizontal?(M.Arr[5]*(M.Lvl==1?FWinW:SWinW)):Wd;MstSz=1}
  122. else W=(C.Lvl<=FirstLineHorizontal?M.Arr[5]:Wd)*FntFc;
  123. if(M.Arr[4]<1){H=C.Lvl<=FirstLineHorizontal?Ht:(M.Arr[4]*(M.Lvl==1?FWinH:SWinH));MstSz=1}
  124. else H=(C.Lvl<=FirstLineHorizontal?Ht:M.Arr[4])*FntFc;
  125. W=Math.round(W);H=Math.round(H);
  126. if(M.value.indexOf("<")==-1){
  127. M.tpd=TopPaddng<0?(Math.round(H*.5-M.Arr[12]*FntFc)):TopPaddng;if(M.tpd<0||M.tpd>H)M.tpd=0;
  128. M.ltp=LeftPaddng;if(M.ltp<0||M.ltp>W)M.ltp=0;
  129. if((NavYes&&!Opr7)||MacExp5||Cmplnt){M.lx=M.ltp;M.tx=M.tpd}}
  130. M.style.width=W-M.lx+P_X;M.style.height=H-M.tx+P_X;
  131. M.style.paddingLeft=M.ltp+P_X;M.style.paddingTop=M.tpd+P_X;
  132. if(M.ro){RI=(M.Lvl==1?FLoc:ScLoc).document.images[M.rid];RI.style.width=W+P_X;RI.style.height=H+P_X}
  133. if(M.CCn)SizeMenu(M.CCn);
  134. M=M.PrvMbr}}
  135. function PosMenu(Ct,Tp,Lt){
  136. RLvl++;
  137. var a,Mb=Ct.FrstMbr,MWt=parseInt(Mb.style.width)+Mb.lx,
  138. MHt=parseInt(Mb.style.height)+Mb.tx,CWt=parseInt(Ct.style.width),CHt=parseInt(Ct.style.height),CCw,CCh,STp,SLt,Ti,Li,Hi,
  139. BRW=RLvl==1?BorderWidthMain:BorderWidthSub,BTWn=RLvl==1?BorderBtwnMain:BorderBtwnSub;
  140. if(RLvl==1&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?DistFrmFrameBrdr:FWinH-CHt-DistFrmFrameBrdr:Lt=RightToLeft?DistFrmFrameBrdr:FWinW-CWt-DistFrmFrameBrdr;
  141. if(RLvl==2&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?SWinH-CHt:0:Lt=RightToLeft?SWinW-CWt:0;
  142. if(RLvl==2){Tp+=VerCorrect;Lt+=HorCorrect}
  143. Ct.style.top=Ct.mif.style.top=RLvl==1?Tp+P_X:0;Ct.OrgTop=Tp;
  144. Ct.style.left=Ct.mif.style.left=RLvl==1?Lt+P_X:0;Ct.OrgLeft=Lt;
  145. if(RLvl<=FirstLineHorizontal){Hi=1;Li=CWt-MWt-2*BRW;Ti=0}
  146. else{Hi=Li=0;Ti=CHt-MHt-2*BRW}
  147. while(Mb!=null){
  148. Mb.style.left=Li+BRW+P_X;Mb.style.top=Ti+BRW+P_X;
  149. if(Mb.CCn){
  150. if(RightToLeft)CCw=parseInt(Mb.CCn.style.width);
  151. if(BottomUp)CCh=parseInt(Mb.CCn.style.height);
  152. if(Hi){STp=BottomUp?Ti-CCh:Ti+MHt+2*BRW;SLt=RightToLeft?Li+MWt-CCw:Li}
  153. else{ SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BRW:Li+(1-ChildOverlap)*MWt+BRW;
  154. STp=RLvl==1&&AcrssFrms?BottomUp?Ti-CCh+MHt:Ti:BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BRW:Ti+ChildVerticalOverlap*MHt}
  155. PosMenu(Mb.CCn,STp,SLt)}
  156. a=RLvl<=FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
  157. if(Mb.ai){ Mb.ai.style.top=(RLvl<=FirstLineHorizontal?BottomUp?2:MHt-Arrws[a+2]-2:(MHt-Arrws[a+2])/2)+P_X;Mb.ai.style.left=(RightToLeft?2:MWt-Arrws[a+1]-2)+P_X}
  158. Mb=Mb.PrvMbr;
  159. if(Mb){MWt=parseInt(Mb.style.width)+Mb.lx;MHt=parseInt(Mb.style.height)+Mb.tx;Hi?Li-=MWt+BTWn:Ti-=MHt+BTWn}}
  160. RLvl--}
  161. function StMnu(){
  162. if(Crtd){ var i,Pntr=FrstCntnr,Str=ScLoc.SetMenu?ScLoc.SetMenu:"0";
  163. while(Str.indexOf("_")!=-1&&RememberStatus==1){
  164. i=Pntr.NrItms-parseInt(Str.substring(0,Str.indexOf("_")));Str=Str.slice(Str.indexOf("_")+1);
  165. Pntr=Pntr.FrstMbr;for(i;i;i--)Pntr=Pntr.PrvMbr;Pntr.OM();Pntr=Pntr.CCn}
  166. i=Pntr.NrItms-parseInt(Str);Pntr=Pntr.FrstMbr;
  167. for(i;i;i--) Pntr=Pntr.PrvMbr;
  168. if(RmbrNow!=null){SetItem(RmbrNow,0);RmbrNow.Clckd=0}
  169. if(Pntr!=null){SetItem(Pntr,1);Pntr.Clckd=1;if(RememberStatus==1)Pntr.OM()}
  170. RmbrNow=Pntr;
  171. ClrAllChlds(FrstCntnr.FrstMbr);
  172. Rmbr(FrstCntnr)}}
  173. function Initiate(){
  174. if(IniFlg&&Ldd){
  175. Init(FrstCntnr);IniFlg=false;if(RememberStatus)Rmbr(FrstCntnr);
  176. if(ShwFlg)AfterCloseAll();ShwFlg=M_Clckd=false}}
  177. function Rmbr(CntPtr){
  178. var Mbr=CntPtr.FrstMbr,St;
  179. while(Mbr!=null){
  180. if(Mbr.DoRmbr){
  181. HiliteItem(Mbr);if(Mbr.CCn&&RememberStatus==1){St=Mbr.CCn.style;St.visibility=M_Show;Rmbr(Mbr.CCn)}break}
  182. else Mbr=Mbr.PrvMbr}}
  183. function Init(CPt){
  184. var Mb=CPt.FrstMbr;
  185. RLvl++;
  186. CPt.style.visibility=CPt.mif.style.visibility=RLvl==1?M_Show:M_Hide;
  187. CPt.Shw=RLvl==1?1:0;
  188. while(Mb!=null){if(Mb.Hilite)LowItem(Mb);if(Mb.CCn)Init(Mb.CCn);Mb=Mb.PrvMbr}
  189. RLvl--}
  190. function ClrAllChlds(Pt){
  191. var PSt,Pc;
  192. while(Pt){
  193. if(Pt.Hilite){
  194. Pc=Pt;if(Pc!=CurOvr)LowItem(Pt);
  195. if(Pt.CCn) {PSt=Pt.CCn.style;if(Pc!=CurOvr){PSt.visibility=Pt.CCn.mif.style.visibility=M_Hide;Pt.CCn.Shw=0}ClrAllChlds(Pt.CCn.FrstMbr)}
  196. break}
  197. Pt=Pt.PrvMbr}}
  198. function SetItem(Pntr,x){while(Pntr!=null){Pntr.DoRmbr=x;Pntr=Pntr.Ctnr.Cllr}}
  199. function GoTo(){
  200. if(UnfoldsOnClick&&!M_Clckd&&this.Arr[3]){M_Clckd=true;OpenMenuII(this)}
  201. else if(this.Arr[1]){
  202. status="";LowItem(this);IniFlg=true;Initiate();
  203. if(this.Arr[1].indexOf("javascript:")!=-1)eval(this.Arr[1]);
  204. else if(DcLoc.location.href!=BaseHref+this.Arr[1])DcLoc.location.href=BaseHref+this.Arr[1]}}
  205. function HiliteItem(P){
  206. if(P.rob)P.style.backgroundImage="url(""+P.rib2+"")";
  207. if(P.ro){var Lc=P.Lvl==1?FLoc:ScLoc;Lc.document.images[P.rid].src=P.ri2}
  208. else{ if(P.Arr[7])P.style.backgroundColor=P.Arr[7];if(P.Arr[9])P.style.color=P.Arr[9];
  209. if(HooverBold)P.style.fontWeight="bold";if(HooverItalic)P.style.fontStyle="italic";
  210. if(HooverUnderLine)P.style.textDecoration="underline";
  211. if(HooverTextSize)P.style.fontSize=parseInt(P.style.fontSize)+HooverTextSize+P_X;
  212. if(HooverVariant)P.style.fontVariant="small-caps"}
  213. if(HoverBorder){P.style.borderColor=HoverBorderColor;P.style.borderWidth=BorderWidthHover;P.style.borderStyle='solid';}
  214. P.Hilite=1}
  215. function LowItem(P){
  216. P.Hilite=0;
  217. if(P.rob)P.style.backgroundImage="url(""+P.rib1+"")";
  218. if(P.ro){var Lc=P.Lvl==1?FLoc:ScLoc;Lc.document.images[P.rid].src=P.ri1}
  219. else{ if(P.Arr[6])P.style.backgroundColor=P.Arr[6];if(P.Arr[8])P.style.color=P.Arr[8];
  220. if(HooverBold)P.style.fontWeight="normal";if(HooverItalic)P.style.fontStyle="normal";
  221. if(HooverUnderLine)P.style.textDecoration="none";
  222. if(HooverTextSize)P.style.fontSize=parseInt(P.style.fontSize)-HooverTextSize+P_X;
  223. if(HooverVariant)P.style.fontVariant="normal"}
  224. if(HoverBorder){P.style.borderColor=P.style.backgroundColor;P.style.borderWidth=0;P.style.borderStyle='none';}
  225. }
  226. function OpenMenu(){
  227. if(Ldd&&Crtd){
  228. if(UnfoldsOnClick&&!M_Clckd){CurOvr=this;IniFlg=false;ClrAllChlds(this.Ctnr.FrstMbr);HiliteItem(this);status=this.Arr[16]}
  229. else OpenMenuII(this)}}
  230. function OpenMenuII(Ptr){
  231. if(OpnTmr)clearTimeout(OpnTmr);
  232. if(Ptr.Arr[3]&&!Ptr.CCn){
  233. RLvl=Ptr.Lvl;
  234. Ptr.CCn=CreateMenuStructure(Ptr.MN+"_",Ptr.Arr[3],Ptr);
  235. SizeMenu(Ptr.CCn);
  236. var Ti,Li,Hi,CCw,CCh,STp,SLt,
  237. MWt=parseInt(Ptr.style.width)+Ptr.lx,MHt=parseInt(Ptr.style.height)+Ptr.tx,BRW=RLvl==1?BorderWidthMain:BorderWidthSub;
  238. if(RightToLeft)CCw=parseInt(Ptr.CCn.style.width);
  239. if(BottomUp)CCh=parseInt(Ptr.CCn.style.height);
  240. if(RLvl<=FirstLineHorizontal){Hi=1;Li=parseInt(Ptr.style.left)-BRW;Ti=0}
  241. else{Hi=Li=0;Ti=parseInt(Ptr.style.top)-BRW}
  242. if(Hi){STp=BottomUp?Ti-CCh:Ti+MHt+2*BRW;SLt=RightToLeft?Li+MWt-CCw:Li}
  243. else{ SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BRW:Li+(1-ChildOverlap)*MWt;
  244. STp=RLvl==1&&AcrssFrms?BottomUp?Ti-CCh+MHt:Ti:BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BRW:Ti+ChildVerticalOverlap*MHt+BRW}
  245. PosMenu(Ptr.CCn,STp,SLt);
  246. RLvl=0}
  247. CurOvr=Ptr;
  248. IniFlg=false;ClrAllChlds(Ptr.Ctnr.FrstMbr);
  249. if(!Ptr.Hilite)HiliteItem(Ptr);
  250. if(Ptr.CCn!=null&&!Ptr.CCn.Shw)RememberStatus?Unfld():OpnTmr=setTimeout("Unfld()",UnfoldDelay);
  251. status=Ptr.Arr[16]}
  252. function Unfld(){
  253. var P=CurOvr,CSt=P.Ctnr.style,CCnt=P.CCn,CCSt=CCnt.style,CCmSt=CCnt.mif.style,
  254. THt=parseInt(P.style.height),TWt=parseInt(P.style.width),TLt=AcrssFrms&&P.Lvl==1&&!FirstLineHorizontal?0:parseInt(CSt.left),
  255. TTp=AcrssFrms&&P.Lvl==1&&FirstLineHorizontal?0:parseInt(CSt.top),CCW=parseInt(CCSt.width),CCH=parseInt(CCSt.height),
  256. TS=ExpYes?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset,
  257. LS=ExpYes?SCmplnt?ScHtml.scrollLeft:ScLoc.document.body.scrollLeft:ScLoc.pageXOffset,
  258. SLt=AcrssFrms&&P.Lvl==1?CCnt.OrgLeft+TLt+LS:CCnt.OrgLeft+TLt, STp=AcrssFrms&&P.Lvl==1? CCnt.OrgTop+TTp+TS:CCnt.OrgTop+TTp;
  259. if(!ShwFlg){ShwFlg=true;BeforeFirstOpen()}
  260. if(MenuWrap){
  261. 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}
  262. else{if(SLt+CCW>SWinW+LS)SLt=P.Lvl==1?SWinW+LS-CCW:SLt-(CCW+(1-2*ChildOverlap)*TWt);if(SLt<LS)SLt=LS}
  263. 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+0}
  264. 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}}
  265. CCSt.top=CCmSt.top=STp+P_X;CCSt.left=CCmSt.left=SLt+P_X;
  266. if(Exp6Plus&&MenuSlide){CCnt.filters[0].Apply();CCnt.filters[0].play()}
  267. CCSt.visibility=CCmSt.visibility=M_Show}
  268. function CloseMenu(){
  269. if(Ldd&&Crtd){
  270. status="";
  271. if(this==CurOvr){
  272. if(OpnTmr)clearTimeout(OpnTmr);if(CloseTmr)clearTimeout(CloseTmr);
  273. IniFlg=true;CloseTmr=setTimeout("Initiate(CurOvr)",DissapearDelay)}}}
  274. function CntnrSetUp(NoOff,WMu,Mc){
  275. var x=eval(WMu+"[10]")!=""?eval(WMu+"[10]"):BorderColor,TS=this.style;
  276. this.Lvl=RLvl;this.FrstMbr=null;this.NrItms=NoOff;this.Cllr=Mc;this.Shw=0;this.OrgLeft=this.OrgTop=0;
  277. if(x)TS.backgroundColor=x;
  278. TS.zIndex=RLvl+Ztop;if(ExpYes&&!MacExp5)this.mif.style.zIndex=TS.zIndex-1;
  279. if(Nav_Op&&!Opr7&&MenuOpacity)TS.MozOpacity=parseInt(MenuOpacity.substring(MenuOpacity.indexOf("=")+1,MenuOpacity.indexOf(")")))/105;
  280. if(Exp6Plus){FStr="";if(MenuSlide&&RLvl!=1)FStr=MenuSlide;if(MenuShadow)FStr+=MenuShadow;if(MenuOpacity)FStr+=MenuOpacity;if(FStr!="")TS.filter=FStr}
  281. if(ExpYes&&!MacExp5&&OverFormElements)this.mif.style.filter="Alpha(Opacity=0)"}
  282. function MbrSetUp(MbC,PrMmbr,WMu){
  283. var Lctn=RLvl==1?FLoc:ScLoc,t,a,ta2=this.Arr[2],Tfld=this.Arr[0];
  284. this.PrvMbr=PrMmbr;this.Lvl=RLvl;this.Ctnr=MbC;this.CCn=this.ai=null;this.Hilite=this.DoRmbr=this.Clckd=this.ro=this.rob=this.lx=this.tx=this.ltp=this.tpd=0;
  285. this.OM=OpenMenu;this.MN=WMu;this.style.overflow="hidden";
  286. this.style.cursor=(this.Arr[1]||(RLvl==1&&UnfoldsOnClick))?ExpYes?"hand":"pointer":"default";
  287. if(Tfld.indexOf("rollover")!=-1){
  288. this.ro=1;this.ri1=Tfld.substring(Tfld.indexOf("?")+1,Tfld.lastIndexOf("?"));this.ri2=Tfld.substring(Tfld.lastIndexOf("?")+1,Tfld.length);this.rid=WMu+"i";
  289. Tfld="<img src=""+this.ri1+"" name=""+this.rid+"">"}
  290. this.value=Tfld;
  291. if(!this.Arr[6])this.Arr[6]=LowBgColor;if(this.Arr[6]&&!this.ro)this.style.backgroundColor=this.Arr[6];
  292. if(!this.Arr[7])this.Arr[7]=HighBgColor;
  293. if(!this.Arr[8])this.Arr[8]=FontLowColor;this.style.color=this.Arr[8];
  294. if(!this.Arr[9])this.Arr[9]=FontHighColor;
  295. if(!this.Arr[11])this.Arr[11]=FontFamily;this.style.fontFamily=this.Arr[11];
  296. if(this.Arr[12]==-1)this.Arr[12]=FontSize;this.style.fontSize=this.Arr[12]*(NavYes?1:FntFc)+"px";
  297. if(this.Arr[13]==-1)this.Arr[13]=FontBold;this.style.fontWeight=this.Arr[13]?"bold":"normal";
  298. if(this.Arr[14]==-1)this.Arr[14]=FontItalic;this.style.fontStyle=this.Arr[14]?"italic":"normal";
  299. if(!this.Arr[15])this.Arr[15]=MenuTextCentered;this.style.textAlign=this.Arr[15];
  300. if(!this.Arr[16])this.Arr[16]=this.Arr[1];
  301. if(ta2){ if(ta2.indexOf("rollover")==-1)this.style.backgroundImage="url(""+ta2+"")";
  302. else{ this.rob=1;this.rib1=ta2.substring(ta2.indexOf("?")+1,ta2.lastIndexOf("?"));this.rib2=ta2.substring(ta2.lastIndexOf("?")+1,ta2.length);
  303. this.style.backgroundImage="url(""+this.rib1+"")";
  304. this.style.backgroundRepeat="no-repeat";
  305. this.style.backgroundPosition=BgImgLeftOffset+"px"}}
  306. if(Tfld.indexOf("<")==-1){t=Lctn.document.createTextNode(Tfld);this.appendChild(t)}
  307. else this.innerHTML=Tfld;
  308. if(this.Arr[3]){
  309. a=RLvl<=FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
  310. if(Arrws[a]){
  311. t=Lctn.document.createElement("img");this.appendChild(t);
  312. t.style.position="absolute";t.src=Arrws[a];t.style.width=Arrws[a+1]*FntFc+P_X;t.style.height=Arrws[a+2]*FntFc+P_X;this.ai=t}}
  313. if(ExpYes){this.onselectstart=CnclSlct;this.onmouseover=OpenMenu;this.onmouseout=CloseMenu;this.onclick=GoTo}
  314. else{this.addEventListener("mouseover",OpenMenu,false); this.addEventListener("mouseout",CloseMenu,false);
  315. this.addEventListener("click",GoTo,false)}}
  316. function CreateMenuStructure(MNm,No,Mcllr){
  317. RLvl++;
  318. var i,Mbr,PMb=null,WMnu=MNm+"1",MWd=eval(WMnu+"[5]")*FntFc,MHt=eval(WMnu+"[4]")*FntFc,
  319. Lctn=RLvl==1?FLoc:ScLoc,MbC=Lctn.document.createElement("div"),MIF=!ExpYes||MacExp5||!OverFormElements?MbC:Lctn.document.createElement("iframe");
  320. Lctn.document.body.appendChild(MbC);
  321. if(ExpYes&&!MacExp5&&OverFormElements){MIF.src="http://www.codeproject.com/script/HVMenu/blank.html";Lctn.document.body.appendChild(MIF)}
  322. MbC.style.position=MIF.style.position="absolute";
  323. MbC.style.visibility=MIF.style.visibility=M_Hide;
  324. MbC.mif=MIF;
  325. MbC.SetUp=CntnrSetUp;MbC.SetUp(No,MNm+"1",Mcllr);
  326. for(i=1;i<No+1;i++){
  327. WMnu=MNm+eval(i);
  328. Mbr=Lctn.document.createElement("div");Mbr.style.position="absolute";Mbr.style.visibility="inherit";MbC.appendChild(Mbr);
  329. Mbr.Arr=eval(WMnu);if(!Mbr.Arr[4])Mbr.Arr[4]=MHt;if(!Mbr.Arr[5])Mbr.Arr[5]=MWd;
  330. Mbr.SetUp=MbrSetUp;Mbr.SetUp(MbC,PMb,WMnu);
  331. if(Mbr.Arr[3]&&!BuildOnDemand){Mbr.CCn=CreateMenuStructure(WMnu+"_",Mbr.Arr[3],Mbr)}
  332. PMb=Mbr}
  333. MbC.FrstMbr=Mbr;
  334. RLvl--;return(MbC)}
  335. function CreateMenuStructureAgain(MNm,No){
  336. var Mbr=FrstCntnr.FrstMbr,i,WMnu;
  337. if(!BuildOnDemand) {RLvl++;for(i=No;i>0;i--){WMnu=MNm+eval(i);if(Mbr.Arr[3])Mbr.CCn=CreateMenuStructure(WMnu+"_",Mbr.Arr[3],Mbr);Mbr=Mbr.PrvMbr}RLvl--}
  338. else{while(Mbr){Mbr.CCn=null;Mbr=Mbr.PrvMbr}}}