///////////////////////////////////////////////////////////////////////
// tristate.js
// tm holt 10.24.98
//
// tristate image rotator
///////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////
// get what browser we're using
ie4 = (document.all) ? true : false;
ns4 = (document.layers) ? true : false;
ff1 = (document.implementation) ? true : false;

///////////////////////////////////////////////////////////////////////
// keep track of the currently selected menu item

var GCurSelMenuItem  = null;
var GPrevSelMenuItem = null;
var GCurUnhilited    = null;
var GCurImageIndex   = 0;
var GExtraPath       = "images/";

///////////////////////////////////////////////////////////////////////
// turn on highlight image
function HoverOn(imageIndex, newImageName) {
	
	GCurUnhilited = document.images[imageIndex].src;
	document.images[imageIndex].src = newImageName;
}

///////////////////////////////////////////////////////////////////////
// turn on normal image
function HoverOff(imageIndex, newImageName) {
	
	if ( GCurImageIndex == imageIndex ) {
		document.images[imageIndex].src = GCurSelMenuItem;
	}
	else {
		document.images[imageIndex].src = newImageName;
	}	
}

///////////////////////////////////////////////////////////////////////
// make a new image the active selected one
function Clicked(imageIndex, newImageName) {

	if ( GPrevSelMenuItem != null ) {
		document.images[GCurImageIndex].src = GPrevSelMenuItem;
	}

	GCurImageIndex = imageIndex;
	GPrevSelMenuItem = GCurUnhilited;
	document.images[imageIndex].src = newImageName;
	GCurSelMenuItem = document.images[imageIndex].src;
	window.focus();
}

///////////////////////////////////////////////////////////////////////
// call for selected menu item
function WriteSelected(imageName, name) {


	var iWidth  = 154;
	var iHeight = 24;
	
	var imageSelName = GExtraPath + 'mb-' + imageName + '-sel.gif';
	
	var string =   '<img src="' + imageSelName + '"' +
				   ' name=' + imageName +
				   ' alt="' + name + '"' +
				   ' border=0 align="top"' +
				   ' width='  + iWidth  +
				   ' height=' + iHeight + '><br>';

	document.write(string);

}

///////////////////////////////////////////////////////////////////////
// call to set up tristate hovering
function WriteHover(imageName, hRef, name) {
	var imageSel;
	var imageSelName;
	var imageUnsel;
	var imageUnselName;
	var imageHilite;
	var imageHiliteName;

	var string;

	var iWidth  = 154;
	var iHeight = 24;

	// selected image pre-load
	imageSelName = GExtraPath + 'mb-' + imageName + '-sel.gif';
	imageSel = new Image(iWidth, iHeight);
	imageSel.src = imageSelName;

	// unselected image pre-load
	imageUnselName = GExtraPath + 'mb-' + imageName + '.gif';
	imageUnsel = new Image(iWidth, iHeight);
	imageUnsel.src = imageUnselName;

	// highlighted image pre-load
	imageHiliteName = GExtraPath + 'mb-' + imageName + '-hl.gif';
	imageHilite = new Image(iWidth, iHeight);
	imageHilite.src = imageHiliteName;

	var imageIndex = document.images.length;
	var targt = "";
	
	if ( ie4 || ns4 || ff1 ) {
		string = '<a href="' + hRef + '"' +
				   ' onMouseOver=HoverOn(' + imageIndex + ',"' +  imageHilite.src + '")' +
				   ' onMouseOut =HoverOff(' + imageIndex + ',"' +  imageUnsel.src + '")' +
				   ' onClick =Clicked(' + imageIndex + ',"' +  imageSel.src + '")>' +
				   '<img src="' + imageUnselName + '"' +
				   ' name=' + imageName +
				   ' alt="' + name + '"' +
				   ' border=0' +
				   ' width='  + iWidth  +
				   ' height=' + iHeight + '>' +
				   '</a><br>';
	}
	else {
		string = '<a href="' + hRef + '">' +
				   '<img src="' + imageUnselName + '"' +
				   ' name=' + imageName +
				   ' alt="' + name + '"' +
				   ' border=0' +
				   ' width='  + iWidth  +
				   ' height=' + iHeight + '>' +
				   '</a><br>';
	}
	document.write(string);
}

///////////////////////////////////////////////////////////////////////
// similar call - no href
function WriteNoHov(imageName, hRef, name) {

	var imageUnsel;
	var imageUnselName;
	
	var iWidth  = 154;
	var iHeight = 24;
	

	// unselected image pre-load
	imageUnselName = GExtraPath + 'mb-' + imageName + '.gif';
	imageUnsel = new Image(iWidth, iHeight);
	imageUnsel.src = imageUnselName;

	var string =   '<img src="' + imageUnselName + '"' +
				   ' name=' + imageName +
				   ' alt="' + name + '"' +
				   ' border=0 align="top"' +
				   ' width='  + iWidth  +
				   ' height=' + iHeight + '><br>';
	document.write(string);
}

///////////////////////////////////////////////////////////////////////
function ChangeCenterPic() {
	
	var MAXCOUNT = 6;
	var n = parseInt(Math.random()*MAXCOUNT) + 1;
		
	var img = document.getElementById('CPR');	
	if ( img != null ) {
		img.src = 'images/cpr' + n + '.jpg';
	}
}

///////////////////////////////////////////////////////////////////////
function ChangeSidebarPic() {
	
	var MAXCOUNT = 6;
	var n = parseInt(Math.random()*MAXCOUNT) + 1;
		
	var img = document.getElementById('SBIMAGE');	
	if ( img != null ) {
		img.src = 'images/sb' + n + '.jpg';
	}
}


///////////////////////////////////////////////////////////////////////
//
// Write menubar functions
//
///////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////
function WriteAABMenubar(sSelected) {

	if ( sSelected == "home" ) {
		WriteSelected('home', 'All About Bicycles - Home Page');
	}
	else {
		WriteNoHov('home',   'index.htm', 'All About Bicycles - Home Page');
	}
	
	if ( sSelected == "invent" ) {
		WriteSelected('invent', 'All About Bicycles - Inventory');
	}
	else {
		WriteNoHov('invent',   'invent-road.htm', 'All About Bicycles - Inventory');
	}	
	
	if ( sSelected == "about" ) {
		WriteSelected('about', 'All About Bicycles - All About Us');
	}
	else {
		WriteNoHov('about',   'about-phil.htm', 'All About Bicycles - All About Us');
	}	
	
	if ( sSelected == "serv" ) {
		WriteSelected('serv', 'All About Bicycles - Services');
	}
	else {
		WriteNoHov('serv',   'serv-repairs.htm', 'All About Bicycles - Services');
	}	
	
	if ( sSelected == "events" ) {
		WriteSelected('events', 'All About Bicycles - Events');
	}
	else {
		WriteNoHov('events',   'events-rides.htm', 'All About Bicycles - Events');
	}		
	
	if ( sSelected == "contact" ) {
		WriteSelected('contact', 'All About Bicycles - Contact Information');
	}
	else {
		WriteNoHov('contact',   'contact-home.htm', 'All About Bicycles - Contact Information');
	}		


}



