//	navbar.js
//
//	JavaScript functions for making the navbar look good.
//
//	Moved to a seperate file by smb on 11/3/11.
//

//--------------
//	Preloads the images into an array.  This prevents a delay when
//	the user moves their mouse over the navbar buttons.
//
//	The images are accessed later by their name.
//
//	preconditions:
//		Call this in the definition of the <body> tag.
//
//	input:
//		list of images to pre-load.
//
function MM_preloadImages() { //v3.0
	var d=document;
	if (d.images) {
		if (!d.MM_p)
			d.MM_p=new Array();
		var i, j=d.MM_p.length, a=MM_preloadImages.arguments;
		for (i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0) {
				d.MM_p[j]=new Image;
				d.MM_p[j++].src=a[i];
			}
	}
}

//--------------
function MM_swapImgRestore() { //v3.0
	var i, x, a=document.MM_sr;
	for (i=0; a&&i<a.length&&(x=a[i])&&x.oSrc; i++)
		x.src=x.oSrc;
}

//--------------
//
//	input:
//		n
//
//		d
//
function MM_findObj(n, d) { //v4.01
	var p, i, x;

	if (!d)
		d=document;	// Create a document if doesn't already exist.

	if ((p = n.indexOf("?")) > 0&&parent.frames.length) {
		d = parent.frames[n.substring(p+1)].document;
		n = n.substring(0,p);
	}

	if (!(x=d[n])&&d.all)
		x=d.all[n];

	for (i=0; !x&&i<d.forms.length; i++)
		x=d.forms[i][n];

	// Recursive call!
	for (i=0; !x&&d.layers&&i<d.layers.length; i++)
		x=MM_findObj(n,d.layers[i].document);

	if (!x && d.getElementById)
		x=d.getElementById(n);

	return x;
} // MM_findObj(n, d)


//--------------
//	input:
//		a list. In this implementation, it appears to be several things:
//			- a name (string)
//			- empty string
//			- name of replacement image (string)
//			- 1 (int)
//
function MM_swapImage() { //v3.0
	var i, j = 0, x,
		a = MM_swapImage.arguments;	// a = argument list

	// Create a new array?
	document.MM_sr = new Array;
	for (i = 0; i < (a.length-2); i += 3)
		// Only do something if an object is found.
		if ((x = MM_findObj(a[i])) != null) {
			// x is the found object, set the jth document's MM_sr
			// to be this object.
			document.MM_sr[j++] = x;
			if (!x.oSrc)
				x.oSrc = x.src;
			x.src = a[i+2];
	}
} // MM_swapImage()

