var		isSupported = ( (parseInt) && (parseInt(navigator.appVersion) >= 4) );////////////////////////////////////////////////////////////////////////////////////Object Definitions////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////NavHead constructorfunction NavHead(img, link, height, width){	this.Img = img;	this.Link = link;	this.Height = height;	this.Width = width;}////////////////////////////////////////////////////////////////////NavDesc constructorfunction NavDesc(img, height, width){	this.Img = img;	this.Height = height;	this.Width = width;}////////////////////////////////////////////////////////////////////NavCon constructorfunction NavCon(imgs, links, height, width){	if(imgs.length)	{		this.Number = imgs.length;		this.Img = imgs;		this.Link = links;		this.Width = width;		this.Height = height;	}	else	{		this.Number = 0;		this.Img = 0;		this.Link = 0;		this.Width = 0;		this.Height = 0;	}}/////////////////////////////////////////////////////////////////Nav Object constructorfunction NavObject(head, desc, con, left, top, width, backcolor){	var	tmph = 0;	this.ID = -1;	this.Head = head;	this.Desc = desc;	this.Con = con;	this.Left = left;	this.Top = top;	this.Width = width;		//figure out height	if(con.Img.length)	{		tmph = con.Img.length * con.Height;	}	tmph = tmph + desc.Height;	this.Height = tmph;	this.BackGround = backcolor;}////////////////////////////////////////////////////////////////////NavControl constructorfunction NavControl( path, navRay, navname){	var		count;	this.Nav = navRay;	this.Path = path;	this.NavName = navname;	this.LastVisible = -1;	this.IsOver = 0;		//methods	this.Create = NavControl_CreateNav;	this.CreateStyles = NavControl_CreateStyle;	this.CreateHeader = NavControl_CreateHeader;	this.OverNav = NavControl_OverNav;	this.OutOfNav = NavControl_OutOfNav;	this.ShowNav = NavControl_ShowNav;	this.OnTimer = NavControl_OnTimer;	this.Adjust = NavControl_Adjust;	this.PreCache = NavControl_PreCache;	if(navRay.length)	{		this.NavNumber = navRay.length;		for(count=0; count < navRay.length; count++)		{			this.Nav[count].ID = count;		}				this.Adjust();	}	else	{		this.NavNumber = 0;	}}///////////////////////////////////////////////////////////////////////////////////////NavControl Methods/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CreateNavfunction NavControl_CreateNav(){	var		count;	var		lcount;	var		tmpString = '';	var		layName = '';	var		tmpObj;	var		overString;	var		outString;	if(this.Nav && this.Nav.length && isSupported)	{		for(count=0; count<this.Nav.length; count++)		{			layName = this.NavName + count;			tmpString = tmpString + CreateDiv(layName);			overString = this.NavName + '.OverNav(' + count + ',1)';			outString = this.NavName + '.OutOfNav(' + count + ',1)';			tmpString = tmpString + CreateLink('#', overString, outString);			tmpString = tmpString + CreateImg(this.Path, this.Nav[count].Desc.Img, this.Nav[count].Desc.Height, this.Nav[count].Desc.Width);			tmpString = tmpString + '</a>';			if(this.Nav && this.Nav[count].Con.Img.length)			{				for(lcount=0; lcount<this.Nav[count].Con.Img.length;lcount++)				{					tmpObj = this.Nav[count].Con;					overString = this.NavName + '.OverNav(' + count + ',' + (lcount+2) + ')';					outString = this.NavName + '.OutOfNav(' + count + ',' + (lcount+2) + ')';					tmpString = tmpString + CreateLink(tmpObj.Link[lcount],overString, outString);					tmpString = tmpString + CreateImg(this.Path, tmpObj.Img[lcount], tmpObj.Height, tmpObj.Width);					tmpString = tmpString + '</a>';					tmpString = tmpString + '<br>';				}			}			tmpString = tmpString + '</div>';		}	document.open();	document.write(tmpString);	document.close();			//StartTimer		timerString = 'eval(' + this.NavName + '.OnTimer())';		setInterval(timerString, 500);		//PreCache	this.PreCache();	}}////////////////////////////////////////////////////////////////////CreateStylesfunction NavControl_CreateStyle(){	var	result = '';	var	divName;	var	count;	var	tmpleft;	var	tmptop;	var	tmpheight;	var	tmpwidth;	if(this.Nav && this.Nav.length && isSupported)	{		result = '<Style Typt="text/css">';		for(count=0; count<this.Nav.length; count++)		{			divName = this.NavName + count;			tmpleft = -1000; //this.Nav[count].Left;			tmptop = this.Nav[count].Top;			tmpheight = this.Nav[count].Height;			tmpwidth = this.Nav[count].Width;			result = result + CreateStyle(divName, tmpleft, tmptop, tmpheight, tmpwidth) + '\n';		}		result = result + '</Style>';	document.open();	document.write(result);	document.close();	}}////////////////////////////////////////////////////////////////////CreateStylesfunction NavControl_CreateHeader(){	var		result = '';	var		tmpObj = 0;	var		count;	var		overString;	var		outString;	if(this.Nav)	{		//result = result + '<table width="720" border="0" cellspacing="0" cellpadding="0">';		//result = result + '<tr><td width="720"  height="80" align="left" valign="top" >';		//result = result + CreateImg(this.Path, 'trans', 20, 220);		for(count=0; count<this.Nav.length; count++)		{			tmpObj = this.Nav[count].Head;			if(tmpObj)			{				overString = this.NavName + '.OverNav(' + count + ',0)';				outString = this.NavName + '.OutOfNav(' + count + ',0)';				result = result + CreateLink(tmpObj.Link, overString, outString);				result = result + CreateImg(this.Path, tmpObj.Img, tmpObj.Height, tmpObj.Width);				result = result + '</a>';			}			}	}	//result = result +  '</td></tr></table>';		document.open();	document.write(result);	document.close();}////////////////////////////////////////////////////////////////////ShowNavfunction NavControl_ShowNav(navobj, state){	var		layObj;	var		layName;	var		amount = (state) ? navobj.Left : -1000;	if(navobj)	{		layName = this.NavName + navobj.ID;		layObj = GetLay(layName);		layObj = (layObj && layObj.style) ? layObj.style : layObj;		if(layObj)		{			layObj.left = amount;				//set head image			if(!state){			DoRoll(0, navobj.Head.Img , this.Path, 0);}		}	}}////////////////////////////////////////////////////////////////////OverNav//	0 = head, 1 = desc, ... = confunction NavControl_OverNav(navpos, imgpos){	if(isSupported)	{	var		imgName = 0;	var		layName = (imgpos==0) ? 0 : this.NavName + navpos;	if( (this.LastVisible >= 0) && (this.LastVisible != navpos) )	{		this.ShowNav(this.Nav[this.LastVisible], 0);	}	this.LastVisible = navpos;	this.IsOver = 1;		this.ShowNav(this.Nav[navpos], 1);	if( (imgpos >=0) && (imgpos != 1) )	{		imgName = (imgpos == 0) ? this.Nav[navpos].Head.Img : this.Nav[navpos].Con.Img[(imgpos-2)];		DoRoll( layName, imgName, this.Path, 1);	}	}}////////////////////////////////////////////////////////////////////OutOfNav//	0 = head, 1 = desc, ... = confunction NavControl_OutOfNav(navpos, imgpos){	if(isSupported)	{	var		imgName = 0;	var		layName = (imgpos==0) ? 0 : this.NavName + navpos;	this.IsOver = 0;		//do rollout	if(imgpos > 1)	{		imgName = (imgpos == 0) ? this.Nav[navpos].Head.Img : this.Nav[navpos].Con.Img[(imgpos-2)];		DoRoll(layName, imgName, this.Path, 0);	}	}}////////////////////////////////////////////////////////////////////Adjustfunction NavControl_Adjust(){	var		count;	var		lamount = 0;	var		tamount = 0;	if(this.Nav.length)	{		if(navigator.appName.indexOf("Netscape") >= 0)		{			lamount = 7;			tamount = 8;		}		else if(navigator.appName.indexOf("Explorer") >=0 )		{			lamount = 9;			tamount = 15;		}		for(count=0; count<this.Nav.length; count++)		{			this.Nav[count].Left = this.Nav[count].Left + lamount;			this.Nav[count].Top = this.Nav[count].Top + tamount;		}	}}////////////////////////////////////////////////////////////////////OnTimerfunction NavControl_OnTimer(){	if( (!this.IsOver) && (this.LastVisible >= 0) )	{		this.ShowNav(this.Nav[this.LastVisible], 0);		this.LastVisible = -1;	}}////////////////////////////////////////////////////////////////////PreCachefunction NavControl_PreCache(){	var		tmpObj = new Image();	var		count;	var		lcount;	if(this.Nav && this.Nav.length)	{		for(count=0; count<this.Nav.length; count++)		{				//load header			tmpObj.src = this.Path + this.Nav[count].Head.Img + "On.gif";				//load links			if(this.Nav[count].Con && this.Nav[count].Con.Img && this.Nav[count].Con.Img.length)			{				for(lcount=0; lcount<this.Nav[count].Con.Img.length; lcount++)				{					tmpObj.src = this.Path + this.Nav[count].Con.Img[lcount] + "On.gif";				}			}		}	}}