473,721 Members | 1,818 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Top Drop Down Menu for IE that can overlay IE combo box and has fading effect

<<<start index.htm>>>

<html>
<head>
<script>
function perform(action) {
}
</script>

</head>
<body>

<script type='text/javascript'>

//HV Menu- by Ger Versluis (http://www.burmees.nl/)
//Submitted to Dynamic Drive (http://www.dynamicdrive.com)
//Visit http://www.dynamicdrive.com for this script and more

function Go(){return}

</script>

<script type='text/javascript' src='menu_var.j s'></script>
<script type='text/javascript' src='menu_com.j s'></script>
<noscript>You r browser does not support script</noscript>

<form>
<br><br>
<select>
<option>on me</option>
<option>on me</option>
<option>on me</option>
</select>
</form>
</body>
</html>

<<<end index.htm>>>

<<<start menu_var.js>>>
/*************** *************** *************** *************** *************** ********
* (c) Ger Versluis 2000 version 5.411 24 December 2001 (updated Jan
31st, 2003 by Dynamic Drive for Opera7)
* For info write to me***@burmees.n l *
* You may remove all comments for faster loading *
*************** *************** *************** *************** *************** ********/
var LowBgColor='0D4 A2B'; // Background color when mouse is not over
var LowSubBgColor=' 0D4A2B'; // Background color when mouse is not
over on subs
var HighBgColor='91 B8B3'; // Background color when mouse is over
var HighSubBgColor= '91B8B3'; // Background color when mouse is over
on subs
var FontLowColor='w hite'; // Font color when mouse is not over
var FontSubLowColor ='white'; // Font color subs when mouse is not
over
var FontHighColor=' 004D30'; // Font color when mouse is over
var FontSubHighColo r='004D30'; // Font color subs when mouse is
over
var BorderColor='wh ite'; // Border color
var BorderSubColor= 'white'; // Border color for subs
var BorderWidth=1; // Border width
var BorderBtwnElmnt s=1; // Border between elements 1 or 0
var FontFamily="Ver dana, Arial, Helvetica, sans-serif" // Font family
menu items
var FontSize=7; // Font size menu items
var FontBold=1; // Bold menu items 1 or 0
var FontItalic=0; // Italic menu items 1 or 0
var MenuTextCentere d='left'; // Item text position 'left', 'center'
or 'right'
var MenuCentered='l eft'; // Menu horizontal position 'left',
'center' or 'right'
var MenuVerticalCen tered='top'; // Menu vertical position 'top',
'middle','botto m' or static
var ChildOverlap=.2 ; // horizontal overlap child/ parent
var ChildVerticalOv erlap=.2; // vertical overlap child/ parent
var StartTop=10; // Menu offset x coordinate
var StartLeft=10; // Menu offset y coordinate
var VerCorrect=0; // Multiple frames y correction
var HorCorrect=0; // Multiple frames x correction
var LeftPaddng=3; // Left padding
var TopPaddng=2; // Top padding
var FirstLineHorizo ntal=1; // SET TO 1 FOR HORIZONTAL MENU, 0 FOR
VERTICAL
var MenuFramesVerti cal=1; // Frames in cols or rows 1 or 0
var DissapearDelay= 1000; // delay before menu folds in
var TakeOverBgColor =1; // Menu frame takes over background color
subitem frame
var FirstLineFrame= 'navig'; // Frame where first level appears
var SecLineFrame='s pace'; // Frame where sub levels appear
var DocTargetFrame= 'space'; // Frame where target documents appear
var TargetLoc=''; // span id for relative positioning
var HideTop=0; // Hide first level when loading new document 1 or
0
var MenuWrap=1; // enables/ disables menu wrap 1 or 0
var RightToLeft=0; // enables/ disables right to left unfold 1 or
0
var UnfoldsOnClick= 0; // Level 1 unfolds onclick/ onmouseover
var WebMasterCheck= 0; // menu tree checking on or off 1 or 0
var ShowArrow=0; // Uses arrow gifs when 1
var KeepHilite=0; // Keep selected path highligthed
var Arrws=['tri.gif',5,10, 'tridown.gif',1 0,5,'trileft.gi f',5,10]; //
Arrow source, width and height

function BeforeStart(){r eturn}
function AfterBuild(){re turn}
function BeforeFirstOpen (){return}
function AfterCloseAll() {return}
var NoOffFirstLineM enus=5;
//you may use image rollover
//Menu1=new Array("rollover :images/en/navbar/nav_yp_off.gif: images/en/navbar/nav_yp_over.gif ","#","",3,21,8 5,true);
Menu1=new Array("MY PROFILE","#","" ,3,21,85,true);
Menu1_1=new Array("Personal
Details","javas cript:perform(' menu_personal_d etails')","",0, 18,150,true);
Menu1_2=new Array("Producti on
Summary","javas cript:perform(' menu_production _summary')","", 0,18,150,true);
Menu1_3=new Array("Conserva tion
Details","javas cript:perform(' menu_conservati on_details')"," ",0,18,150,true );
Menu2=new Array("CUSTOMER ","#","",3,21,8 5,true);
Menu2_1=new Array("Search", "javascript:per form('menu_sear ch')","",0,18,1 50,true);
Menu2_2=new Array("Last Search
Results","javas cript:perform(' menu_last_searc h_result')","", 0,18,150,true);
Menu2_3=new Array("New
Business","java script:perform( 'menu_new_busin ess')","",0,18, 150,true);
Menu3=new Array("REPORTS" ,"#","",2,21,85 ,true);
Menu3_1=new Array("Create
Report","javasc ript:perform('m enu_create_repo rt')","",0,18,1 50,true);
Menu3_2=new Array("Inbox"," javascript:perf orm('menu_repor t_inbox')","",0 ,18,150,true);
Menu4=new Array("RESOURCE S","#","",11,21 ,85,true);
Menu4_1=new Array("Bulletin ","javascript:p erform('menu_bu lletin')","",0, 18,150,true);
Menu4_2=new Array("To The
Top","javascrip t:perform('menu _to_the_top')", "",0,18,150,tru e);
Menu4_3=new Array("Product
List","javascri pt:perform('men u_product_lists ')","",0,18,150 ,true);
Menu4_4=new Array("Club
Pinnacle","java script:perform( 'menu_club_pinn acle')","",0,18 ,150,true);
Menu4_5=new Array("Hot
Links","javascr ipt:perform('me nu_hot_links')" ,"",0,18,150,tr ue);
Menu4_6=new Array("IT Info
Centre","javasc ript:perform('m enu_it_info_cen tre')","",0,18, 150,true);
Menu4_7=new Array("Unit
Price","javascr ipt:perform('me nu_unit_price') ","",0,18,150,t rue);
Menu4_8=new Array("Rate
Manual","javasc ript:perform('m enu_rate_manual ')","",0,18,150 ,true);
Menu4_9=new Array("Software ","javascript:p erform('menu_so ftware')","",0, 18,150,true);
Menu4_10=new Array("Security ","javascript:p erform('menu_se curity')","",0, 18,150,true);
Menu4_11=new Array("About
Us","javascript :perform('menu_ about_us')","", 0,18,150,true);
Menu5=new Array("SERVICES ","#","",3,21,8 5,true);
Menu5_1=new Array("Change User
ID","javascript :perform('menu_ change_user_id' )","",0,18,150, true);
Menu5_2=new Array("Change
Password","java script:perform( 'menu_change_pa ssword')","",0, 18,150,true);
Menu5_3=new Array("Change
Advisor","javas cript:perform(' menu_change_adv isor')","",0,18 ,150,true);

<<<end menu_var.js>>>
<<<start menu_com.js>>>
/*************** *************** *************** *************** *************** *********
(c) Ger Versluis 2000 version 5.5 24 December 2001 (updated Jan 31st,
2003 by Dynamic Drive for Opera7)
Updated 19 July, 2003 by GV for CSS CompatMode
HV Menu found on Dynamic Drive ONLY may be used on both commercial
and non commerical sites
For info write to me***@burmees.n l
This script featured on Dynamic Drive DHTML code library:
http://www.dynamicdrive.com

modified by cheng yuk pong on 18 July 2004
(ch**********@y ahoo.com.hk) and added
ability to disable a menu item,
overlay drop down box in IE (but lost the ability to build
multilevel menu) , and
eye catching fading effect!!

please sent me a thank you email if you found this menu useful.
*************** *************** *************** *************** *************** **********/
var AgntUsr=navigat or.userAgent.to LowerCase();
var AppVer=navigato r.appVersion.to LowerCase();
var DomYes=document .getElementById ?1:0;
var NavYes=AgntUsr. indexOf('mozill a')!=-1&&AgntUsr.inde xOf('compatible ')==-1?1:0;
var ExpYes=AgntUsr. indexOf('msie') !=-1?1:0;
var Opr=AgntUsr.ind exOf('opera')!=-1?1:0;
var Opr6orless=wind ow.opera &&
navigator.userA gent.search(/opera.[1-6]/i)!=-1 //DynamicDrive.co m
added code
if(Opr){NavYes= 1;ExpYes=0;}
var DomNav=DomYes&& NavYes?1:0;
var DomExp=DomYes&& ExpYes?1:0;
var Nav4=NavYes&&!D omYes&&document .layers?1:0;
var Exp4=ExpYes&&!D omYes&&document .all?1:0;
var Exp55Plus=(AppV er.indexOf("msi e 5.5")!= -1||AppVer.index Of("msie
6")!= -1||AppVer.index Of("msie 7")!= -1)?1:0
var Exp6Plus=(AppVe r.indexOf("msie 6")!= -1||AppVer.index Of("msie
7")!= -1)?1:0
var PosStrt=(NavYes ||ExpYes||Opr)& &!Opr6orless?1: 0;
var P_X=DomYes?"px" :"",FHtml=null, ScHtml=null,FCm plnt=0,SCmplnt= 0;
var FrstLoc,ScLoc,D cLoc;
var ScWinWdth,ScWin Hght,FrstWinWdt h,FrstWinHght;
var ScLdAgainWin;
var FirstColPos,Sec ColPos,DocColPo s;
var RcrsLvl=0;
var FrstCreat=1,Loa dd=0,Creatd=0,I niFlg,AcrssFrms =1;
var FrstCntnr=null, CurrntOvr=null, CloseTmr=null;
var CntrTxt,TxtClos e,ImgStr;
var Ztop=100;
var ShwFlg=0;
var M_StrtTp=StartT op,M_StrtLft=St artLeft;
var StaticPos=0;
var M_Hide=Nav4?'hi de':'hidden';
var M_Show=Nav4?'sh ow':'visible';
var Par=parent.fram es[0]&&FirstLineFram e!=SecLineFrame ?parent:window;
var Doc=Par.documen t;
var Bod=Doc.body;
var Trigger=NavYes& &!Opr?Par:Bo d;

MenuTextCentere d=MenuTextCente red==1||MenuTex tCentered=='cen ter'?'center':M enuTextCentered ==0||MenuTextCe ntered!='right' ?'left':'right' ;
WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs
width: "];

if(Trigger.onlo ad)Dummy=Trigge r.onload;
Trigger.onload= Go;

function Dummy(){return}

function CnclSlct(){retu rn false}

function RePos(){
FrstWinWdth=Exp Yes?FCmplnt?FHt ml.clientWidth: FrstLoc.documen t.body.clientWi dth:FrstLoc.inn erWidth;
FrstWinHght=Exp Yes?FCmplnt?FHt ml.clientHeight :FrstLoc.docume nt.body.clientH eight:FrstLoc.i nnerHeight;
ScWinWdth=ExpYe s?SCmplnt?ScHtm l.clientWidth:S cLoc.document.b ody.clientWidth :ScLoc.innerWid th;
ScWinHght=ExpYe s?SCmplnt?ScHtm l.clientHeight: ScLoc.document. body.clientHeig ht:ScLoc.innerH eight;
if(MenuCentered =='justify'&&Fi rstLineHorizont al){
FrstCntnr.style .width=FrstWinW dth+P_X;
var LftXtra=(DomNav &&!Opr)||FCmpln t?LeftPaddng:0;
ClcJus();
var P=FrstCntnr.Frs tMbr,W=Menu1[5],i;
for(i=0;i<NoOff FirstLineMenus; i++){P.style.wi dth=W+P_X;P=P.P rvMbr}}
StaticPos=-1;
if(TargetLoc)Cl cTrgt();
if(MenuCentered )ClcLft();
if(MenuVertical Centered)ClcTp( );
PosMenu(FrstCnt nr,StartTop,Sta rtLeft)}

function UnLoaded(){
if(CloseTmr)cle arTimeout(Close Tmr);
Loadd=0; Creatd=0;
if(HideTop){
var FCStyle=Nav4?Fr stCntnr:FrstCnt nr.style;
FCStyle.visibil ity=M_Hide}}

function ReDoWhole(){
if(ScWinWdth!=S cLoc.innerWidth ||ScWinHght!=Sc Loc.innerHeight ||FrstWinWdth!= FrstLoc.innerWi dth||FrstWinHgh t!=FrstLoc.inne rHeight)Doc.loc ation.reload()}

function Check(WMnu,NoOf ){
var i,array,ArrayLo c;
ArrayLoc=parent .frames[0]?parent.frames[FirstLineFrame]:self;
for(i=0;i<NoOf; i++){
array=WMnu+eval (i+1);
if(!ArrayLoc[array]){WbMstrAlrt(0, array); return false}
if(i==0){ if(!ArrayLoc[array][4]){WbMstrAlrt(1, array); return false}
if(!ArrayLoc[array][5]){WbMstrAlrt(2, array); return false}}
if(ArrayLoc[array][3])if(!Check(arra y+'_',ArrayLoc[array][3]))
return false}
return true}

function WbMstrAlrt(No,X tra){
return confirm(WbMstrA lrts[No]+Xtra+' ')}

function Go(){
Dummy();
if(Loadd||!PosS trt)return;
BeforeStart();
Creatd=0; Loadd=1;
status='Buildin g menu';
if(FirstLineFra me =="" || !parent.frames[FirstLineFrame]){
FirstLineFrame= SecLineFrame;
if(FirstLineFra me =="" || !parent.frames[FirstLineFrame]){
FirstLineFrame= SecLineFrame=Do cTargetFrame;
if(FirstLineFra me =="" ||
!parent.frames[FirstLineFrame])FirstLineFrame =SecLineFrame=D ocTargetFrame=' '}}
if(SecLineFrame =="" || !parent.frames[SecLineFrame]){
SecLineFrame=Do cTargetFrame;
if(SecLineFrame =="" ||
!parent.frames[SecLineFrame])SecLineFrame=D ocTargetFrame=F irstLineFrame}
if(DocTargetFra me =="" ||
!parent.frames[DocTargetFrame])DocTargetFrame =SecLineFrame;
if(WebMasterChe ck){ if(!Check('Menu ',NoOffFirstLin eMenus)){status ='build
aborted';return }}
FrstLoc=FirstLi neFrame!=""?par ent.frames[FirstLineFrame]:window;
ScLoc=SecLineFr ame!=""?parent. frames[SecLineFrame]:window;
DcLoc=DocTarget Frame!=""?paren t.frames[DocTargetFrame]:window;
if (FrstLoc==ScLoc ) AcrssFrms=0;
if (AcrssFrms)Firs tLineHorizontal =MenuFramesVert ical?0:1;
if(Exp6Plus||Op r){
FHtml=FrstLoc.d ocument.getElem entsByTagName(" HTML")[0];ScHtml=ScLoc.d ocument.getElem entsByTagName(" HTML")[0];
FCmplnt=FrstLoc .document.compa tMode.indexOf(" CSS")==-1?0:1;SCmplnt=S cLoc.document.c ompatMode.index Of("CSS")==-1?0:1}
FrstWinWdth=Exp Yes?FCmplnt?FHt ml.clientWidth: FrstLoc.documen t.body.clientWi dth:FrstLoc.inn erWidth;
FrstWinHght=Exp Yes?FCmplnt?FHt ml.clientHeight :FrstLoc.docume nt.body.clientH eight:FrstLoc.i nnerHeight;
ScWinWdth=ExpYe s?SCmplnt?ScHtm l.clientWidth:S cLoc.document.b ody.clientWidth :ScLoc.innerWid th;
ScWinHght=ExpYe s?SCmplnt?ScHtm l.clientHeight: ScLoc.document. body.clientHeig ht:ScLoc.innerH eight;
if(Nav4){ CntrTxt=MenuTex tCentered!='lef t'?"<div
align='"+MenuTe xtCentered+"'>" :"";
TxtClose="</font>"+MenuText Centered!='left '?"</div>":""}
FirstColPos=Nav 4?FrstLoc.docum ent:FrstLoc.doc ument.body;
SecColPos=Nav4? ScLoc.document: ScLoc.document. body;
DocColPos=Nav4? DcLoc.document: ScLoc.document. body;
if (TakeOverBgColo r)FirstColPos.b gColor=AcrssFrm s?SecColPos.bgC olor:DocColPos. bgColor;
if(MenuCentered =='justify'&&Fi rstLineHorizont al)ClcJus();
if(FrstCreat){
FrstCntnr=Creat eMenuStructure( 'Menu',NoOffFir stLineMenus);
FrstCreat=Acrss Frms?0:1}
else CreateMenuStruc tureAgain('Menu ',NoOffFirstLin eMenus);
if(TargetLoc)Cl cTrgt();
if(MenuCentered )ClcLft();
if(MenuVertical Centered)ClcTp( );
PosMenu(FrstCnt nr,StartTop,Sta rtLeft);
IniFlg=1;
Initiate();
Creatd=1;
if (AcrssFrms){
ScLdAgainWin=Ex pYes?ScLoc.docu ment.body:ScLoc ;
ScLdAgainWin.on unload=UnLoaded }
Trigger.onresiz e=Nav4?ReDoWhol e:RePos;
AfterBuild();
if(MenuVertical Centered=='stat ic'&&!AcrssFrms )setInterval('K eepPos()',250);
status=''}

function KeepPos(){
var TS=ExpYes?SCmpl nt?ScHtml.scrol lTop:FrstLoc.do cument.body.scr ollTop:FrstLoc. pageYOffset;
if(TS!=StaticPo s){
var FCStyle=Nav4?Fr stCntnr:FrstCnt nr.style;
FrstCntnr.OrgTo p=StartTop+TS;S taticPos=TS;
FCStyle.top=Frs tCntnr.OrgTop+P _X}}

function ClcJus(){
var a=BorderBtwnElm nts?1:2,b=Borde rBtwnElmnts?Bor derWidth:0;
var Size=Math.round (((FrstWinWdth-a*BorderWidth)/NoOffFirstLineM enus)-b),i,j;
for(i=1;i<NoOff FirstLineMenus+ 1;i++){j=eval(' Menu'+i);j[5]=Size}
StartLeft=0}

function ClcTrgt(){
var TLoc=Nav4?FrstL oc.document.lay ers[TargetLoc]:DomYes?FrstLoc .document.getEl ementById(Targe tLoc):FrstLoc.d ocument.all[TargetLoc];
StartTop=M_Strt Tp;
StartLeft=M_Str tLft;
if(DomYes){
while(TLoc){Sta rtTop+=TLoc.off setTop;StartLef t+=TLoc.offsetL eft;TLoc=TLoc.o ffsetParent}}
else{ StartTop+=Nav4? TLoc.pageY:TLoc .offsetTop;Star tLeft+=Nav4?TLo c.pageX:TLoc.of fsetLeft}}

function ClcLft(){
if(MenuCentered !='left'&&MenuC entered!='justi fy'){
var Size=FrstWinWdt h-(!Nav4?parseInt (FrstCntnr.styl e.width):FrstCn tnr.clip.width) ;
StartLeft=M_Str tLft;
StartLeft+=Menu Centered=='righ t'?Size:Size/2}}

function ClcTp(){
if(MenuVertical Centered!='top' &&MenuVerticalC entered!='stati c'){
var Size=FrstWinHgh t-(!Nav4?parseInt (FrstCntnr.styl e.height):FrstC ntnr.clip.heigh t);
StartTop=M_Strt Tp;
StartTop+=MenuV erticalCentered =='bottom'?Size :Size/2}}

function PosMenu(CntnrPn tr,Tp,Lt){
RcrsLvl++;
var Cmplnt=RcrsLvl= =1?FCmplnt:SCmp lnt;
var LftXtra=(DomNav &&!Opr)||Cmplnt ?LeftPaddng:0;
var TpXtra=(DomNav& &!Opr)||Cmplnt? TopPaddng:0;
var Topi,Lefti,Hori ;
var Cntnr=CntnrPntr ;
var Mmbr=Cntnr.Frst Mbr;
var CntnrStyle=!Nav 4?Cntnr.style:C ntnr;
var MmbrStyle=!Nav4 ?Mmbr.style:Mmb r;
var PadL=Mmbr.value .indexOf('<')==-1?LftXtra:0;
var PadT=Mmbr.value .indexOf('<')==-1?TpXtra:0;
var MmbrWt=!Nav4?pa rseInt(MmbrStyl e.width)+PadL:M mbrStyle.clip.w idth;
var MmbrHt=!Nav4?pa rseInt(MmbrStyl e.height)+PadT: MmbrStyle.clip. height;
var CntnrWt=!Nav4?p arseInt(CntnrSt yle.width):Cntn rStyle.clip.wid th;
var CntnrHt=!Nav4?p arseInt(CntnrSt yle.height):Cnt nrStyle.clip.he ight;
var SubTp,SubLt;
if (RcrsLvl==1 && AcrssFrms)!Menu FramesVertical? Tp=FrstWinHght-CntnrHt+(Nav4?4 :0):Lt=RightToL eft?0:FrstWinWd th-CntnrWt+(Nav4?4 :0);
if (RcrsLvl==2 && AcrssFrms)!Menu FramesVertical? Tp=0:Lt=RightTo Left?ScWinWdth-CntnrWt:0;
if (RcrsLvl==2 && AcrssFrms){Tp+= VerCorrect;Lt+= HorCorrect}
CntnrStyle.top= RcrsLvl==1?Tp+P _X:0;
Cntnr.OrgTop=Tp ;
CntnrStyle.left =RcrsLvl==1?Lt+ P_X:0;
Cntnr.OrgLeft=L t;
if (RcrsLvl==1 && FirstLineHorizo ntal){
Hori=1;Lefti=Cn tnrWt-MmbrWt-2*BorderWidth;T opi=0}
else{ Hori=Lefti=0;To pi=CntnrHt-MmbrHt-2*BorderWidth}
while(Mmbr!=nul l){
MmbrStyle.left= Lefti+BorderWid th+P_X;
MmbrStyle.top=T opi+BorderWidth +P_X;
if(Nav4)Mmbr.Cm dLyr.moveTo(Lef ti+BorderWidth, Topi+BorderWidt h);
if(Mmbr.ChildCn tnr){
if(RightToLeft) ChldCntnrWdth=N av4?Mmbr.ChildC ntnr.clip.width :parseInt(Mmbr. ChildCntnr.styl e.width);
if(Hori){ SubTp=Topi+Mmbr Ht+2*BorderWidt h;
SubLt=RightToLe ft?Lefti+MmbrWt-ChldCntnrWdth:L efti}
else{ SubLt=RightToLe ft?Lefti-ChldCntnrWdth+C hildOverlap*Mmb rWt+BorderWidth :Lefti+(1-ChildOverlap)*M mbrWt+BorderWid th;
SubTp=RcrsLvl== 1&&AcrssFrms?To pi:Topi+ChildVe rticalOverlap*M mbrHt}
PosMenu(Mmbr.Ch ildCntnr,SubTp, SubLt)}
Mmbr=Mmbr.PrvMb r;
if(Mmbr){ MmbrStyle=!Nav4 ?Mmbr.style:Mmb r;
PadL=Mmbr.value .indexOf('<')==-1?LftXtra:0;
PadT=Mmbr.value .indexOf('<')==-1?TpXtra:0;
MmbrWt=!Nav4?pa rseInt(MmbrStyl e.width)+PadL:M mbrStyle.clip.w idth;
MmbrHt=!Nav4?pa rseInt(MmbrStyl e.height)+PadT: MmbrStyle.clip. height;
Hori?Lefti-=BorderBtwnElmn ts?(MmbrWt+Bord erWidth):(MmbrW t):Topi-=BorderBtwnElmn ts?(MmbrHt+Bord erWidth):(MmbrH t)}}
RcrsLvl--}

function Initiate(){
if(IniFlg){ Init(FrstCntnr) ;IniFlg=0;
if(ShwFlg)After CloseAll();ShwF lg=0}}

function Init(CntnrPntr) {
var Mmbr=CntnrPntr. FrstMbr;
var MCStyle=Nav4?Cn tnrPntr:CntnrPn tr.style;
RcrsLvl++;
MCStyle.visibil ity=RcrsLvl==1? M_Show:M_Hide;
while(Mmbr!=nul l){
if(Mmbr.Hilite) {Mmbr.Hilite=0; if(KeepHilite)L owItem(Mmbr)}
if(Mmbr.ChildCn tnr) Init(Mmbr.Child Cntnr);
Mmbr=Mmbr.PrvMb r}
RcrsLvl--}

function ClearAllChilds( Pntr){
var CPCCStyle;
while (Pntr){
if(Pntr.Hilite) {
Pntr.Hilite=0;
if(KeepHilite)L owItem(Pntr);
if(Pntr.ChildCn tnr){
CPCCStyle=Nav4? Pntr.ChildCntnr :Pntr.ChildCntn r.style;
CPCCStyle.visib ility=M_Hide;
ClearAllChilds( Pntr.ChildCntnr .FrstMbr)}
break}
Pntr=Pntr.PrvMb r}}

function GoTo(){
if(this.LinkTxt ){
status='';
var HP=Nav4?this.Lo wLyr:this;
LowItem(HP);
this.LinkTxt.in dexOf('javascri pt:')!=-1?eval(this.Lin kTxt):DcLoc.loc ation.href=this .LinkTxt}}

function HiliteItem(P){
if(Nav4){
if(P.ro)P.docum ent.images[P.rid].src=P.ri2;
else{ if(P.HiBck)P.bg Color=P.HiBck;
if(P.value.inde xOf('<img')==-1){
P.document.writ e(P.Ovalue);
P.document.clos e()}}}
else{ if(P.ro){ var Lc=P.Level==1?F rstLoc:ScLoc;
Lc.document.ima ges[P.rid].src=P.ri2}
else{ if(P.HiBck)P.st yle.backgroundC olor=P.HiBck;
if(P.HiFntClr)P .style.color=P. HiFntClr}}
P.Hilite=1}

function LowItem(P){
if(P.ro){ if(Nav4)P.docum ent.images[P.rid].src=P.ri1;
else{ var Lc=P.Level==1?F rstLoc:ScLoc;
Lc.document.ima ges[P.rid].src=P.ri1}}
else{ if(Nav4){ if(P.LoBck)P.bg Color=P.LoBck;
if(P.value.inde xOf('<img')==-1){
P.document.writ e(P.value);
P.document.clos e()}}
else{ if(P.LoBck)P.st yle.backgroundC olor=P.LoBck;
if(P.LwFntClr)P .style.color=P. LwFntClr}}}

function OpenMenu(){
if(!Loadd||!Cre atd) return;
var TpScrlld=ExpYes ?SCmplnt?ScHtml .scrollTop:ScLo c.document.body .scrollTop:ScLo c.pageYOffset;
var LScrlld=ExpYes? SCmplnt?ScHtml. scrollLeft:ScLo c.document.body .scrollLeft:ScL oc.pageXOffset;
var CCnt=Nav4?this. LowLyr.ChildCnt nr:this.ChildCn tnr;
var ThisHt=Nav4?thi s.clip.height:p arseInt(this.st yle.height);
var ThisWt=Nav4?thi s.clip.width:pa rseInt(this.sty le.width);
var ThisLft=AcrssFr ms&&this.Level= =1&&!FirstLineH orizontal?0:Nav 4?this.Containe r.left:parseInt (this.Container .style.left);
var ThisTp=AcrssFrm s&&this.Level== 1&&FirstLineHor izontal?0:Nav4? this.Container. top:parseInt(th is.Container.st yle.top);
var HP=Nav4?this.Lo wLyr:this;
CurrntOvr=this;
IniFlg=0;
ClearAllChilds( this.Container. FrstMbr);
HiliteItem(HP);
if(CCnt!=null){
if(!ShwFlg){Shw Flg=1; BeforeFirstOpen ()}
var CCW=Nav4?this.L owLyr.ChildCntn r.clip.width:pa rseInt(this.Chi ldCntnr.style.w idth);
var CCH=Nav4?this.L owLyr.ChildCntn r.clip.height:p arseInt(this.Ch ildCntnr.style. height);
var ChCntTL=Nav4?th is.LowLyr.Child Cntnr:this.Chil dCntnr.style;
var SubLt=AcrssFrms &&this.Level==1 ?CCnt.OrgLeft+T hisLft+LScrlld: CCnt.OrgLeft+Th isLft;
var SubTp=AcrssFrms &&this.Level==1 ?CCnt.OrgTop+Th isTp+TpScrlld:C Cnt.OrgTop+This Tp;
if(MenuWrap){
if(RightToLeft) {
if(SubLt<LScrll d)SubLt=this.Le vel==1?LScrlld: SubLt+(CCW+(1-2*ChildOverlap) *ThisWt);
if(SubLt+CCW>Sc WinWdth+LScrlld )SubLt=ScWinWdt h+LScrlld-CCW}
else{ if(SubLt+CCW>Sc WinWdth+LScrlld )SubLt=this.Lev el==1?ScWinWdth +LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap) *ThisWt);
if(SubLt<LScrll d)SubLt=LScrlld }
if(SubTp+CCH>Tp Scrlld+ScWinHgh t)SubTp=this.Le vel==1?SubTp=Tp Scrlld+ScWinHgh t-CCH:SubTp-CCH+(1-2*ChildVertical Overlap)*ThisHt ;
if(SubTp<TpScrl ld)SubTp=TpScrl ld}
ChCntTL.top=Sub Tp+P_X;ChCntTL. left=SubLt+P_X;
if(Exp55Plus)
ShowMenu(this);
else{
ChCntTL.visibil ity=M_Show
}
}
status=this.Lin kTxt
}

function OpenMenuClick() {
if(!Loadd||!Cre atd) return;
var HP=Nav4?this.Lo wLyr:this;
CurrntOvr=this;
IniFlg=0;
ClearAllChilds( this.Container. FrstMbr);
HiliteItem(HP);
status=this.Lin kTxt}

function CloseMenu(){
if(!Loadd||!Cre atd) return;
if(!KeepHilite) {
var HP=Nav4?this.Lo wLyr:this;
LowItem(HP)}
status='';
if(this==Currnt Ovr){
IniFlg=1;
if(CloseTmr)cle arTimeout(Close Tmr);
CloseTmr=setTim eout('Initiate( CurrntOvr)',Dis sapearDelay)}}

function CntnrSetUp(Wdth ,Hght,NoOff,Ena ble){
//alert("CntnrSet Up: width="+Wdth+" Hght="+Hght+"
NoOff="+NoOff+" Enable="+Enable );
var x=RcrsLvl==1?Bo rderColor:Borde rSubColor;
this.FrstMbr=nu ll;
this.OrgLeft=th is.OrgTop=0;
if(x)this.bgCol or=x;
if(Nav4){ this.visibility ='hide';
this.resizeTo(W dth,Hght)}
else{ if(x)this.style .backgroundColo r=x;
this.style.widt h=Wdth+P_X;
this.style.heig ht=Hght+P_X;
this.style.font Family=FontFami ly;
this.style.font Weight=FontBold ?'bold':'normal ';
this.style.font Style=FontItali c?'italic':'nor mal';
this.style.font Size=FontSize+' pt';
this.style.zInd ex=RcrsLvl+Ztop }}

function MbrSetUp(MmbrCn tnr,PrMmbr,What Menu,Wdth,Hght) {

//alert(enable);
//alert("MmbrCntn r: \n WhatMenu="+eval (WhatMenu+'[0]')+"\n
Enable="+eval(W hatMenu+'[6]'));

var Location=RcrsLv l==1?FrstLoc:Sc Loc;
var MemVal=eval(Wha tMenu+'[0]');
var t,T,L,W,H,S;
var a,b,c,d;
var Cmplnt=RcrsLvl= =1?FCmplnt:SCmp lnt;
var LftXtra=(DomNav &&!Opr)||Cmplnt ?LeftPaddng:0;
var TpXtra=(DomNav& &!Opr)||Cmplnt? TopPaddng:0;
var Enable=eval(Wha tMenu+'[6]');
var bf=eval(WhatMen u+'[3]');
this.PrvMbr=PrM mbr;
this.Level=Rcrs Lvl;
this.LinkTxt=En able?eval(WhatM enu+'[1]'):"";
this.Container= MmbrCntnr;
this.ChildCntnr =null;
this.Hilite=0;

this.style.over flow='hidden';
this.style.curs or=ExpYes&&(thi s.LinkTxt||(Rcr sLvl==1&&Unfold sOnClick))?'han d':'default';
this.ro=0;
if(MemVal.index Of('rollover')! =-1){
this.ro=1;
this.ri1=MemVal .substring(MemV al.indexOf(':') +1,MemVal.lastI ndexOf(':'));
this.ri2=Enable ?MemVal.substri ng(MemVal.lastI ndexOf(':')+1,M emVal.length):t his.ri1;
this.rid=WhatMe nu+'i';
MemVal="<img src=\""+this.ri 1+"\" name=\""+this.r id+"\"
width=\""+Wdth+ "\" height=\""+Hght +"\">"}
this.value=MemV al;
if(RcrsLvl==1){
a=LowBgColor;
b=Enable?HighBg Color:a;
c=FontLowColor;
d=Enable?FontHi ghColor:c}
else{ a=LowSubBgColor ;
b=Enable?HighSu bBgColor:a;
c=FontSubLowCol or;
d=Enable?FontSu bHighColor:c}
this.LoBck=a;
this.LwFntClr=c ;
this.HiBck=b;
this.HiFntClr=d ;
this.style.colo r=this.LwFntClr ;
if(this.LoBck)t his.style.backg roundColor=this .LoBck;
this.style.text Align=MenuTextC entered;
if(eval(WhatMen u+'[2]'))this.style.b ackgroundImage= "url(\'"+eval(W hatMenu+'[2]')+"\')";
if(MemVal.index Of('<')==-1){
this.style.widt h=Wdth-LftXtra+P_X;
this.style.heig ht=Hght-TpXtra+P_X;
this.style.padd ingLeft=LeftPad dng+P_X;
this.style.padd ingTop=TopPaddn g+P_X}
else{ this.style.widt h=Wdth+P_X;
this.style.heig ht=Hght+P_X}
if(MemVal.index Of('<')==-1&&DomYes){
t=Location.docu ment.createText Node(MemVal);
this.appendChil d(t)}
else this.innerHTML= MemVal;
if(eval(WhatMen u+'[3]')&&ShowArrow) {
a=RcrsLvl==1&&F irstLineHorizon tal?3:RightToLe ft?6:0;
S=Arrws[a];
W=Arrws[a+1];
H=Arrws[a+2];
T=RcrsLvl==1&&F irstLineHorizon tal?Hght-H-2:(Hght-H)/2;
L=RightToLeft?2 :Wdth-W-2;
if(DomYes){

t=Location.docu ment.createElem ent('img');
this.appendChil d(t);
t.style.positio n='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}
else{ MemVal+="<div style='position :absolute; top:"+T+"; left:"+L+";
width:"+W+"; height:"+H+";vi sibility:inheri t'><img
src='"+S+"'></div>";
this.innerHTML= MemVal}}
if(ExpYes){this .onselectstart= CnclSlct;
this.onmouseove r=RcrsLvl==1&&U nfoldsOnClick?O penMenuClick:Op enMenu;
this.onmouseout =CloseMenu;
this.onclick=Rc rsLvl==1&&Unfol dsOnClick&&eval (WhatMenu+'[3]')?OpenMenu:GoT o }
else{ RcrsLvl==1&&Unf oldsOnClick?thi s.addEventListe ner('mouseover' ,OpenMenuClick, false):this.add EventListener(' mouseover',Open Menu,false);
this.addEventLi stener('mouseou t',CloseMenu,fa lse);
RcrsLvl==1&&Unf oldsOnClick&&ev al(WhatMenu+'[3]')?this.addEven tListener('clic k',OpenMenu,fal se):this.addEve ntListener('cli ck',GoTo,false) }}

function NavMbrSetUp(Mmb rCntnr,PrMmbr,W hatMenu,Wdth,Hg ht){
var a,b,c,d;
if(RcrsLvl==1){
a=LowBgColor;
b=HighBgColor;
c=FontLowColor;
d=FontHighColor }
else { a=LowSubBgColor ;
b=HighSubBgColo r;
c=FontSubLowCol or;
d=FontSubHighCo lor }
this.value=eval (WhatMenu+'[0]');
this.ro=0;
if(this.value.i ndexOf('rollove r')!=-1){
this.ro=1;
this.ri1=this.v alue.substring( this.value.inde xOf(':')+1,this .value.lastInde xOf(':'));
this.ri2=this.v alue.substring( this.value.last IndexOf(':')+1, this.value.leng th);
this.rid=WhatMe nu+'i';this.val ue="<img src='"+this.ri1 +"'
name='"+this.ri d+"'>"}
if(LeftPaddng&& this.value.inde xOf('<')==-1&&MenuTextCent ered=='left')th is.value='&nbsp \;'+this.value;
if(FontBold)thi s.value=this.va lue.bold();
if(FontItalic)t his.value=this. value.italics() ;
this.Ovalue=thi s.value;
this.value=this .value.fontcolo r(c);
this.Ovalue=thi s.Ovalue.fontco lor(d);
this.value=Cntr Txt+"<font face='"+FontFam ily+"'
point-size='"+FontSiz e+"'>"+this.val ue+TxtClose;
this.Ovalue=Cnt rTxt+"<font face='"+FontFam ily+"'
point-size='"+FontSiz e+"'>"+this.Ova lue+TxtClose;
this.LoBck=a;
this.HiBck=b;
this.ChildCntnr =null;
this.PrvMbr=PrM mbr;
this.Hilite=0;
this.visibility ='inherit';
if(this.LoBck)t his.bgColor=thi s.LoBck;
this.resizeTo(W dth,Hght);
if(!AcrssFrms&& eval(WhatMenu+'[2]'))this.backgro und.src=eval(Wh atMenu+'[2]');
this.document.w rite(this.value );
this.document.c lose();
this.CmdLyr=new Layer(Wdth,Mmbr Cntnr);
this.CmdLyr.Lev el=RcrsLvl;
this.CmdLyr.Lin kTxt=eval(WhatM enu+'[1]');
this.CmdLyr.vis ibility='inheri t';
this.CmdLyr.onm ouseover=RcrsLv l==1&&UnfoldsOn Click?OpenMenuC lick:OpenMenu;
this.CmdLyr.onm ouseout=CloseMe nu;
this.CmdLyr.cap tureEvents(Even t.MOUSEUP);
this.CmdLyr.onm ouseup=RcrsLvl= =1&&UnfoldsOnCl ick&&eval(WhatM enu+'[3]')?OpenMenu:GoT o;
this.CmdLyr.Low Lyr=this;
this.CmdLyr.res izeTo(Wdth,Hght );
this.CmdLyr.Con tainer=MmbrCntn r;
if(eval(WhatMen u+'[3]')&&ShowArrow) {
a=RcrsLvl==1&&F irstLineHorizon tal?3:RightToLe ft?6:0;
this.CmdLyr.Img Lyr=new Layer(Arrws[a+1],this.CmdLyr);
this.CmdLyr.Img Lyr.visibility= 'inherit';
this.CmdLyr.Img Lyr.top=RcrsLvl ==1&&FirstLineH orizontal?Hght-Arrws[a+2]-2:(Hght-Arrws[a+2])/2;
this.CmdLyr.Img Lyr.left=RightT oLeft?2:Wdth-Arrws[a+1]-2;
this.CmdLyr.Img Lyr.width=Arrws[a+1];
this.CmdLyr.Img Lyr.height=Arrw s[a+2];
ImgStr="<img src='"+Arrws[a]+"' width='"+Arrws[a+1]+"'
height='"+Arrws[a+2]+"'>";
this.CmdLyr.Img Lyr.document.wr ite(ImgStr);
this.CmdLyr.Img Lyr.document.cl ose()}}

function CreateMenuStruc ture(MName,Numb erOf){
RcrsLvl++;
var i,NoOffSubs,Mbr ,Wdth=0,Hght=0;
var PrvMmbr=null;
var WMnu=MName+'1';
var MenuWidth=eval( WMnu+'[5]');
var MenuHeight=eval (WMnu+'[4]');
var MenuEnable=eval (WMnu+'[6]');

var Location=RcrsLv l==1?FrstLoc:Sc Loc;
if (RcrsLvl==1&&Fi rstLineHorizont al){
for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
Wdth=eval(WMnu+ '[5]')?Wdth+eval(WM nu+'[5]'):Wdth+MenuWid th}
Wdth=BorderBtwn Elmnts?Wdth+(Nu mberOf+1)*Borde rWidth:Wdth+2*B orderWidth;Hght =MenuHeight+2*B orderWidth}
else{ for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
Hght=eval(WMnu+ '[4]')?Hght+eval(WM nu+'[4]'):Hght+MenuHei ght}
Hght=BorderBtwn Elmnts?Hght+(Nu mberOf+1)*Borde rWidth:Hght+2*B orderWidth;Wdth =MenuWidth+2*Bo rderWidth}
if(DomYes){
var MmbrCntnr=Locat ion.document.cr eateElement("di v");
MmbrCntnr.style .position='abso lute';
MmbrCntnr.style .visibility='hi dden';
Location.docume nt.body.appendC hild(MmbrCntnr) }
else{ if(Nav4) var MmbrCntnr=new Layer(Wdth,Loca tion)
else{ WMnu+='c';
Location.docume nt.body.insertA djacentHTML("Af terBegin","<div
id='"+WMnu+"' style='visibili ty:hidden; position:absolu te;'><\/div>");
var MmbrCntnr=Locat ion.document.al l[WMnu]}}
MmbrCntnr.SetUp =CntnrSetUp;
MmbrCntnr.SetUp (Wdth,Hght,Numb erOf,MenuEnable );
if(Exp4){ MmbrCntnr.Inner String='';
for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
MmbrCntnr.Inner String+="<div id='"+WMnu+"'
style='position :absolute;'><\/div>"}
MmbrCntnr.inner HTML=MmbrCntnr. InnerString}
for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
NoOffSubs=eval( WMnu+'[6]')?eval(WMnu+'[3]'):0;
Wdth=RcrsLvl==1 &&FirstLineHori zontal?eval(WMn u+'[5]')?eval(WMnu+'[5]'):MenuWidth:Me nuWidth;
Hght=RcrsLvl==1 &&FirstLineHori zontal?MenuHeig ht:eval(WMnu+'[4]')?eval(WMnu+'[4]'):MenuHeight;
if(DomYes){
Mbr=Location.do cument.createEl ement("div");
Mbr.style.posit ion='absolute';
Mbr.style.visib ility='inherit' ;
MmbrCntnr.appen dChild(Mbr)}
else Mbr=Nav4?new Layer(Wdth,Mmbr Cntnr):Location .document.all[WMnu];
Mbr.SetUp=Nav4? NavMbrSetUp:Mbr SetUp;
Mbr.SetUp(MmbrC ntnr,PrvMmbr,WM nu,Wdth,Hght);
if(NoOffSubs) Mbr.ChildCntnr= CreateMenuStruc ture(WMnu+'_',N oOffSubs);
PrvMmbr=Mbr}
MmbrCntnr.FrstM br=Mbr;
RcrsLvl--;
return(MmbrCntn r)}

function CreateMenuStruc tureAgain(MName ,NumberOf){
var i,WMnu,NoOffSub s,PrvMmbr,Mbr=F rstCntnr.FrstMb r;
RcrsLvl++;
for(i=NumberOf; i>0;i--){
WMnu=MName+eval (i);
NoOffSubs=eval( WMnu+'[3]');
PrvMmbr=Mbr;
if(NoOffSubs)Mb r.ChildCntnr=Cr eateMenuStructu re(WMnu+'_',NoO ffSubs);
Mbr=Mbr.PrvMbr}
RcrsLvl--}

var oPopup;
var divShowing;
var divParent;
document.onmous emove = HideMenu;
function ShowMenu(parent )
{
divParent=paren t;
var child=parent.Ch ildCntnr
divShowing=chil d;
//parent.style.to p = parseInt(child. style.top) -
parent.clientHe ight
//parent.style.le ft = child.style.lef t
var newDiv;
oPopup = window.createPo pup();

newDiv=oPopup.d ocument.createE lement("DIV");
newDiv.innerHTM L=child.outerHT ML;
oPopup.document .body.appendChi ld(newDiv);
oParent=oPopup. document.body.g etElementsByTag Name("DIV").ite m(0).getElement sByTagName("DIV ").item(0);
oParent.style.l eft=0;
oParent.style.t op=0;
oParent.style.v isibility='visi ble';
for(var i = 0; i<oParent.getEl ementsByTagName ("DIV").leng th; i++){
oChild1=oParent .getElementsByT agName("DIV").i tem(i);
oChild1.Contain er=oParent;
oChild1.onmouse over=MenuHilite ;
oChild1.onmouse out=MenuHilite;
oChild1.onclick =MenuGo;
}
//alert(child.sty le.top+":"+chil d.style.left+": ");
oPopup.show(-1, parent.clientHe ight, child.clientWid th,
child.clientHei ght, parent);
// x,y,width,heigh t
_IsMenuOn = "1";

}

function Within(x,y,obj, left,top){
var blur=2;
if(obj==null) return false;
if(left==null) left=obj.style. left
if(top==null) top= obj.style.top
return (x > parseInt(left)-blur &&
x < parseInt(left)+ obj.clientWidth +blur &&
y > parseInt(top)-blur &&
y < parseInt(top) + obj.clientHeigh t +blur)
}
function HideMenu() {
var _x;
var _y;

_x = event.clientX + document.body.s crollLeft;
_y = event.clientY + document.body.s crollTop;
if (oPopup != null && oPopup.isOpen) {

if (Within(_x,_y,d ivShowing) ||
Within(_x,_y,di vParent,divShow ing.style.left,
parseInt(divSho wing.style.top) - divParent.clien tHeight)) {

}else{
oPopup.hide();
_IsMenuOn = "0";
}

}
return true;
}

function MenuHilite(){

if(this.ro != "0"){
alert("Hilite\n "+this.outerHTM L);
var Lc=this.Level== 1?FrstLoc:ScLoc ;
Lc.document.ima ges[this.rid].src=this.ri2
}
else{
if(this.Hilite) {
this.Hilite=fal se;
if(this.HiBck){
//this.style.back groundColor=thi s.HiBck;
//alert( +":"+this.HiBck );
fader(this,eval ("0x"+this.LoBc k),eval("0x"+th is.HiBck));
}
if(this.HiFntCl r)this.style.co lor=this.HiFntC lr;

}else{
this.Hilite=tru e;
fader(this,eval ("0x"+this.HiBc k),eval("0x"+th is.LoBck));
//if(this.HiBck)t his.style.backg roundColor=this .LoBck;
if(this.HiFntCl r)this.style.co lor=this.LwFntC lr

}
}
}

function MenuGo(){
if(this.LinkTxt ){
status='';
if(this.LoBck)t his.style.backg roundColor=this .LoBck;
if(this.LwFntCl r)this.style.co lor=this.LwFntC lr
this.LinkTxt.in dexOf('javascri pt:')!=-1?eval(this.Lin kTxt):DcLoc.loc ation.href=this .LinkTxt
}
}

var objStore = new Array();
var stateStore=new Array();//storing if the action is still valid
function fader(obj,oldCo lor,newColor)
{
totalStep=15
stateStore[stateStore.leng th]=false;
stateStore[obj.lastActionI d]=true; //stop last action
obj.lastActionI d=stateStore.le ngth;
objStore[objStore.length]=obj;

oRed=oldColor>> 16
oGreen=(oldColo r>>8)%256
oBlue=oldColor% 256
nRed=newColor>> 16
nGreen=(newColo r>>8)%256
nBlue=newColor% 256
rStep=(nRed-oRed)/totalStep
gStep=(nGreen-oGreen)/totalStep
bStep=(nBlue-oBlue)/totalStep
fadetext(0,oRed ,rStep,oGreen,g Step,oBlue,bSte p,totalStep,obj Store.length);

}

function fadetext(currSt ep,oRed,rStep,o Green,gStep,oBl ue,bStep,totalS tep,idx){
if(currStep <= totalStep) {
if(stateStore[idx]) return;
objStore[idx-1].currOutStep=cu rrStep;
objStore[idx-1].style.backgrou ndColor="rgb("+ Math.round(oRed +rStep*currStep )+","
+Math.round(oGr een+gStep*currS tep)+","
+Math.round(oBl ue+bStep*currSt ep)+")";
objStore[idx-1].currColor=objS tore[idx-1].style.backgrou ndColor;
return setTimeout("fad etext("+(currSt ep+1)+","+oRed+ ","+rStep+","+o Green+","+gStep +","+oBlue+","+ bStep+","+total Step+","+idx+") ",10);
}
}
<<<end menu_com.js>>>
Jul 23 '05 #1
4 5777
It's very difficult to do much about that problem. It's a behaviour
of the browser and is nothing to do with your JavaScript. I have
however, come up with a little hack that replaces out select boxes on
the page with activeX combo boxes which will sort out your problem.
It's not pretty and it has it's limitations but it does seem to work
and really there's not too much else you can do about that.

Here's the link:

http://www.danwebb.net/lab/archives/000057.html

Hope it helps,

Dan

ch**********@ho tmail.com (Yuk Cheng) wrote in message news:<38******* *************** ****@posting.go ogle.com>...
<<<start index.htm>>>

<html>
<head>
<script>
function perform(action) {
}
</script>

</head>
<body>

<script type='text/javascript'>

//HV Menu- by Ger Versluis (http://www.burmees.nl/)
//Submitted to Dynamic Drive (http://www.dynamicdrive.com)
//Visit http://www.dynamicdrive.com for this script and more

function Go(){return}

</script>

<script type='text/javascript' src='menu_var.j s'></script>
<script type='text/javascript' src='menu_com.j s'></script>
<noscript>You r browser does not support script</noscript>

<form>
<br><br>
<select>
<option>on me</option>
<option>on me</option>
<option>on me</option>
</select>
</form>
</body>
</html>

<<<end index.htm>>>

<<<start menu_var.js>>>
/*************** *************** *************** *************** *************** ********
* (c) Ger Versluis 2000 version 5.411 24 December 2001 (updated Jan
31st, 2003 by Dynamic Drive for Opera7)
* For info write to me***@burmees.n l *
* You may remove all comments for faster loading *
*************** *************** *************** *************** *************** ********/
var LowBgColor='0D4 A2B'; // Background color when mouse is not over
var LowSubBgColor=' 0D4A2B'; // Background color when mouse is not
over on subs
var HighBgColor='91 B8B3'; // Background color when mouse is over
var HighSubBgColor= '91B8B3'; // Background color when mouse is over
on subs
var FontLowColor='w hite'; // Font color when mouse is not over
var FontSubLowColor ='white'; // Font color subs when mouse is not
over
var FontHighColor=' 004D30'; // Font color when mouse is over
var FontSubHighColo r='004D30'; // Font color subs when mouse is
over
var BorderColor='wh ite'; // Border color
var BorderSubColor= 'white'; // Border color for subs
var BorderWidth=1; // Border width
var BorderBtwnElmnt s=1; // Border between elements 1 or 0
var FontFamily="Ver dana, Arial, Helvetica, sans-serif" // Font family
menu items
var FontSize=7; // Font size menu items
var FontBold=1; // Bold menu items 1 or 0
var FontItalic=0; // Italic menu items 1 or 0
var MenuTextCentere d='left'; // Item text position 'left', 'center'
or 'right'
var MenuCentered='l eft'; // Menu horizontal position 'left',
'center' or 'right'
var MenuVerticalCen tered='top'; // Menu vertical position 'top',
'middle','botto m' or static
var ChildOverlap=.2 ; // horizontal overlap child/ parent
var ChildVerticalOv erlap=.2; // vertical overlap child/ parent
var StartTop=10; // Menu offset x coordinate
var StartLeft=10; // Menu offset y coordinate
var VerCorrect=0; // Multiple frames y correction
var HorCorrect=0; // Multiple frames x correction
var LeftPaddng=3; // Left padding
var TopPaddng=2; // Top padding
var FirstLineHorizo ntal=1; // SET TO 1 FOR HORIZONTAL MENU, 0 FOR
VERTICAL
var MenuFramesVerti cal=1; // Frames in cols or rows 1 or 0
var DissapearDelay= 1000; // delay before menu folds in
var TakeOverBgColor =1; // Menu frame takes over background color
subitem frame
var FirstLineFrame= 'navig'; // Frame where first level appears
var SecLineFrame='s pace'; // Frame where sub levels appear
var DocTargetFrame= 'space'; // Frame where target documents appear
var TargetLoc=''; // span id for relative positioning
var HideTop=0; // Hide first level when loading new document 1 or
0
var MenuWrap=1; // enables/ disables menu wrap 1 or 0
var RightToLeft=0; // enables/ disables right to left unfold 1 or
0
var UnfoldsOnClick= 0; // Level 1 unfolds onclick/ onmouseover
var WebMasterCheck= 0; // menu tree checking on or off 1 or 0
var ShowArrow=0; // Uses arrow gifs when 1
var KeepHilite=0; // Keep selected path highligthed
var Arrws=['tri.gif',5,10, 'tridown.gif',1 0,5,'trileft.gi f',5,10]; //
Arrow source, width and height

function BeforeStart(){r eturn}
function AfterBuild(){re turn}
function BeforeFirstOpen (){return}
function AfterCloseAll() {return}
var NoOffFirstLineM enus=5;
//you may use image rollover
//Menu1=new Array("rollover :images/en/navbar/nav_yp_off.gif: images/en/navbar/nav_yp_over.gif ","#","",3,21,8 5,true);
Menu1=new Array("MY PROFILE","#","" ,3,21,85,true);
Menu1_1=new Array("Personal
Details","javas cript:perform(' menu_personal_d etails')","",0, 18,150,true);
Menu1_2=new Array("Producti on
Summary","javas cript:perform(' menu_production _summary')","", 0,18,150,true);
Menu1_3=new Array("Conserva tion
Details","javas cript:perform(' menu_conservati on_details')"," ",0,18,150,true );
Menu2=new Array("CUSTOMER ","#","",3,21,8 5,true);
Menu2_1=new Array("Search", "javascript:per form('menu_sear ch')","",0,18,1 50,true);
Menu2_2=new Array("Last Search
Results","javas cript:perform(' menu_last_searc h_result')","", 0,18,150,true);
Menu2_3=new Array("New
Business","java script:perform( 'menu_new_busin ess')","",0,18, 150,true);
Menu3=new Array("REPORTS" ,"#","",2,21,85 ,true);
Menu3_1=new Array("Create
Report","javasc ript:perform('m enu_create_repo rt')","",0,18,1 50,true);
Menu3_2=new Array("Inbox"," javascript:perf orm('menu_repor t_inbox')","",0 ,18,150,true);
Menu4=new Array("RESOURCE S","#","",11,21 ,85,true);
Menu4_1=new Array("Bulletin ","javascript:p erform('menu_bu lletin')","",0, 18,150,true);
Menu4_2=new Array("To The
Top","javascrip t:perform('menu _to_the_top')", "",0,18,150,tru e);
Menu4_3=new Array("Product
List","javascri pt:perform('men u_product_lists ')","",0,18,150 ,true);
Menu4_4=new Array("Club
Pinnacle","java script:perform( 'menu_club_pinn acle')","",0,18 ,150,true);
Menu4_5=new Array("Hot
Links","javascr ipt:perform('me nu_hot_links')" ,"",0,18,150,tr ue);
Menu4_6=new Array("IT Info
Centre","javasc ript:perform('m enu_it_info_cen tre')","",0,18, 150,true);
Menu4_7=new Array("Unit
Price","javascr ipt:perform('me nu_unit_price') ","",0,18,150,t rue);
Menu4_8=new Array("Rate
Manual","javasc ript:perform('m enu_rate_manual ')","",0,18,150 ,true);
Menu4_9=new Array("Software ","javascript:p erform('menu_so ftware')","",0, 18,150,true);
Menu4_10=new Array("Security ","javascript:p erform('menu_se curity')","",0, 18,150,true);
Menu4_11=new Array("About
Us","javascript :perform('menu_ about_us')","", 0,18,150,true);
Menu5=new Array("SERVICES ","#","",3,21,8 5,true);
Menu5_1=new Array("Change User
ID","javascript :perform('menu_ change_user_id' )","",0,18,150, true);
Menu5_2=new Array("Change
Password","java script:perform( 'menu_change_pa ssword')","",0, 18,150,true);
Menu5_3=new Array("Change
Advisor","javas cript:perform(' menu_change_adv isor')","",0,18 ,150,true);

<<<end menu_var.js>>>
<<<start menu_com.js>>>
/*************** *************** *************** *************** *************** *********
(c) Ger Versluis 2000 version 5.5 24 December 2001 (updated Jan 31st,
2003 by Dynamic Drive for Opera7)
Updated 19 July, 2003 by GV for CSS CompatMode
HV Menu found on Dynamic Drive ONLY may be used on both commercial
and non commerical sites
For info write to me***@burmees.n l
This script featured on Dynamic Drive DHTML code library:
http://www.dynamicdrive.com

modified by cheng yuk pong on 18 July 2004
(ch**********@y ahoo.com.hk) and added
ability to disable a menu item,
overlay drop down box in IE (but lost the ability to build
multilevel menu) , and
eye catching fading effect!!

please sent me a thank you email if you found this menu useful.
*************** *************** *************** *************** *************** **********/
var AgntUsr=navigat or.userAgent.to LowerCase();
var AppVer=navigato r.appVersion.to LowerCase();
var DomYes=document .getElementById ?1:0;
var NavYes=AgntUsr. indexOf('mozill a')!=-1&&AgntUsr.inde xOf('compatible ')==-1?1:0;
var ExpYes=AgntUsr. indexOf('msie') !=-1?1:0;
var Opr=AgntUsr.ind exOf('opera')!=-1?1:0;
var Opr6orless=wind ow.opera &&
navigator.userA gent.search(/opera.[1-6]/i)!=-1 //DynamicDrive.co m
added code
if(Opr){NavYes= 1;ExpYes=0;}
var DomNav=DomYes&& NavYes?1:0;
var DomExp=DomYes&& ExpYes?1:0;
var Nav4=NavYes&&!D omYes&&document .layers?1:0;
var Exp4=ExpYes&&!D omYes&&document .all?1:0;
var Exp55Plus=(AppV er.indexOf("msi e 5.5")!= -1||AppVer.index Of("msie
6")!= -1||AppVer.index Of("msie 7")!= -1)?1:0
var Exp6Plus=(AppVe r.indexOf("msie 6")!= -1||AppVer.index Of("msie
7")!= -1)?1:0
var PosStrt=(NavYes ||ExpYes||Opr)& &!Opr6orless?1: 0;
var P_X=DomYes?"px" :"",FHtml=null, ScHtml=null,FCm plnt=0,SCmplnt= 0;
var FrstLoc,ScLoc,D cLoc;
var ScWinWdth,ScWin Hght,FrstWinWdt h,FrstWinHght;
var ScLdAgainWin;
var FirstColPos,Sec ColPos,DocColPo s;
var RcrsLvl=0;
var FrstCreat=1,Loa dd=0,Creatd=0,I niFlg,AcrssFrms =1;
var FrstCntnr=null, CurrntOvr=null, CloseTmr=null;
var CntrTxt,TxtClos e,ImgStr;
var Ztop=100;
var ShwFlg=0;
var M_StrtTp=StartT op,M_StrtLft=St artLeft;
var StaticPos=0;
var M_Hide=Nav4?'hi de':'hidden';
var M_Show=Nav4?'sh ow':'visible';
var Par=parent.fram es[0]&&FirstLineFram e!=SecLineFrame ?parent:window;
var Doc=Par.documen t;
var Bod=Doc.body;
var Trigger=NavYes& &!Opr?Par:Bo d;

MenuTextCentere d=MenuTextCente red==1||MenuTex tCentered=='cen ter'?'center':M enuTextCentered ==0||MenuTextCe ntered!='right' ?'left':'right' ;
WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs
width: "];

if(Trigger.onlo ad)Dummy=Trigge r.onload;
Trigger.onload= Go;

function Dummy(){return}

function CnclSlct(){retu rn false}

function RePos(){
FrstWinWdth=Exp Yes?FCmplnt?FHt ml.clientWidth: FrstLoc.documen t.body.clientWi dth:FrstLoc.inn erWidth;
FrstWinHght=Exp Yes?FCmplnt?FHt ml.clientHeight :FrstLoc.docume nt.body.clientH eight:FrstLoc.i nnerHeight;
ScWinWdth=ExpYe s?SCmplnt?ScHtm l.clientWidth:S cLoc.document.b ody.clientWidth :ScLoc.innerWid th;
ScWinHght=ExpYe s?SCmplnt?ScHtm l.clientHeight: ScLoc.document. body.clientHeig ht:ScLoc.innerH eight;
if(MenuCentered =='justify'&&Fi rstLineHorizont al){
FrstCntnr.style .width=FrstWinW dth+P_X;
var LftXtra=(DomNav &&!Opr)||FCmpln t?LeftPaddng:0;
ClcJus();
var P=FrstCntnr.Frs tMbr,W=Menu1[5],i;
for(i=0;i<NoOff FirstLineMenus; i++){P.style.wi dth=W+P_X;P=P.P rvMbr}}
StaticPos=-1;
if(TargetLoc)Cl cTrgt();
if(MenuCentered )ClcLft();
if(MenuVertical Centered)ClcTp( );
PosMenu(FrstCnt nr,StartTop,Sta rtLeft)}

function UnLoaded(){
if(CloseTmr)cle arTimeout(Close Tmr);
Loadd=0; Creatd=0;
if(HideTop){
var FCStyle=Nav4?Fr stCntnr:FrstCnt nr.style;
FCStyle.visibil ity=M_Hide}}

function ReDoWhole(){
if(ScWinWdth!=S cLoc.innerWidth ||ScWinHght!=Sc Loc.innerHeight ||FrstWinWdth!= FrstLoc.innerWi dth||FrstWinHgh t!=FrstLoc.inne rHeight)Doc.loc ation.reload()}

function Check(WMnu,NoOf ){
var i,array,ArrayLo c;
ArrayLoc=parent .frames[0]?parent.frames[FirstLineFrame]:self;
for(i=0;i<NoOf; i++){
array=WMnu+eval (i+1);
if(!ArrayLoc[array]){WbMstrAlrt(0, array); return false}
if(i==0){ if(!ArrayLoc[array][4]){WbMstrAlrt(1, array); return false}
if(!ArrayLoc[array][5]){WbMstrAlrt(2, array); return false}}
if(ArrayLoc[array][3])if(!Check(arra y+'_',ArrayLoc[array][3]))
return false}
return true}

function WbMstrAlrt(No,X tra){
return confirm(WbMstrA lrts[No]+Xtra+' ')}

function Go(){
Dummy();
if(Loadd||!PosS trt)return;
BeforeStart();
Creatd=0; Loadd=1;
status='Buildin g menu';
if(FirstLineFra me =="" || !parent.frames[FirstLineFrame]){
FirstLineFrame= SecLineFrame;
if(FirstLineFra me =="" || !parent.frames[FirstLineFrame]){
FirstLineFrame= SecLineFrame=Do cTargetFrame;
if(FirstLineFra me =="" ||
!parent.frames[FirstLineFrame])FirstLineFrame =SecLineFrame=D ocTargetFrame=' '}}
if(SecLineFrame =="" || !parent.frames[SecLineFrame]){
SecLineFrame=Do cTargetFrame;
if(SecLineFrame =="" ||
!parent.frames[SecLineFrame])SecLineFrame=D ocTargetFrame=F irstLineFrame}
if(DocTargetFra me =="" ||
!parent.frames[DocTargetFrame])DocTargetFrame =SecLineFrame;
if(WebMasterChe ck){ if(!Check('Menu ',NoOffFirstLin eMenus)){status ='build
aborted';return }}
FrstLoc=FirstLi neFrame!=""?par ent.frames[FirstLineFrame]:window;
ScLoc=SecLineFr ame!=""?parent. frames[SecLineFrame]:window;
DcLoc=DocTarget Frame!=""?paren t.frames[DocTargetFrame]:window;
if (FrstLoc==ScLoc ) AcrssFrms=0;
if (AcrssFrms)Firs tLineHorizontal =MenuFramesVert ical?0:1;
if(Exp6Plus||Op r){
FHtml=FrstLoc.d ocument.getElem entsByTagName(" HTML")[0];ScHtml=ScLoc.d ocument.getElem entsByTagName(" HTML")[0];
FCmplnt=FrstLoc .document.compa tMode.indexOf(" CSS")==-1?0:1;SCmplnt=S cLoc.document.c ompatMode.index Of("CSS")==-1?0:1}
FrstWinWdth=Exp Yes?FCmplnt?FHt ml.clientWidth: FrstLoc.documen t.body.clientWi dth:FrstLoc.inn erWidth;
FrstWinHght=Exp Yes?FCmplnt?FHt ml.clientHeight :FrstLoc.docume nt.body.clientH eight:FrstLoc.i nnerHeight;
ScWinWdth=ExpYe s?SCmplnt?ScHtm l.clientWidth:S cLoc.document.b ody.clientWidth :ScLoc.innerWid th;
ScWinHght=ExpYe s?SCmplnt?ScHtm l.clientHeight: ScLoc.document. body.clientHeig ht:ScLoc.innerH eight;
if(Nav4){ CntrTxt=MenuTex tCentered!='lef t'?"<div
align='"+MenuTe xtCentered+"'>" :"";
TxtClose="</font>"+MenuText Centered!='left '?"</div>":""}
FirstColPos=Nav 4?FrstLoc.docum ent:FrstLoc.doc ument.body;
SecColPos=Nav4? ScLoc.document: ScLoc.document. body;
DocColPos=Nav4? DcLoc.document: ScLoc.document. body;
if (TakeOverBgColo r)FirstColPos.b gColor=AcrssFrm s?SecColPos.bgC olor:DocColPos. bgColor;
if(MenuCentered =='justify'&&Fi rstLineHorizont al)ClcJus();
if(FrstCreat){
FrstCntnr=Creat eMenuStructure( 'Menu',NoOffFir stLineMenus);
FrstCreat=Acrss Frms?0:1}
else CreateMenuStruc tureAgain('Menu ',NoOffFirstLin eMenus);
if(TargetLoc)Cl cTrgt();
if(MenuCentered )ClcLft();
if(MenuVertical Centered)ClcTp( );
PosMenu(FrstCnt nr,StartTop,Sta rtLeft);
IniFlg=1;
Initiate();
Creatd=1;
if (AcrssFrms){
ScLdAgainWin=Ex pYes?ScLoc.docu ment.body:ScLoc ;
ScLdAgainWin.on unload=UnLoaded }
Trigger.onresiz e=Nav4?ReDoWhol e:RePos;
AfterBuild();
if(MenuVertical Centered=='stat ic'&&!AcrssFrms )setInterval('K eepPos()',250);
status=''}

function KeepPos(){
var TS=ExpYes?SCmpl nt?ScHtml.scrol lTop:FrstLoc.do cument.body.scr ollTop:FrstLoc. pageYOffset;
if(TS!=StaticPo s){
var FCStyle=Nav4?Fr stCntnr:FrstCnt nr.style;
FrstCntnr.OrgTo p=StartTop+TS;S taticPos=TS;
FCStyle.top=Frs tCntnr.OrgTop+P _X}}

function ClcJus(){
var a=BorderBtwnElm nts?1:2,b=Borde rBtwnElmnts?Bor derWidth:0;
var Size=Math.round (((FrstWinWdth-a*BorderWidth)/NoOffFirstLineM enus)-b),i,j;
for(i=1;i<NoOff FirstLineMenus+ 1;i++){j=eval(' Menu'+i);j[5]=Size}
StartLeft=0}

function ClcTrgt(){
var TLoc=Nav4?FrstL oc.document.lay ers[TargetLoc]:DomYes?FrstLoc .document.getEl ementById(Targe tLoc):FrstLoc.d ocument.all[TargetLoc];
StartTop=M_Strt Tp;
StartLeft=M_Str tLft;
if(DomYes){
while(TLoc){Sta rtTop+=TLoc.off setTop;StartLef t+=TLoc.offsetL eft;TLoc=TLoc.o ffsetParent}}
else{ StartTop+=Nav4? TLoc.pageY:TLoc .offsetTop;Star tLeft+=Nav4?TLo c.pageX:TLoc.of fsetLeft}}

function ClcLft(){
if(MenuCentered !='left'&&MenuC entered!='justi fy'){
var Size=FrstWinWdt h-(!Nav4?parseInt (FrstCntnr.styl e.width):FrstCn tnr.clip.width) ;
StartLeft=M_Str tLft;
StartLeft+=Menu Centered=='righ t'?Size:Size/2}}

function ClcTp(){
if(MenuVertical Centered!='top' &&MenuVerticalC entered!='stati c'){
var Size=FrstWinHgh t-(!Nav4?parseInt (FrstCntnr.styl e.height):FrstC ntnr.clip.heigh t);
StartTop=M_Strt Tp;
StartTop+=MenuV erticalCentered =='bottom'?Size :Size/2}}

function PosMenu(CntnrPn tr,Tp,Lt){
RcrsLvl++;
var Cmplnt=RcrsLvl= =1?FCmplnt:SCmp lnt;
var LftXtra=(DomNav &&!Opr)||Cmplnt ?LeftPaddng:0;
var TpXtra=(DomNav& &!Opr)||Cmplnt? TopPaddng:0;
var Topi,Lefti,Hori ;
var Cntnr=CntnrPntr ;
var Mmbr=Cntnr.Frst Mbr;
var CntnrStyle=!Nav 4?Cntnr.style:C ntnr;
var MmbrStyle=!Nav4 ?Mmbr.style:Mmb r;
var PadL=Mmbr.value .indexOf('<')==-1?LftXtra:0;
var PadT=Mmbr.value .indexOf('<')==-1?TpXtra:0;
var MmbrWt=!Nav4?pa rseInt(MmbrStyl e.width)+PadL:M mbrStyle.clip.w idth;
var MmbrHt=!Nav4?pa rseInt(MmbrStyl e.height)+PadT: MmbrStyle.clip. height;
var CntnrWt=!Nav4?p arseInt(CntnrSt yle.width):Cntn rStyle.clip.wid th;
var CntnrHt=!Nav4?p arseInt(CntnrSt yle.height):Cnt nrStyle.clip.he ight;
var SubTp,SubLt;
if (RcrsLvl==1 && AcrssFrms)!Menu FramesVertical? Tp=FrstWinHght-CntnrHt+(Nav4?4 :0):Lt=RightToL eft?0:FrstWinWd th-CntnrWt+(Nav4?4 :0);
if (RcrsLvl==2 && AcrssFrms)!Menu FramesVertical? Tp=0:Lt=RightTo Left?ScWinWdth-CntnrWt:0;
if (RcrsLvl==2 && AcrssFrms){Tp+= VerCorrect;Lt+= HorCorrect}
CntnrStyle.top= RcrsLvl==1?Tp+P _X:0;
Cntnr.OrgTop=Tp ;
CntnrStyle.left =RcrsLvl==1?Lt+ P_X:0;
Cntnr.OrgLeft=L t;
if (RcrsLvl==1 && FirstLineHorizo ntal){
Hori=1;Lefti=Cn tnrWt-MmbrWt-2*BorderWidth;T opi=0}
else{ Hori=Lefti=0;To pi=CntnrHt-MmbrHt-2*BorderWidth}
while(Mmbr!=nul l){
MmbrStyle.left= Lefti+BorderWid th+P_X;
MmbrStyle.top=T opi+BorderWidth +P_X;
if(Nav4)Mmbr.Cm dLyr.moveTo(Lef ti+BorderWidth, Topi+BorderWidt h);
if(Mmbr.ChildCn tnr){
if(RightToLeft) ChldCntnrWdth=N av4?Mmbr.ChildC ntnr.clip.width :parseInt(Mmbr. ChildCntnr.styl e.width);
if(Hori){ SubTp=Topi+Mmbr Ht+2*BorderWidt h;
SubLt=RightToLe ft?Lefti+MmbrWt-ChldCntnrWdth:L efti}
else{ SubLt=RightToLe ft?Lefti-ChldCntnrWdth+C hildOverlap*Mmb rWt+BorderWidth :Lefti+(1-ChildOverlap)*M mbrWt+BorderWid th;
SubTp=RcrsLvl== 1&&AcrssFrms?To pi:Topi+ChildVe rticalOverlap*M mbrHt}
PosMenu(Mmbr.Ch ildCntnr,SubTp, SubLt)}
Mmbr=Mmbr.PrvMb r;
if(Mmbr){ MmbrStyle=!Nav4 ?Mmbr.style:Mmb r;
PadL=Mmbr.value .indexOf('<')==-1?LftXtra:0;
PadT=Mmbr.value .indexOf('<')==-1?TpXtra:0;
MmbrWt=!Nav4?pa rseInt(MmbrStyl e.width)+PadL:M mbrStyle.clip.w idth;
MmbrHt=!Nav4?pa rseInt(MmbrStyl e.height)+PadT: MmbrStyle.clip. height;
Hori?Lefti-=BorderBtwnElmn ts?(MmbrWt+Bord erWidth):(MmbrW t):Topi-=BorderBtwnElmn ts?(MmbrHt+Bord erWidth):(MmbrH t)}}
RcrsLvl--}

function Initiate(){
if(IniFlg){ Init(FrstCntnr) ;IniFlg=0;
if(ShwFlg)After CloseAll();ShwF lg=0}}

function Init(CntnrPntr) {
var Mmbr=CntnrPntr. FrstMbr;
var MCStyle=Nav4?Cn tnrPntr:CntnrPn tr.style;
RcrsLvl++;
MCStyle.visibil ity=RcrsLvl==1? M_Show:M_Hide;
while(Mmbr!=nul l){
if(Mmbr.Hilite) {Mmbr.Hilite=0; if(KeepHilite)L owItem(Mmbr)}
if(Mmbr.ChildCn tnr) Init(Mmbr.Child Cntnr);
Mmbr=Mmbr.PrvMb r}
RcrsLvl--}

function ClearAllChilds( Pntr){
var CPCCStyle;
while (Pntr){
if(Pntr.Hilite) {
Pntr.Hilite=0;
if(KeepHilite)L owItem(Pntr);
if(Pntr.ChildCn tnr){
CPCCStyle=Nav4? Pntr.ChildCntnr :Pntr.ChildCntn r.style;
CPCCStyle.visib ility=M_Hide;
ClearAllChilds( Pntr.ChildCntnr .FrstMbr)}
break}
Pntr=Pntr.PrvMb r}}

function GoTo(){
if(this.LinkTxt ){
status='';
var HP=Nav4?this.Lo wLyr:this;
LowItem(HP);
this.LinkTxt.in dexOf('javascri pt:')!=-1?eval(this.Lin kTxt):DcLoc.loc ation.href=this .LinkTxt}}

function HiliteItem(P){
if(Nav4){
if(P.ro)P.docum ent.images[P.rid].src=P.ri2;
else{ if(P.HiBck)P.bg Color=P.HiBck;
if(P.value.inde xOf('<img')==-1){
P.document.writ e(P.Ovalue);
P.document.clos e()}}}
else{ if(P.ro){ var Lc=P.Level==1?F rstLoc:ScLoc;
Lc.document.ima ges[P.rid].src=P.ri2}
else{ if(P.HiBck)P.st yle.backgroundC olor=P.HiBck;
if(P.HiFntClr)P .style.color=P. HiFntClr}}
P.Hilite=1}

function LowItem(P){
if(P.ro){ if(Nav4)P.docum ent.images[P.rid].src=P.ri1;
else{ var Lc=P.Level==1?F rstLoc:ScLoc;
Lc.document.ima ges[P.rid].src=P.ri1}}
else{ if(Nav4){ if(P.LoBck)P.bg Color=P.LoBck;
if(P.value.inde xOf('<img')==-1){
P.document.writ e(P.value);
P.document.clos e()}}
else{ if(P.LoBck)P.st yle.backgroundC olor=P.LoBck;
if(P.LwFntClr)P .style.color=P. LwFntClr}}}

function OpenMenu(){
if(!Loadd||!Cre atd) return;
var TpScrlld=ExpYes ?SCmplnt?ScHtml .scrollTop:ScLo c.document.body .scrollTop:ScLo c.pageYOffset;
var LScrlld=ExpYes? SCmplnt?ScHtml. scrollLeft:ScLo c.document.body .scrollLeft:ScL oc.pageXOffset;
var CCnt=Nav4?this. LowLyr.ChildCnt nr:this.ChildCn tnr;
var ThisHt=Nav4?thi s.clip.height:p arseInt(this.st yle.height);
var ThisWt=Nav4?thi s.clip.width:pa rseInt(this.sty le.width);
var ThisLft=AcrssFr ms&&this.Level= =1&&!FirstLineH orizontal?0:Nav 4?this.Containe r.left:parseInt (this.Container .style.left);
var ThisTp=AcrssFrm s&&this.Level== 1&&FirstLineHor izontal?0:Nav4? this.Container. top:parseInt(th is.Container.st yle.top);
var HP=Nav4?this.Lo wLyr:this;
CurrntOvr=this;
IniFlg=0;
ClearAllChilds( this.Container. FrstMbr);
HiliteItem(HP);
if(CCnt!=null){
if(!ShwFlg){Shw Flg=1; BeforeFirstOpen ()}
var CCW=Nav4?this.L owLyr.ChildCntn r.clip.width:pa rseInt(this.Chi ldCntnr.style.w idth);
var CCH=Nav4?this.L owLyr.ChildCntn r.clip.height:p arseInt(this.Ch ildCntnr.style. height);
var ChCntTL=Nav4?th is.LowLyr.Child Cntnr:this.Chil dCntnr.style;
var SubLt=AcrssFrms &&this.Level==1 ?CCnt.OrgLeft+T hisLft+LScrlld: CCnt.OrgLeft+Th isLft;
var SubTp=AcrssFrms &&this.Level==1 ?CCnt.OrgTop+Th isTp+TpScrlld:C Cnt.OrgTop+This Tp;
if(MenuWrap){
if(RightToLeft) {
if(SubLt<LScrll d)SubLt=this.Le vel==1?LScrlld: SubLt+(CCW+(1-2*ChildOverlap) *ThisWt);
if(SubLt+CCW>Sc WinWdth+LScrlld )SubLt=ScWinWdt h+LScrlld-CCW}
else{ if(SubLt+CCW>Sc WinWdth+LScrlld )SubLt=this.Lev el==1?ScWinWdth +LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap) *ThisWt);
if(SubLt<LScrll d)SubLt=LScrlld }
if(SubTp+CCH>Tp Scrlld+ScWinHgh t)SubTp=this.Le vel==1?SubTp=Tp Scrlld+ScWinHgh t-CCH:SubTp-CCH+(1-2*ChildVertical Overlap)*ThisHt ;
if(SubTp<TpScrl ld)SubTp=TpScrl ld}
ChCntTL.top=Sub Tp+P_X;ChCntTL. left=SubLt+P_X;
if(Exp55Plus)
ShowMenu(this);
else{
ChCntTL.visibil ity=M_Show
}
}
status=this.Lin kTxt
}

function OpenMenuClick() {
if(!Loadd||!Cre atd) return;
var HP=Nav4?this.Lo wLyr:this;
CurrntOvr=this;
IniFlg=0;
ClearAllChilds( this.Container. FrstMbr);
HiliteItem(HP);
status=this.Lin kTxt}

function CloseMenu(){
if(!Loadd||!Cre atd) return;
if(!KeepHilite) {
var HP=Nav4?this.Lo wLyr:this;
LowItem(HP)}
status='';
if(this==Currnt Ovr){
IniFlg=1;
if(CloseTmr)cle arTimeout(Close Tmr);
CloseTmr=setTim eout('Initiate( CurrntOvr)',Dis sapearDelay)}}

function CntnrSetUp(Wdth ,Hght,NoOff,Ena ble){
//alert("CntnrSet Up: width="+Wdth+" Hght="+Hght+"
NoOff="+NoOff+" Enable="+Enable );
var x=RcrsLvl==1?Bo rderColor:Borde rSubColor;
this.FrstMbr=nu ll;
this.OrgLeft=th is.OrgTop=0;
if(x)this.bgCol or=x;
if(Nav4){ this.visibility ='hide';
this.resizeTo(W dth,Hght)}
else{ if(x)this.style .backgroundColo r=x;
this.style.widt h=Wdth+P_X;
this.style.heig ht=Hght+P_X;
this.style.font Family=FontFami ly;
this.style.font Weight=FontBold ?'bold':'normal ';
this.style.font Style=FontItali c?'italic':'nor mal';
this.style.font Size=FontSize+' pt';
this.style.zInd ex=RcrsLvl+Ztop }}

function MbrSetUp(MmbrCn tnr,PrMmbr,What Menu,Wdth,Hght) {

//alert(enable);
//alert("MmbrCntn r: \n WhatMenu="+eval (WhatMenu+'[0]')+"\n
Enable="+eval(W hatMenu+'[6]'));

var Location=RcrsLv l==1?FrstLoc:Sc Loc;
var MemVal=eval(Wha tMenu+'[0]');
var t,T,L,W,H,S;
var a,b,c,d;
var Cmplnt=RcrsLvl= =1?FCmplnt:SCmp lnt;
var LftXtra=(DomNav &&!Opr)||Cmplnt ?LeftPaddng:0;
var TpXtra=(DomNav& &!Opr)||Cmplnt? TopPaddng:0;
var Enable=eval(Wha tMenu+'[6]');
var bf=eval(WhatMen u+'[3]');
this.PrvMbr=PrM mbr;
this.Level=Rcrs Lvl;
this.LinkTxt=En able?eval(WhatM enu+'[1]'):"";
this.Container= MmbrCntnr;
this.ChildCntnr =null;
this.Hilite=0;

this.style.over flow='hidden';
this.style.curs or=ExpYes&&(thi s.LinkTxt||(Rcr sLvl==1&&Unfold sOnClick))?'han d':'default';
this.ro=0;
if(MemVal.index Of('rollover')! =-1){
this.ro=1;
this.ri1=MemVal .substring(MemV al.indexOf(':') +1,MemVal.lastI ndexOf(':'));
this.ri2=Enable ?MemVal.substri ng(MemVal.lastI ndexOf(':')+1,M emVal.length):t his.ri1;
this.rid=WhatMe nu+'i';
MemVal="<img src=\""+this.ri 1+"\" name=\""+this.r id+"\"
width=\""+Wdth+ "\" height=\""+Hght +"\">"}
this.value=MemV al;
if(RcrsLvl==1){
a=LowBgColor;
b=Enable?HighBg Color:a;
c=FontLowColor;
d=Enable?FontHi ghColor:c}
else{ a=LowSubBgColor ;
b=Enable?HighSu bBgColor:a;
c=FontSubLowCol or;
d=Enable?FontSu bHighColor:c}
this.LoBck=a;
this.LwFntClr=c ;
this.HiBck=b;
this.HiFntClr=d ;
this.style.colo r=this.LwFntClr ;
if(this.LoBck)t his.style.backg roundColor=this .LoBck;
this.style.text Align=MenuTextC entered;
if(eval(WhatMen u+'[2]'))this.style.b ackgroundImage= "url(\'"+eval(W hatMenu+'[2]')+"\')";
if(MemVal.index Of('<')==-1){
this.style.widt h=Wdth-LftXtra+P_X;
this.style.heig ht=Hght-TpXtra+P_X;
this.style.padd ingLeft=LeftPad dng+P_X;
this.style.padd ingTop=TopPaddn g+P_X}
else{ this.style.widt h=Wdth+P_X;
this.style.heig ht=Hght+P_X}
if(MemVal.index Of('<')==-1&&DomYes){
t=Location.docu ment.createText Node(MemVal);
this.appendChil d(t)}
else this.innerHTML= MemVal;
if(eval(WhatMen u+'[3]')&&ShowArrow) {
a=RcrsLvl==1&&F irstLineHorizon tal?3:RightToLe ft?6:0;
S=Arrws[a];
W=Arrws[a+1];
H=Arrws[a+2];
T=RcrsLvl==1&&F irstLineHorizon tal?Hght-H-2:(Hght-H)/2;
L=RightToLeft?2 :Wdth-W-2;
if(DomYes){

t=Location.docu ment.createElem ent('img');
this.appendChil d(t);
t.style.positio n='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}
else{ MemVal+="<div style='position :absolute; top:"+T+"; left:"+L+";
width:"+W+"; height:"+H+";vi sibility:inheri t'><img
src='"+S+"'></div>";
this.innerHTML= MemVal}}
if(ExpYes){this .onselectstart= CnclSlct;
this.onmouseove r=RcrsLvl==1&&U nfoldsOnClick?O penMenuClick:Op enMenu;
this.onmouseout =CloseMenu;
this.onclick=Rc rsLvl==1&&Unfol dsOnClick&&eval (WhatMenu+'[3]')?OpenMenu:GoT o }
else{ RcrsLvl==1&&Unf oldsOnClick?thi s.addEventListe ner('mouseover' ,OpenMenuClick, false):this.add EventListener(' mouseover',Open Menu,false);
this.addEventLi stener('mouseou t',CloseMenu,fa lse);
RcrsLvl==1&&Unf oldsOnClick&&ev al(WhatMenu+'[3]')?this.addEven tListener('clic k',OpenMenu,fal se):this.addEve ntListener('cli ck',GoTo,false) }}

function NavMbrSetUp(Mmb rCntnr,PrMmbr,W hatMenu,Wdth,Hg ht){
var a,b,c,d;
if(RcrsLvl==1){
a=LowBgColor;
b=HighBgColor;
c=FontLowColor;
d=FontHighColor }
else { a=LowSubBgColor ;
b=HighSubBgColo r;
c=FontSubLowCol or;
d=FontSubHighCo lor }
this.value=eval (WhatMenu+'[0]');
this.ro=0;
if(this.value.i ndexOf('rollove r')!=-1){
this.ro=1;
this.ri1=this.v alue.substring( this.value.inde xOf(':')+1,this .value.lastInde xOf(':'));
this.ri2=this.v alue.substring( this.value.last IndexOf(':')+1, this.value.leng th);
this.rid=WhatMe nu+'i';this.val ue="<img src='"+this.ri1 +"'
name='"+this.ri d+"'>"}
if(LeftPaddng&& this.value.inde xOf('<')==-1&&MenuTextCent ered=='left')th is.value='&nbsp \;'+this.value;
if(FontBold)thi s.value=this.va lue.bold();
if(FontItalic)t his.value=this. value.italics() ;
this.Ovalue=thi s.value;
this.value=this .value.fontcolo r(c);
this.Ovalue=thi s.Ovalue.fontco lor(d);
this.value=Cntr Txt+"<font face='"+FontFam ily+"'
point-size='"+FontSiz e+"'>"+this.val ue+TxtClose;
this.Ovalue=Cnt rTxt+"<font face='"+FontFam ily+"'
point-size='"+FontSiz e+"'>"+this.Ova lue+TxtClose;
this.LoBck=a;
this.HiBck=b;
this.ChildCntnr =null;
this.PrvMbr=PrM mbr;
this.Hilite=0;
this.visibility ='inherit';
if(this.LoBck)t his.bgColor=thi s.LoBck;
this.resizeTo(W dth,Hght);
if(!AcrssFrms&& eval(WhatMenu+'[2]'))this.backgro und.src=eval(Wh atMenu+'[2]');
this.document.w rite(this.value );
this.document.c lose();
this.CmdLyr=new Layer(Wdth,Mmbr Cntnr);
this.CmdLyr.Lev el=RcrsLvl;
this.CmdLyr.Lin kTxt=eval(WhatM enu+'[1]');
this.CmdLyr.vis ibility='inheri t';
this.CmdLyr.onm ouseover=RcrsLv l==1&&UnfoldsOn Click?OpenMenuC lick:OpenMenu;
this.CmdLyr.onm ouseout=CloseMe nu;
this.CmdLyr.cap tureEvents(Even t.MOUSEUP);
this.CmdLyr.onm ouseup=RcrsLvl= =1&&UnfoldsOnCl ick&&eval(WhatM enu+'[3]')?OpenMenu:GoT o;
this.CmdLyr.Low Lyr=this;
this.CmdLyr.res izeTo(Wdth,Hght );
this.CmdLyr.Con tainer=MmbrCntn r;
if(eval(WhatMen u+'[3]')&&ShowArrow) {
a=RcrsLvl==1&&F irstLineHorizon tal?3:RightToLe ft?6:0;
this.CmdLyr.Img Lyr=new Layer(Arrws[a+1],this.CmdLyr);
this.CmdLyr.Img Lyr.visibility= 'inherit';
this.CmdLyr.Img Lyr.top=RcrsLvl ==1&&FirstLineH orizontal?Hght-Arrws[a+2]-2:(Hght-Arrws[a+2])/2;
this.CmdLyr.Img Lyr.left=RightT oLeft?2:Wdth-Arrws[a+1]-2;
this.CmdLyr.Img Lyr.width=Arrws[a+1];
this.CmdLyr.Img Lyr.height=Arrw s[a+2];
ImgStr="<img src='"+Arrws[a]+"' width='"+Arrws[a+1]+"'
height='"+Arrws[a+2]+"'>";
this.CmdLyr.Img Lyr.document.wr ite(ImgStr);
this.CmdLyr.Img Lyr.document.cl ose()}}

function CreateMenuStruc ture(MName,Numb erOf){
RcrsLvl++;
var i,NoOffSubs,Mbr ,Wdth=0,Hght=0;
var PrvMmbr=null;
var WMnu=MName+'1';
var MenuWidth=eval( WMnu+'[5]');
var MenuHeight=eval (WMnu+'[4]');
var MenuEnable=eval (WMnu+'[6]');

var Location=RcrsLv l==1?FrstLoc:Sc Loc;
if (RcrsLvl==1&&Fi rstLineHorizont al){
for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
Wdth=eval(WMnu+ '[5]')?Wdth+eval(WM nu+'[5]'):Wdth+MenuWid th}
Wdth=BorderBtwn Elmnts?Wdth+(Nu mberOf+1)*Borde rWidth:Wdth+2*B orderWidth;Hght =MenuHeight+2*B orderWidth}
else{ for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
Hght=eval(WMnu+ '[4]')?Hght+eval(WM nu+'[4]'):Hght+MenuHei ght}
Hght=BorderBtwn Elmnts?Hght+(Nu mberOf+1)*Borde rWidth:Hght+2*B orderWidth;Wdth =MenuWidth+2*Bo rderWidth}
if(DomYes){
var MmbrCntnr=Locat ion.document.cr eateElement("di v");
MmbrCntnr.style .position='abso lute';
MmbrCntnr.style .visibility='hi dden';
Location.docume nt.body.appendC hild(MmbrCntnr) }
else{ if(Nav4) var MmbrCntnr=new Layer(Wdth,Loca tion)
else{ WMnu+='c';
Location.docume nt.body.insertA djacentHTML("Af terBegin","<div
id='"+WMnu+"' style='visibili ty:hidden; position:absolu te;'><\/div>");
var MmbrCntnr=Locat ion.document.al l[WMnu]}}
MmbrCntnr.SetUp =CntnrSetUp;
MmbrCntnr.SetUp (Wdth,Hght,Numb erOf,MenuEnable );
if(Exp4){ MmbrCntnr.Inner String='';
for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
MmbrCntnr.Inner String+="<div id='"+WMnu+"'
style='position :absolute;'><\/div>"}
MmbrCntnr.inner HTML=MmbrCntnr. InnerString}
for(i=1;i<Numbe rOf+1;i++){
WMnu=MName+eval (i);
NoOffSubs=eval( WMnu+'[6]')?eval(WMnu+'[3]'):0;
Wdth=RcrsLvl==1 &&FirstLineHori zontal?eval(WMn u+'[5]')?eval(WMnu+'[5]'):MenuWidth:Me nuWidth;
Hght=RcrsLvl==1 &&FirstLineHori zontal?MenuHeig ht:eval(WMnu+'[4]')?eval(WMnu+'[4]'):MenuHeight;
if(DomYes){
Mbr=Location.do cument.createEl ement("div");
Mbr.style.posit ion='absolute';
Mbr.style.visib ility='inherit' ;
MmbrCntnr.appen dChild(Mbr)}
else Mbr=Nav4?new Layer(Wdth,Mmbr Cntnr):Location .document.all[WMnu];
Mbr.SetUp=Nav4? NavMbrSetUp:Mbr SetUp;
Mbr.SetUp(MmbrC ntnr,PrvMmbr,WM nu,Wdth,Hght);
if(NoOffSubs) Mbr.ChildCntnr= CreateMenuStruc ture(WMnu+'_',N oOffSubs);
PrvMmbr=Mbr}
MmbrCntnr.FrstM br=Mbr;
RcrsLvl--;
return(MmbrCntn r)}

function CreateMenuStruc tureAgain(MName ,NumberOf){
var i,WMnu,NoOffSub s,PrvMmbr,Mbr=F rstCntnr.FrstMb r;
RcrsLvl++;
for(i=NumberOf; i>0;i--){
WMnu=MName+eval (i);
NoOffSubs=eval( WMnu+'[3]');
PrvMmbr=Mbr;
if(NoOffSubs)Mb r.ChildCntnr=Cr eateMenuStructu re(WMnu+'_',NoO ffSubs);
Mbr=Mbr.PrvMbr}
RcrsLvl--}

var oPopup;
var divShowing;
var divParent;
document.onmous emove = HideMenu;
function ShowMenu(parent )
{
divParent=paren t;
var child=parent.Ch ildCntnr
divShowing=chil d;
//parent.style.to p = parseInt(child. style.top) -
parent.clientHe ight
//parent.style.le ft = child.style.lef t
var newDiv;
oPopup = window.createPo pup();

newDiv=oPopup.d ocument.createE lement("DIV");
newDiv.innerHTM L=child.outerHT ML;
oPopup.document .body.appendChi ld(newDiv);
oParent=oPopup. document.body.g etElementsByTag Name("DIV").ite m(0).getElement sByTagName("DIV ").item(0);
oParent.style.l eft=0;
oParent.style.t op=0;
oParent.style.v isibility='visi ble';
for(var i = 0; i<oParent.getEl ementsByTagName ("DIV").leng th; i++){
oChild1=oParent .getElementsByT agName("DIV").i tem(i);
oChild1.Contain er=oParent;
oChild1.onmouse over=MenuHilite ;
oChild1.onmouse out=MenuHilite;
oChild1.onclick =MenuGo;
}
//alert(child.sty le.top+":"+chil d.style.left+": ");
oPopup.show(-1, parent.clientHe ight, child.clientWid th,
child.clientHei ght, parent);
// x,y,width,heigh t
_IsMenuOn = "1";

}

function Within(x,y,obj, left,top){
var blur=2;
if(obj==null) return false;
if(left==null) left=obj.style. left
if(top==null) top= obj.style.top
return (x > parseInt(left)-blur &&
x < parseInt(left)+ obj.clientWidth +blur &&
y > parseInt(top)-blur &&
y < parseInt(top) + obj.clientHeigh t +blur)
}
function HideMenu() {
var _x;
var _y;

_x = event.clientX + document.body.s crollLeft;
_y = event.clientY + document.body.s crollTop;
if (oPopup != null && oPopup.isOpen) {

if (Within(_x,_y,d ivShowing) ||
Within(_x,_y,di vParent,divShow ing.style.left,
parseInt(divSho wing.style.top) - divParent.clien tHeight)) {

}else{
oPopup.hide();
_IsMenuOn = "0";
}

}
return true;
}

function MenuHilite(){

if(this.ro != "0"){
alert("Hilite\n "+this.outerHTM L);
var Lc=this.Level== 1?FrstLoc:ScLoc ;
Lc.document.ima ges[this.rid].src=this.ri2
}
else{
if(this.Hilite) {
this.Hilite=fal se;
if(this.HiBck){
//this.style.back groundColor=thi s.HiBck;
//alert( +":"+this.HiBck );
fader(this,eval ("0x"+this.LoBc k),eval("0x"+th is.HiBck));
}
if(this.HiFntCl r)this.style.co lor=this.HiFntC lr;

}else{
this.Hilite=tru e;
fader(this,eval ("0x"+this.HiBc k),eval("0x"+th is.LoBck));
//if(this.HiBck)t his.style.backg roundColor=this .LoBck;
if(this.HiFntCl r)this.style.co lor=this.LwFntC lr

}
}
}

function MenuGo(){
if(this.LinkTxt ){
status='';
if(this.LoBck)t his.style.backg roundColor=this .LoBck;
if(this.LwFntCl r)this.style.co lor=this.LwFntC lr
this.LinkTxt.in dexOf('javascri pt:')!=-1?eval(this.Lin kTxt):DcLoc.loc ation.href=this .LinkTxt
}
}

var objStore = new Array();
var stateStore=new Array();//storing if the action is still valid
function fader(obj,oldCo lor,newColor)
{
totalStep=15
stateStore[stateStore.leng th]=false;
stateStore[obj.lastActionI d]=true; //stop last action
obj.lastActionI d=stateStore.le ngth;
objStore[objStore.length]=obj;

oRed=oldColor>> 16
oGreen=(oldColo r>>8)%256
oBlue=oldColor% 256
nRed=newColor>> 16
nGreen=(newColo r>>8)%256
nBlue=newColor% 256
rStep=(nRed-oRed)/totalStep
gStep=(nGreen-oGreen)/totalStep
bStep=(nBlue-oBlue)/totalStep
fadetext(0,oRed ,rStep,oGreen,g Step,oBlue,bSte p,totalStep,obj Store.length);

}

function fadetext(currSt ep,oRed,rStep,o Green,gStep,oBl ue,bStep,totalS tep,idx){
if(currStep <= totalStep) {
if(stateStore[idx]) return;
objStore[idx-1].currOutStep=cu rrStep;
objStore[idx-1].style.backgrou ndColor="rgb("+ Math.round(oRed +rStep*currStep )+","
+Math.round(oGr een+gStep*currS tep)+","
+Math.round(oBl ue+bStep*currSt ep)+")";
objStore[idx-1].currColor=objS tore[idx-1].style.backgrou ndColor;
return setTimeout("fad etext("+(currSt ep+1)+","+oRed+ ","+rStep+","+o Green+","+gStep +","+oBlue+","+ bStep+","+total Step+","+idx+") ",10);
}
}
<<<end menu_com.js>>>

Jul 23 '05 #2
On 19 Jul 2004 01:53:49 -0700, Dan Webb wrote:
It's very difficult to do much about that problem.


What, that problem of posting 916 redundant
lines to your reply? No, actually that
problem can easily be solved by selecting
the redundant text and utilising the ..
<http://www.physci.org/kbd.jsp?key=del >

Please make use of that functionality in future.

--
Andrew Thompson
http://www.PhySci.org/ Open-source software suite
http://www.PhySci.org/codes/ Web & IT Help
http://www.1point1C.org/ Science & Technology
Jul 23 '05 #3
Sorry, that was a mistake and I didn't mean to do it. Im at work and
was just posting a quick reply. I'm only trying help someone out -
there's no need to be like that.
Jul 23 '05 #4
On 19 Jul 2004 09:27:11 -0700, Dan Webb wrote:
Sorry, that was a mistake and I didn't mean to do it. Im at work and
was just posting a quick reply. I'm only trying help someone out -
there's no need to be like that.


Don't get me wrong Dan, I will look forward
to seeing your answers. With a little more
attention to trimming, I'm sure you can please
everybody..

OK, now I'm just getting a bit light-headed,
...you can *never* please everybody. ;-)

--
Andrew Thompson
http://www.PhySci.org/ Open-source software suite
http://www.PhySci.org/codes/ Web & IT Help
http://www.1point1C.org/ Science & Technology
Jul 23 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
20500
by: bonehead | last post by:
I am a javascript newbie and did not see anything quite like this in sections 1-5 of the FAQ or on a Google search. Is there a generic javascript example of a compound drop-down/text box, i.e., if the user selects an item from the drop-down, the selected item populates the text box, but the user can also type their own ad-hoc value into the text box if desired? I would like to include such a control in a php/mysql web form I am...
0
16167
by: vikram.cvk | last post by:
Hello Experts, Im trying to design a CSS vertical drop down menu which should have the following functionality. Home About Us | -->Overview
6
4332
by: Adrienne | last post by:
http://www.intraproducts.com/beta/infinicall/index.asp has a drop down menu on Investor Relations. The markup and CSS are both valid, and most of the time, the menu drops down correctly. However, sometimes, mousing over the words does not make the menu drop down, or the drop down disappears. Can anyone spot anything in the markup or CSS that is causing this behavior? Thanks in advance.
2
3667
by: pantagruel | last post by:
I have an old web application I did where browsers with dynamic capabilities received a drop down menu on the top of the page and a fold out on the left hand side of the page and non-dynamic browsers received two static menus. This was done via server side detection of browser capabilities and branching the application. Over time needless to say the capabilities between the dynamic and static sides got seriously out of whack. Now the...
2
9469
by: kmnotes04 | last post by:
Is it possible to link one drop-down box to another? For example, if a name is chosen from a drop-down list, can another drop-down list then automatically display the person's office as a result of the choice made in the first drop-down list? If so, how can that be done? I am working with 'Teach Yourself Microsoft Access' and I didn't see it discussed in that book (if it's even possible to do). Or would I just have to create linked tables...
17
14816
by: Aussie Rules | last post by:
Hi, I want to have a single line combo box dropdown, but where i can selected multiple items in the drop down via a check box... I can see one in the standard tool box... is there one ? If not any suggestions as to where to get one from.
4
9294
by: TycoonUK | last post by:
Hi, As I do not have IE7 on my computer, I was wondering if there is a fault in my CSS Menu when using IE7. Please can someone look at my site - http://www.worldofmonopoly.co.uk and tell me if it works, and if it does not, tell me why it does not work. Thanks.
1
4845
by: saritbhatta | last post by:
hi all, I am trying to create a single drop down menu with submenu with smooth drop down effect using javascript,css and html. I am getting many examples but without any smooth effect. Can anyone help me to solve this problem.
30
26518
ADezii
by: ADezii | last post by:
This week’s Tip of the Week will clearly demonstrate how you can dynamically set the Drop Down List Width of a Combo Box to the length of the longest item in its Row Source. The inspiration for this Tip came from one of our own resident Experts, mshmyob. In response to a Thread relating to this very Topic, mshmyob came up with a rather ingenious method to accomplish this task. He computed the Average Character Width of a String consisting of...
0
8838
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9366
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9215
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9130
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8005
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6668
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5979
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4484
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
2574
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.