/*  basics.js

This file is included in header.html, so that the contents 
are available to any .html page in the museum website.  
It contains javascript functions which can be called
on any .html page.
*/

// Main title on top of each page - called by body-top.html
function title()
{
	document.write("<span class='titleSmall'>University of Michigan</span><BR>");
	document.write("<span class='mainTitle'>MUSEUM OF PALEONTOLOGY</span><BR>");
	document.write("<span class='titleVerySmall'>a research and teaching museum illuminating the history and meaning of life through geological time</span>");
}

// HTML tags to end each page - called in each .html page individually
// Ends tables, body, and html document.
function footer()
{
	document.write("</td>\n</tr>\n</table>\n</td>\n</tr>\n</table>\n</BODY>\n</HTML>");
}

/* MENUS */
// Text for the main menu on the left of each page - called by body-top.html
function mainMenu()
{
	document.write("<table border=0 cellpadding=1 width=165>");
	document.write("<tr><td class='menu'><a href='" + top.HOME + "' class='menu'>Home</a></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.UM_PALEO + "' class='menu'>Paleontology at UM</a></font><BR>");
	document.write("<table cellpadding=-1><tr><td>&nbsp;&nbsp;</td><td class='menuSmall'><a href='" + top.PALEO_Q + "' class='menu'>What is paleontology?</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.PALEO_MUS + "' class='menu'>Paleontology Museum</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.HISTORY + "' class='menu'>History</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.ACCOMPLISHMENTS + "' class='menu'>Work and<BR>&nbsp;&nbsp;&nbsp;Accomplishments</a></td></tr></table></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.DIRECTORY + "' class='menu'>Directory</a></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.STUDENT_INFO + "' class='menu'>Student Info</a></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.EVENTS + "' class='menu'>Events & Seminars</a></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.RESEARCH + "' class='menu'>Research Assets</a><BR>");
	document.write("<table cellpadding=-1><tr><td>&nbsp;&nbsp;</td><td class='menuSmall'><a href='" + top.COLLECTIONS + "' class='menu'>Collections</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.LABS + "' class='menu'>Laboratories</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.PALEOBOTANY + "' class='menu'>Paleobotany</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.INVERT_PALEO + "' class='menu'>Invertebrate<BR>&nbsp;&nbsp;&nbsp;Paleontology</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.VERT_PALEO + "' class='menu'>Vertebrate<BR>&nbsp;&nbsp;&nbsp;Paleontology</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.MICROPALEO + "' class='menu'>Micropaleontology</a></td></tr></table></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.PUBLICATIONS + "' class='menu'>UM Publications</a></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.OTHER_LINKS + "' class='menu'>Paleontology Links</a></td></tr>");
	document.write("<tr><td class='menu'><a href='" + top.SITE_MAP + "' class='menu'>Site Map</a><BR>");
	document.write("<table cellpadding=-1><tr><td>&nbsp;&nbsp;</td><td class='menuSmall'><a href='" + top.LSA_HOME + "' target='other' class='menu'>LSA Home Page</a></td></tr>");
	document.write("<tr><td></td><td class='menuSmall'><a href='" + top.UM_HOME + "' target='other' class='menu'>UM Home Page</a></td></tr></table></td></tr>");
	document.write("<tr><td class='menuSmall'><a href='" + top.ADMIN + "' class='menu'>Admin Resources</a></td></tr>");
	document.write("</table>");
}

// Displays date of last modification and link to e-mail webmaster - called by body-top.html, located at bottom of left-hand main menu
function end()
{
	document.write("<font size=-2 color=white><center>Updated " + document.lastModified + "<BR>");
	document.write("<a href='mailto:" + top.person[top.WEBMASTER]['email'] + "' class='menu'>");
	document.write("Provide feedback</a></center></font>");
}
/* MENUS */

/* PASS VARIABLES BETWEEN PAGES */
// retrieve variable passed by "GET" method 
//   (e.g. filename.html?variableName=value )
function delineate(str)
{
	theleft = str.lastIndexOf("=") + 1;
	return(str.substring(theleft, str.length));
}
/* PASS VARIABLES BETWEEN PAGES */

/* DEALING WITH ARRAYS */
	/* SORTING */
// Sort multidimensional alphanumeric array by first element - Decending order
function sortDownMulti(array1, array2)
{
	if(array1[0] < array2[0]) return -1;
	else if(array1[0] == array2[0]) return 0;
	else return 1;
}

// Sort multidimensional alphanumeric array by first element - Ascending order
function sortUpMulti(array1, array2)
{
	if(array1[0] < array2[0]) return 1;
	else if(array1[0] == array2[0]) return 0;
	else return -1;
}

// Sort single dimensional alphanumeric array - Descending order
function sortDownSingle(object1, object2)
{
	if(object1 < object2) return -1;
	else if(object1 == object2) return 0;
	else return 1;
}

// Sort single dimensional alphanumeric array - Ascending order
function sortUpSingle(object1, object2)
{
	if(object1 < object2) return 1;
	else if(object1 == object2) return 0;
	else return -1;
}

// Sort single dimensional numerical array - Decending order
function sortDownNumber(a, b)
{
	return a-b;
}
	/* SORTING */

// Turns multidimenstional object into 2-dimensional array
//	with 'toSort' as the 1st element and index as the 2nd element
function objectToArray(doubleArray, toSort)
{
	var foo = "";
	var i = 0;
	var a = new Array();
	

	for(foo in doubleArray)
	{
		if (doubleArray[foo][toSort] != null)
		{
			a[i] = new Array(doubleArray[foo][toSort], foo);
			i = i + 1;
		}
	}
	return a;
}

// Create sorted array of individuals 
function sortPeople(toSort)
{
	var anArray;
	anArray = objectToArray(top.person, toSort);
	anArray.sort(sortUpMulti);
	return anArray;
}
/* DEALING WITH ARRAYS */


/* COURSES */
// Displays a table of all courses related to paleontology
//	Includes department, course number, course title, instructor (w/ link to individual page), and when offered
function makeCourses()
{
	var i;
	for(i in top.course)
	{
		document.write("<tr><td width=60 valign=top>" + top.course[i]['subject'] + " " + top.course[i]['number'] + "</td>");
		document.write("<td valign=top>" + top.course[i]['name'] + "</td>");
		document.write("<td valign=top>");
		if(top.course[i]['instructor'] != "Faculty")
		{
			document.write("<a href='" + top.INDIVIDUAL + top.course[i]['instructor'] + "'>" + top.course[i]['instructor'] + "</a>"); 
		}
		else
		{
			document.write(top.course[i]['instructor']); 
		}
		if(top.course[i]['when'] != "null")
		{
			document.write("</td><td valign=top>" + top.course[i]['when'] + "</td></tr>");
		}
		else
		{
			document.write("</td><td valign=top>&nbsp;</td></tr>");
		}
	}		
}
/* COURSES */




													