// JavaScript for displaying and handling menus. 

////////////////////////////////////////////////////////////////////
// Menu customization
////////////////////////////////////////////////////////////////////

var NoOffFirstLineMenus = 7;   
var LowBgColor = '#003366';    
var LowSubBgColor = '#CCD5DD'; 
var HighBgColor = '#ffffcc';   
var HighSubBgColor = '#ffffcc'; 
var FontLowColor = '#ffffcc';   
var FontSubLowColor = '#0033ff';  
var FontHighColor = '#003366';    
var FontSubHighColor = '#003366';  
var BorderColor = '#003366';    
var BorderSubColor = '#999999';	
var BorderWidth = 1;            
var BorderBtwnElmnts=1;         
var FontFamily="arial,comic sans ms,technical"	
var FontSize=10;				
var FontBold=0;				
var FontItalic=0;				
var MenuTextCentered='left';			
var MenuCentered='center';			
var MenuVerticalCentered='top';		
var ChildOverlap=.0;				
var ChildVerticalOverlap=.0;			
var StartTop=110;				
var StartLeft=0;				
var VerCorrect=0;				
var HorCorrect=0;				
var LeftPaddng=3;				
var TopPaddng=2;				
var FirstLineHorizontal=1;			
var MenuFramesVertical=0;			
var DissapearDelay=100;			
var TakeOverBgColor=1;			
var FirstLineFrame='navig';			
var SecLineFrame='space';			
var DocTargetFrame='space';			
var TargetLoc='';				
var HideTop=0;				
var MenuWrap=1;				
var RightToLeft=0;				
var UnfoldsOnClick=0;			
var WebMasterCheck=0;			
var ShowArrow=0;				
var KeepHilite=1;				
var Arrws=['tri.gif',5,10,'tridown.gif',10,5,'trileft.gif',5,10];	

// Home

Menu1 = new Array("Home", "/www/", "", 0, 25, 50);

// About

Menu2 = new Array("About", "/www/sp/about/", "", 7, 25, 50);
Menu2_1 = new Array("History", "/www/sp/about/history/", "", 0, 25, 100);
Menu2_2 = new Array("Facilities", "/www/sp/about/facilities/", "", 0, 25, 100);
Menu2_3 = new Array("Contact Us", "/www/sp/about/contact_us/", "", 0, 25, 100);
Menu2_4 = new Array("Directions", "/www/sp/about/directions/", "", 0, 25, 100);
Menu2_5 = new Array("Visitors", "/www/sp/about/visitors/", "", 0, 25, 100);
Menu2_6 = new Array("Faculty Search", "/www/sp/about/faculty_search/",
    "", 0, 25, 100);
Menu2_7 = new Array("Staff Search", "/www/sp/about/staff_search/", "", 0, 
    25, 100);

// Academic

Menu3 = new Array("Academic", "/www/sp/academic/", "", 9, 25, 75);
Menu3_1 = new Array("Admissions", "/www/sp/academic/admissions/", "",
    0, 25, 155);
Menu3_2 = new Array("Student Funding", "/www/sp/academic/student_funding/", "",
    0, 25, 155);
Menu3_3 = new Array("Undergraduate Programs...", 
    "", "", 2, 25, 155);
Menu3_3_1 = new Array("Computer Science", 
    "/www/sp/academic/undergraduate_programs/cs/", "", 0, 25, 155);
Menu3_3_2 = new Array("Information Technology", 
    "/www/sp/academic/undergraduate_programs/it/", "", 0, 25, 155);
Menu3_4 = new Array("Graduate Programs", 
    "/www/sp/academic/graduate_programs/", "", 0, 25, 150);
Menu3_5 = new Array("Honors Program", 
    "/www/sp/academic/honors_program/", "", 0, 25, 150);
Menu3_6 = new Array("Certificate Programs", 
    "/www/sp/academic/certificate_programs/", "", 0, 25, 150);
Menu3_7 = new Array("Program of Study", 
    "/www/sp/academic/program_of_study/", "", 0, 25, 150);
Menu3_8 = new Array("Courses...", "/www/academic/courses/", "", 2, 25, 150);
Menu3_8_1 = new Array("Undergraduate", 
    "/www/academic/courses/undergraduate/", "", 0, 25, 150);
Menu3_8_2 = new Array("Graduate", 
    "/www/academic/courses/graduate/", "", 0, 25, 150);
Menu3_9 = new Array("Course Schedule", 
    "/www/academic/course_schedule/", "", 0, 25, 75);

// People

Menu4 = new Array("People", "/www/sp/people/", "", 3, 25, 60);
Menu4_1 = new Array("Faculty...", "/www/people/faculty/", "", 3, 25, 75);
Menu4_1_1 = new Array("Full-time", "/www/people/faculty/full_time/", 
    "", 0, 25, 70);
Menu4_1_2 = new Array("Part-time", "/www/people/faculty/part_time/", 
    "", 0, 25, 70);
Menu4_1_3 = new Array("Retired", "/www/people/faculty/retired/", 
    "", 0, 25, 70);
Menu4_2 = new Array("Staff...", "/www/people/staff/", "", 3, 25, 75);
Menu4_2_1 = new Array("Administrative", "/www/people/staff/administrative/",
    "", 0, 25, 120);
Menu4_2_2 = new Array("Research", "/www/people/staff/research/", "",
    0, 25, 120);
Menu4_2_3 = new Array("Technical Support", 
    "/www/people/staff/technical_support/", "", 0, 25, 120);
Menu4_3 = new Array("Students...", "", "", 6, 25, 130);
Menu4_3_1 = new Array("Undergrads (BS)","/www/people/students/undergrads/", 
		      "", 0, 25, 130);
Menu4_3_2 = new Array("Undergrads (BA)","/www/people/students/undergrads_ba/", 
		      "", 0, 25, 130);
Menu4_3_3 = new Array("Masters", "/www/people/students/masters/", "", 
    0, 25, 130);
Menu4_3_4 = new Array("PhDs", "/www/people/students/phds/", "", 0, 25, 130);
Menu4_3_5 = new Array("DBTech", "/www/people/students/dbtech/", "", 
		      0, 25, 130);
Menu4_3_6 = new Array("BS-IT", "/www/people/students/bs_it/", "", 0, 25, 130);

// Research

Menu5 = new Array("Research", "/www/sp/research/", "", 4, 25, 70);
Menu5_1 = new Array("Groups", "/www/research/groups/", "", 0, 25, 85);
Menu5_2 = new Array("Publications", "/www/research/publications/", "", 
    0, 25, 85);
Menu5_3 = new Array("Support", "/www/research/support/", "", 0, 25, 85);
Menu5_4 = new Array("Gifts", "/www/research/gifts/", "", 0, 25, 85);

// News and Events

Menu6 = new Array("News and Events", "/www/sp/news_and_events/", "",
    4, 25, 120);
Menu6_1 = new Array("Events Calendar", 
    "/www/news_and_events/events_calendar/", "", 0, 25, 130);
Menu6_2 = new Array("Announcements", "/www/news_and_events/announcements/", 
    "", 0, 25, 130);
Menu6_3 = new Array("Jobs and Internships", 
    "/www/news_and_events/jobs_and_internships/", "", 0, 25, 130);
Menu6_4 = new Array("Accomplishments", 
    "/www/news_and_events/accomplishments/", "", 0, 25, 130);

// Resources

Menu7 = new Array("Resources", "/www/sp/resources/", "", 0, 25, 80);

////////////////////////////////////////////////////////////////////
//  Menu Library
////////////////////////////////////////////////////////////////////

var AgntUsr=navigator.userAgent.toLowerCase();
var AppVer=navigator.appVersion.toLowerCase();
var DomYes=document.getElementById?1:0;
var NavYes=AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
var ExpYes=AgntUsr.indexOf('msie')!=-1?1:0;
var Opr=AgntUsr.indexOf('opera')!=-1?1:0;
var Opr6orless=window.opera && navigator.userAgent.search(/opera.[1-6]/i)!=-1;
if(Opr){NavYes=1;ExpYes=0;}
var DomNav=DomYes&&NavYes?1:0;
var DomExp=DomYes&&ExpYes?1:0;
var Nav4=NavYes&&!DomYes&&document.layers?1:0;
var Exp4=ExpYes&&!DomYes&&document.all?1:0;
var Exp6Plus=(AppVer.indexOf("msie 6")!= -1||AppVer.indexOf("msie 7")!= -1)?1:0
    var PosStrt=(NavYes||ExpYes||Opr)&&!Opr6orless?1:0;
var P_X=DomYes?"px":"",FHtml=null,ScHtml=null,FCmplnt=0,SCmplnt=0;
var FrstLoc,ScLoc,DcLoc;
var ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
var ScLdAgainWin;
var FirstColPos,SecColPos,DocColPos;
var RcrsLvl=0;
var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
var FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
var CntrTxt,TxtClose,ImgStr;
var Ztop=100;
var ShwFlg=0;
var M_StrtTp=StartTop,M_StrtLft=StartLeft;
var StaticPos=0;
var M_Hide=Nav4?'hide':'hidden';
var M_Show=Nav4?'show':'visible';
var Par=parent.frames[0]&&FirstLineFrame!=SecLineFrame?parent:window;
var Doc=Par.document;
var Bod=Doc.body;
var Trigger=NavYes&&!Opr?Par:Bod;

MenuTextCentered=MenuTextCentered==1||MenuTextCentered=='center'?'center':MenuTextCentered==0||MenuTextCentered!='right'?'left':'right';

WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs width: "];

if(Trigger.onload)Dummy=Trigger.onload;
Trigger.onload=Go;

function Dummy(){return}

function CnclSlct(){return false}

function RePos(){
    FrstWinWdth=ExpYes?FCmplnt?FHtml.clientWidth:FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
    FrstWinHght=ExpYes?FCmplnt?FHtml.clientHeight:FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
    ScWinWdth=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
    ScWinHght=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
    if(MenuCentered=='justify'&&FirstLineHorizontal){
	FrstCntnr.style.width=FrstWinWdth+P_X;
	var LftXtra=(DomNav&&!Opr)||FCmplnt?LeftPaddng:0;
	ClcJus();
	var P=FrstCntnr.FrstMbr,W=Menu1[5],i;
	for(i=0;i<NoOffFirstLineMenus;i++){P.style.width=W+P_X;P=P.PrvMbr}}
    StaticPos=-1;
    if(TargetLoc)ClcTrgt();
    if(MenuCentered)ClcLft();
    if(MenuVerticalCentered)ClcTp();
    PosMenu(FrstCntnr,StartTop,StartLeft)}

function UnLoaded(){
    if(CloseTmr)clearTimeout(CloseTmr);
    Loadd=0; Creatd=0;
    if(HideTop){
	var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
	FCStyle.visibility=M_Hide}}

function ReDoWhole(){
    if(ScWinWdth!=ScLoc.innerWidth||ScWinHght!=ScLoc.innerHeight||FrstWinWdth!=FrstLoc.innerWidth||FrstWinHght!=FrstLoc.innerHeight)Doc.location.reload()}

function Check(WMnu,NoOf){
    var i,array,ArrayLoc;
    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(array+'_',ArrayLoc[array][3])) return false}
    return true}

function WbMstrAlrt(No,Xtra){
    return confirm(WbMstrAlrts[No]+Xtra+'   ')}

function Go(){
    Dummy();
    if(Loadd||!PosStrt)return;
    BeforeStart();
    Creatd=0; Loadd=1;
    status='Building menu';
    if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
	FirstLineFrame=SecLineFrame;
	if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
	    FirstLineFrame=SecLineFrame=DocTargetFrame;
	    if(FirstLineFrame =="" || !parent.frames[FirstLineFrame])FirstLineFrame=SecLineFrame=DocTargetFrame=''}}
    if(SecLineFrame =="" || !parent.frames[SecLineFrame]){
	SecLineFrame=DocTargetFrame;
	if(SecLineFrame =="" || !parent.frames[SecLineFrame])SecLineFrame=DocTargetFrame=FirstLineFrame}
    if(DocTargetFrame =="" || !parent.frames[DocTargetFrame])DocTargetFrame=SecLineFrame;
    if(WebMasterCheck){    if(!Check('Menu',NoOffFirstLineMenus)){status='build aborted';return}}
    FrstLoc=FirstLineFrame!=""?parent.frames[FirstLineFrame]:window;
    ScLoc=SecLineFrame!=""?parent.frames[SecLineFrame]:window;
    DcLoc=DocTargetFrame!=""?parent.frames[DocTargetFrame]:window;
    if (FrstLoc==ScLoc) AcrssFrms=0;
    if (AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:1;
    if(Exp6Plus||Opr){
	FHtml=FrstLoc.document.getElementsByTagName("HTML")[0];ScHtml=ScLoc.document.getElementsByTagName("HTML")[0];
	FCmplnt=FrstLoc.document.compatMode.indexOf("CSS")==-1?0:1;SCmplnt=ScLoc.document.compatMode.indexOf("CSS")==-1?0:1}
    FrstWinWdth=ExpYes?FCmplnt?FHtml.clientWidth:FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
    FrstWinHght=ExpYes?FCmplnt?FHtml.clientHeight:FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
    ScWinWdth=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
    ScWinHght=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
    if(Nav4){	CntrTxt=MenuTextCentered!='left'?"<div align='"+MenuTextCentered+"'>":"";
    TxtClose="</font>"+MenuTextCentered!='left'?"</div>":""}
    FirstColPos=Nav4?FrstLoc.document:FrstLoc.document.body;
    SecColPos=Nav4?ScLoc.document:ScLoc.document.body;
    DocColPos=Nav4?DcLoc.document:ScLoc.document.body;
    if (TakeOverBgColor)FirstColPos.bgColor=AcrssFrms?SecColPos.bgColor:DocColPos.bgColor;
    if(MenuCentered=='justify'&&FirstLineHorizontal)ClcJus();
    if(FrstCreat){
	FrstCntnr=CreateMenuStructure('Menu',NoOffFirstLineMenus);
	FrstCreat=AcrssFrms?0:1}
    else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
    if(TargetLoc)ClcTrgt();
    if(MenuCentered)ClcLft();
    if(MenuVerticalCentered)ClcTp();
    PosMenu(FrstCntnr,StartTop,StartLeft);
    IniFlg=1;
    Initiate();
    Creatd=1;
    if (AcrssFrms){
	ScLdAgainWin=ExpYes?ScLoc.document.body:ScLoc;
	ScLdAgainWin.onunload=UnLoaded}
    Trigger.onresize=Nav4?ReDoWhole:RePos;
    AfterBuild();
    if(MenuVerticalCentered=='static'&&!AcrssFrms)setInterval('KeepPos()',250);
    status='Menu ready for use'}

function KeepPos(){
    var TS=ExpYes?SCmplnt?ScHtml.scrollTop:FrstLoc.document.body.scrollTop:FrstLoc.pageYOffset;
    if(TS!=StaticPos){
	var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
	FrstCntnr.OrgTop=StartTop+TS;StaticPos=TS;
	FCStyle.top=FrstCntnr.OrgTop+P_X}}

function ClcJus(){
    var a=BorderBtwnElmnts?1:2,b=BorderBtwnElmnts?BorderWidth:0;
    var Size=Math.round(((FrstWinWdth-a*BorderWidth)/NoOffFirstLineMenus)-b),i,j;
    for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval('Menu'+i);j[5]=Size}
    StartLeft=0}

function ClcTrgt(){
    var TLoc=Nav4?FrstLoc.document.layers[TargetLoc]:DomYes?FrstLoc.document.getElementById(TargetLoc):FrstLoc.document.all[TargetLoc];
    StartTop=M_StrtTp;
    StartLeft=M_StrtLft;
    if(DomYes){
	while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft;TLoc=TLoc.offsetParent}}
    else{	StartTop+=Nav4?TLoc.pageY:TLoc.offsetTop;StartLeft+=Nav4?TLoc.pageX:TLoc.offsetLeft}}

function ClcLft(){
    if(MenuCentered!='left'&&MenuCentered!='justify'){
	var Size=FrstWinWdth-(!Nav4?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
	StartLeft=M_StrtLft;
	StartLeft+=MenuCentered=='right'?Size:Size/2}}

function ClcTp(){
    if(MenuVerticalCentered!='top'&&MenuVerticalCentered!='static'){
	var Size=FrstWinHght-(!Nav4?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
	StartTop=M_StrtTp;
	StartTop+=MenuVerticalCentered=='bottom'?Size:Size/2}}

function PosMenu(CntnrPntr,Tp,Lt){
    RcrsLvl++;
    var Cmplnt=RcrsLvl==1?FCmplnt:SCmplnt;
    var LftXtra=(DomNav&&!Opr)||Cmplnt?LeftPaddng:0;
    var TpXtra=(DomNav&&!Opr)||Cmplnt?TopPaddng:0;
    var Topi,Lefti,Hori;
    var Cntnr=CntnrPntr;
    var Mmbr=Cntnr.FrstMbr;
    var CntnrStyle=!Nav4?Cntnr.style:Cntnr;
    var MmbrStyle=!Nav4?Mmbr.style:Mmbr;
    var PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
    var PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
    var MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
    var MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
    var CntnrWt=!Nav4?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
    var CntnrHt=!Nav4?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
    var SubTp,SubLt;
    if (RcrsLvl==1 && AcrssFrms)!MenuFramesVertical?Tp=FrstWinHght-CntnrHt+(Nav4?4:0):Lt=RightToLeft?0:FrstWinWdth-CntnrWt+(Nav4?4:0);
    if (RcrsLvl==2 && AcrssFrms)!MenuFramesVertical?Tp=0:Lt=RightToLeft?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=Lt;
    if (RcrsLvl==1 && FirstLineHorizontal){
	Hori=1;Lefti=CntnrWt-MmbrWt-2*BorderWidth;Topi=0}
    else{	Hori=Lefti=0;Topi=CntnrHt-MmbrHt-2*BorderWidth}
    while(Mmbr!=null){
	MmbrStyle.left=Lefti+BorderWidth+P_X;
	MmbrStyle.top=Topi+BorderWidth+P_X;
	if(Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+BorderWidth);
	if(Mmbr.ChildCntnr){
	    if(RightToLeft)ChldCntnrWdth=Nav4?Mmbr.ChildCntnr.clip.width:parseInt(Mmbr.ChildCntnr.style.width);
	    if(Hori){	SubTp=Topi+MmbrHt+2*BorderWidth;
	    SubLt=RightToLeft?Lefti+MmbrWt-ChldCntnrWdth:Lefti}
	    else{ SubLt=RightToLeft?Lefti-ChldCntnrWdth+ChildOverlap*MmbrWt+BorderWidth:Lefti+(1-ChildOverlap)*MmbrWt+BorderWidth;
	    SubTp=RcrsLvl==1&&AcrssFrms?Topi:Topi+ChildVerticalOverlap*MmbrHt}
	    PosMenu(Mmbr.ChildCntnr,SubTp,SubLt)}
	Mmbr=Mmbr.PrvMbr;
	if(Mmbr){ MmbrStyle=!Nav4?Mmbr.style:Mmbr;
	PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
	PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
	MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
	MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
	Hori?Lefti-=BorderBtwnElmnts?(MmbrWt+BorderWidth):(MmbrWt):Topi-=BorderBtwnElmnts?(MmbrHt+BorderWidth):(MmbrHt)}}
    RcrsLvl--}

function Initiate(){
    if(IniFlg){	Init(FrstCntnr);IniFlg=0;
    if(ShwFlg)AfterCloseAll();ShwFlg=0}}

function Init(CntnrPntr){
    var Mmbr=CntnrPntr.FrstMbr;
    var MCStyle=Nav4?CntnrPntr:CntnrPntr.style;
    RcrsLvl++;
    MCStyle.visibility=RcrsLvl==1?M_Show:M_Hide;
    while(Mmbr!=null){
	if(Mmbr.Hilite){Mmbr.Hilite=0;if(KeepHilite)LowItem(Mmbr)}
	if(Mmbr.ChildCntnr) Init(Mmbr.ChildCntnr);
	Mmbr=Mmbr.PrvMbr}
    RcrsLvl--}

function ClearAllChilds(Pntr){
    var CPCCStyle;
    while (Pntr){
	if(Pntr.Hilite){
	    Pntr.Hilite=0;
	    if(KeepHilite)LowItem(Pntr);
	    if(Pntr.ChildCntnr){
		CPCCStyle=Nav4?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
		CPCCStyle.visibility=M_Hide;
		ClearAllChilds(Pntr.ChildCntnr.FrstMbr)}
	    break}
	Pntr=Pntr.PrvMbr}}

function GoTo(){
    if(this.LinkTxt){
	status='';
	var HP=Nav4?this.LowLyr:this;
	LowItem(HP);
	this.LinkTxt.indexOf('javascript:')!=-1?eval(this.LinkTxt):DcLoc.location.href=this.LinkTxt}}

function HiliteItem(P){
    if(Nav4){
	if(P.ro)P.document.images[P.rid].src=P.ri2;
	else{	if(P.HiBck)P.bgColor=P.HiBck;
	if(P.value.indexOf('<img')==-1){
	    P.document.write(P.Ovalue);
	    P.document.close()}}}
    else{	if(P.ro){	var Lc=P.Level==1?FrstLoc:ScLoc;
    Lc.document.images[P.rid].src=P.ri2}
    else{ if(P.HiBck)P.style.backgroundColor=P.HiBck;
    if(P.HiFntClr)P.style.color=P.HiFntClr}}
    P.Hilite=1}

function LowItem(P){
    if(P.ro){	if(Nav4)P.document.images[P.rid].src=P.ri1;
    else{	var Lc=P.Level==1?FrstLoc:ScLoc;
    Lc.document.images[P.rid].src=P.ri1}}
    else{	if(Nav4){	if(P.LoBck)P.bgColor=P.LoBck;
    if(P.value.indexOf('<img')==-1){
	P.document.write(P.value);
	P.document.close()}}
    else{ if(P.LoBck)P.style.backgroundColor=P.LoBck;
    if(P.LwFntClr)P.style.color=P.LwFntClr}}}

function OpenMenu(){													       
    if(!Loadd||!Creatd) return;
    var TpScrlld=ExpYes?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
    var LScrlld=ExpYes?SCmplnt?ScHtml.scrollLeft:ScLoc.document.body.scrollLeft:ScLoc.pageXOffset;
    var CCnt=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr;
    var ThisHt=Nav4?this.clip.height:parseInt(this.style.height);
    var ThisWt=Nav4?this.clip.width:parseInt(this.style.width);
    var ThisLft=AcrssFrms&&this.Level==1&&!FirstLineHorizontal?0:Nav4?this.Container.left:parseInt(this.Container.style.left);
    var ThisTp=AcrssFrms&&this.Level==1&&FirstLineHorizontal?0:Nav4?this.Container.top:parseInt(this.Container.style.top);
    var HP=Nav4?this.LowLyr:this;
    CurrntOvr=this;
    IniFlg=0;
    ClearAllChilds(this.Container.FrstMbr);
    HiliteItem(HP);
    if(CCnt!=null){
	if(!ShwFlg){ShwFlg=1;	BeforeFirstOpen()}
	var CCW=Nav4?this.LowLyr.ChildCntnr.clip.width:parseInt(this.ChildCntnr.style.width);
	var CCH=Nav4?this.LowLyr.ChildCntnr.clip.height:parseInt(this.ChildCntnr.style.height);
	var ChCntTL=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr.style;
	var SubLt=AcrssFrms&&this.Level==1?CCnt.OrgLeft+ThisLft+LScrlld:CCnt.OrgLeft+ThisLft;
	var SubTp=AcrssFrms&&this.Level==1?CCnt.OrgTop+ThisTp+TpScrlld:CCnt.OrgTop+ThisTp;
	if(MenuWrap){
	    if(RightToLeft){
		if(SubLt<LScrlld)SubLt=this.Level==1?LScrlld:SubLt+(CCW+(1-2*ChildOverlap)*ThisWt);
		if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=ScWinWdth+LScrlld-CCW}
	    else{ if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=this.Level==1?ScWinWdth+LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap)*ThisWt);
	    if(SubLt<LScrlld)SubLt=LScrlld}
	    if(SubTp+CCH>TpScrlld+ScWinHght)SubTp=this.Level==1?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
	    if(SubTp<TpScrlld)SubTp=TpScrlld}
	ChCntTL.top=SubTp+P_X;ChCntTL.left=SubLt+P_X;ChCntTL.visibility=M_Show}
    status=this.LinkTxt}

function OpenMenuClick(){
    if(!Loadd||!Creatd) return;
    var HP=Nav4?this.LowLyr:this;
    CurrntOvr=this;
    IniFlg=0;
    ClearAllChilds(this.Container.FrstMbr);
    HiliteItem(HP);
    status=this.LinkTxt}

function CloseMenu(){
    if(!Loadd||!Creatd) return;
    if(!KeepHilite){
	var HP=Nav4?this.LowLyr:this;
	LowItem(HP)}
    status='';
    if(this==CurrntOvr){
	IniFlg=1;
	if(CloseTmr)clearTimeout(CloseTmr);
	CloseTmr=setTimeout('Initiate(CurrntOvr)',DissapearDelay)}}

function CntnrSetUp(Wdth,Hght,NoOff){
    var x=RcrsLvl==1?BorderColor:BorderSubColor;
    this.FrstMbr=null;
    this.OrgLeft=this.OrgTop=0;
    if(x)this.bgColor=x;
    if(Nav4){	this.visibility='hide';
    this.resizeTo(Wdth,Hght)}
    else{	if(x)this.style.backgroundColor=x;
    this.style.width=Wdth+P_X;
    this.style.height=Hght+P_X;
    this.style.fontFamily=FontFamily;
    this.style.fontWeight=FontBold?'bold':'normal';
    this.style.fontStyle=FontItalic?'italic':'normal';
    this.style.fontSize=FontSize+'pt';
    this.style.zIndex=RcrsLvl+Ztop}}

function MbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
    var Location=RcrsLvl==1?FrstLoc:ScLoc;
    var MemVal=eval(WhatMenu+'[0]');
    var t,T,L,W,H,S;
    var a,b,c,d;
    var Cmplnt=RcrsLvl==1?FCmplnt:SCmplnt;
    var LftXtra=(DomNav&&!Opr)||Cmplnt?LeftPaddng:0;
    var TpXtra=(DomNav&&!Opr)||Cmplnt?TopPaddng:0;
    this.PrvMbr=PrMmbr;
    this.Level=RcrsLvl;
    this.LinkTxt=eval(WhatMenu+'[1]');
    this.Container=MmbrCntnr;
    this.ChildCntnr=null;
    this.Hilite=0;
    this.style.overflow='hidden';
    this.style.cursor=ExpYes&&(this.LinkTxt||(RcrsLvl==1&&UnfoldsOnClick))?'hand':'default';
    this.ro=0;
    if(MemVal.indexOf('rollover')!=-1){
	this.ro=1;
	this.ri1=MemVal.substring(MemVal.indexOf(':')+1,MemVal.lastIndexOf(':'));
	this.ri2=MemVal.substring(MemVal.lastIndexOf(':')+1,MemVal.length);
	this.rid=WhatMenu+'i';
	MemVal="<img src=\""+this.ri1+"\" name=\""+this.rid+"\" width=\""+Wdth+"\" height=\""+Hght+"\">"}
    this.value=MemVal;
    if(RcrsLvl==1){
	a=LowBgColor;
	b=HighBgColor;
	c=FontLowColor;
	d=FontHighColor}
    else{	a=LowSubBgColor;
    b=HighSubBgColor;
    c=FontSubLowColor;
    d=FontSubHighColor}
    this.LoBck=a;
    this.LwFntClr=c;
    this.HiBck=b;
    this.HiFntClr=d;
    this.style.color=this.LwFntClr;
    if(this.LoBck)this.style.backgroundColor=this.LoBck;
    this.style.textAlign=MenuTextCentered;
    if(eval(WhatMenu+'[2]'))this.style.backgroundImage="url(\'"+eval(WhatMenu+'[2]')+"\')";
    if(MemVal.indexOf('<')==-1){ 
	this.style.width=Wdth-LftXtra+P_X;
	this.style.height=Hght-TpXtra+P_X;
	this.style.paddingLeft=LeftPaddng+P_X;
	this.style.paddingTop=TopPaddng+P_X}
    else{ this.style.width=Wdth+P_X;
    this.style.height=Hght+P_X}
    if(MemVal.indexOf('<')==-1&&DomYes){
	t=Location.document.createTextNode(MemVal);
	this.appendChild(t)}
    else this.innerHTML=MemVal;
    if(eval(WhatMenu+'[3]')&&ShowArrow){
	a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6:0;
	S=Arrws[a];
	W=Arrws[a+1];
	H=Arrws[a+2];
	T=RcrsLvl==1&&FirstLineHorizontal?Hght-H-2:(Hght-H)/2;
	L=RightToLeft?2:Wdth-W-2;
	if(DomYes){

	    t=Location.document.createElement('img');
	    this.appendChild(t);
	    t.style.position='absolute';
	    t.src=S;

	    t.style.width=W+P_X;
	    t.style.height=H+P_X;
	    t.style.top=T+P_X;
	    t.style.left=L+P_X}
	else{ MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'><img src='"+S+"'></div>";
	this.innerHTML=MemVal}}
    if(ExpYes){this.onselectstart=CnclSlct;
    this.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
    this.onmouseout=CloseMenu;
    this.onclick=RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?OpenMenu:GoTo }
    else{									   RcrsLvl==1&&UnfoldsOnClick?this.addEventListener('mouseover',OpenMenuClick,false):this.addEventListener('mouseover',OpenMenu,false);
    this.addEventListener('mouseout',CloseMenu,false);
    RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?this.addEventListener('click',OpenMenu,false):this.addEventListener('click',GoTo,false)}}

function NavMbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
    var a,b,c,d;
    if(RcrsLvl==1){
	a=LowBgColor;
	b=HighBgColor;
	c=FontLowColor;
	d=FontHighColor}
    else {	a=LowSubBgColor;
    b=HighSubBgColor;
    c=FontSubLowColor;
    d=FontSubHighColor	}
    this.value=eval(WhatMenu+'[0]');
    this.ro=0;
    if(this.value.indexOf('rollover')!=-1){
	this.ro=1;
	this.ri1=this.value.substring(this.value.indexOf(':')+1,this.value.lastIndexOf(':'));
	this.ri2=this.value.substring(this.value.lastIndexOf(':')+1,this.value.length);
	this.rid=WhatMenu+'i';this.value="<img src='"+this.ri1+"' name='"+this.rid+"'>"}
    if(LeftPaddng&&this.value.indexOf('<')==-1&&MenuTextCentered=='left')this.value='&nbsp\;'+this.value;
    if(FontBold)this.value=this.value.bold();
    if(FontItalic)this.value=this.value.italics();
    this.Ovalue=this.value;
    this.value=this.value.fontcolor(c);
    this.Ovalue=this.Ovalue.fontcolor(d);
    this.value=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.value+TxtClose;
    this.Ovalue=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.Ovalue+TxtClose;
    this.LoBck=a;
    this.HiBck=b;
    this.ChildCntnr=null;
    this.PrvMbr=PrMmbr;
    this.Hilite=0;
    this.visibility='inherit';
    if(this.LoBck)this.bgColor=this.LoBck;
    this.resizeTo(Wdth,Hght);
    if(!AcrssFrms&&eval(WhatMenu+'[2]'))this.background.src=eval(WhatMenu+'[2]');
    this.document.write(this.value);
    this.document.close();
    this.CmdLyr=new Layer(Wdth,MmbrCntnr);
    this.CmdLyr.Level=RcrsLvl;
    this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
    this.CmdLyr.visibility='inherit';
    this.CmdLyr.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
    this.CmdLyr.onmouseout=CloseMenu;
    this.CmdLyr.captureEvents(Event.MOUSEUP);
    this.CmdLyr.onmouseup=RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?OpenMenu:GoTo;
    this.CmdLyr.LowLyr=this;
    this.CmdLyr.resizeTo(Wdth,Hght);
    this.CmdLyr.Container=MmbrCntnr;
    if(eval(WhatMenu+'[3]')&&ShowArrow){
	a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6:0;
	this.CmdLyr.ImgLyr=new Layer(Arrws[a+1],this.CmdLyr);
	this.CmdLyr.ImgLyr.visibility='inherit';
	this.CmdLyr.ImgLyr.top=RcrsLvl==1&&FirstLineHorizontal?Hght-Arrws[a+2]-2:(Hght-Arrws[a+2])/2;
	this.CmdLyr.ImgLyr.left=RightToLeft?2:Wdth-Arrws[a+1]-2;
	this.CmdLyr.ImgLyr.width=Arrws[a+1];
	this.CmdLyr.ImgLyr.height=Arrws[a+2];
	ImgStr="<img src='"+Arrws[a]+"' width='"+Arrws[a+1]+"' height='"+Arrws[a+2]+"'>";
	this.CmdLyr.ImgLyr.document.write(ImgStr);
	this.CmdLyr.ImgLyr.document.close()}}

function CreateMenuStructure(MName,NumberOf){
    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 Location=RcrsLvl==1?FrstLoc:ScLoc;
    if (RcrsLvl==1&&FirstLineHorizontal){
	for(i=1;i<NumberOf+1;i++){
	    WMnu=MName+eval(i);
	    Wdth=eval(WMnu+'[5]')?Wdth+eval(WMnu+'[5]'):Wdth+MenuWidth}
	Wdth=BorderBtwnElmnts?Wdth+(NumberOf+1)*BorderWidth:Wdth+2*BorderWidth;Hght=MenuHeight+2*BorderWidth}
    else{	for(i=1;i<NumberOf+1;i++){
	WMnu=MName+eval(i);
	Hght=eval(WMnu+'[4]')?Hght+eval(WMnu+'[4]'):Hght+MenuHeight}
    Hght=BorderBtwnElmnts?Hght+(NumberOf+1)*BorderWidth:Hght+2*BorderWidth;Wdth=MenuWidth+2*BorderWidth}
    if(DomYes){
	var MmbrCntnr=Location.document.createElement("div");
	MmbrCntnr.style.position='absolute';
	MmbrCntnr.style.visibility='hidden';
	Location.document.body.appendChild(MmbrCntnr)}
    else{	if(Nav4) var MmbrCntnr=new Layer(Wdth,Location)
			 else{	 WMnu+='c';
	    Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WMnu+"' style='visibility:hidden; position:absolute;'><\/div>");
	    var MmbrCntnr=Location.document.all[WMnu]}}
    MmbrCntnr.SetUp=CntnrSetUp;
    MmbrCntnr.SetUp(Wdth,Hght,NumberOf);
    if(Exp4){ MmbrCntnr.InnerString='';
    for(i=1;i<NumberOf+1;i++){
	WMnu=MName+eval(i);
	MmbrCntnr.InnerString+="<div id='"+WMnu+"' style='position:absolute;'><\/div>"}
    MmbrCntnr.innerHTML=MmbrCntnr.InnerString}
    for(i=1;i<NumberOf+1;i++){
	WMnu=MName+eval(i);
	NoOffSubs=eval(WMnu+'[3]');
	Wdth=RcrsLvl==1&&FirstLineHorizontal?eval(WMnu+'[5]')?eval(WMnu+'[5]'):MenuWidth:MenuWidth;
	Hght=RcrsLvl==1&&FirstLineHorizontal?MenuHeight:eval(WMnu+'[4]')?eval(WMnu+'[4]'):MenuHeight;
	if(DomYes){
	    Mbr=Location.document.createElement("div");
	    Mbr.style.position='absolute';
	    Mbr.style.visibility='inherit';
	    MmbrCntnr.appendChild(Mbr)}
	else Mbr=Nav4?new Layer(Wdth,MmbrCntnr):Location.document.all[WMnu];
	Mbr.SetUp=Nav4?NavMbrSetUp:MbrSetUp;
	Mbr.SetUp(MmbrCntnr,PrvMmbr,WMnu,Wdth,Hght);
	if(NoOffSubs) Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
	PrvMmbr=Mbr}
    MmbrCntnr.FrstMbr=Mbr;
    RcrsLvl--;
    return(MmbrCntnr)}

function CreateMenuStructureAgain(MName,NumberOf){
    var i,WMnu,NoOffSubs,PrvMmbr,Mbr=FrstCntnr.FrstMbr;
    RcrsLvl++;
    for(i=NumberOf;i>0;i--){
	WMnu=MName+eval(i);
	NoOffSubs=eval(WMnu+'[3]');
	PrvMmbr=Mbr;
	if(NoOffSubs)Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffSubs);
	Mbr=Mbr.PrvMbr}
    RcrsLvl--}

function BeforeStart(){return}
function AfterBuild(){return}
function BeforeFirstOpen(){return}
function AfterCloseAll(){return}




