<!--

/*
Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)
Copyright 2002 by Sharon Paine
Visit http://www.dynamicdrive.com for this script
*/

/* IMPORTANT: Put script after tooltip div or 
	 put tooltip div just before </BODY>. */

var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

// resize fix for ns4
var origWidth, origHeight;
if (ns4) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }

///////////////////////  CUSTOMIZE HERE   ////////////////////
// settings for tooltip 
// Do you want tip to move when mouse moves over link?
var tipFollowMouse= false;	
// Be sure to set tipWidth wide enough for widest image
var tipWidth= 432;
var offX= 20;	// how far from mouse to show tip
var offY= 60; 
var tipFontFamily= "arial, helvetica, verdana, sans-serif";
var tipFontSize= "8pt";
// set default text color and background color for tooltip here
// individual tooltips can have their own (set in messages arrays)
// but don't have to
var tipFontColor= "white";
var tipBgColor= "#669966"; 
var tipBorderColor= "#000080";
var tipBorderWidth= 2;
var tipBorderStyle= "ridge";
var tipPadding= 4;

// tooltip content goes here (image, description, optional bgColor, optional textcolor)
var messages = new Array();
// multi-dimensional arrays containing: 
// image and text for tooltip
// optional: bgColor and color to be sent to tooltip
messages[0] = new Array('ages/1.jpg','Steel rivet spectacles, Castle Ambras, Kunsthistorisches Museum, circa 1575');
messages[1] = new Array('ages/2.jpg','Silver Martin’s Margin, blue lenses, circa 1800');
messages[2] = new Array('ages/3.jpg','Scissors-glasses with a sliding handle that serves also as a case, probably from Nuremburg c. 1790');
messages[3] = new Array('ages/4.jpg','Chinese, in an original case, likely 18th century');
messages[4] = new Array('ages/5.jpg','Slit bridge, tortoiseshell, in a figure of eight case shagreen case, c. 1725');
messages[5] = new Array('ages/6.jpg','Scarlett temples spectacles, Britsh Optical Association, the earliest known,  NOTE the spiral finials, covered in cloth');
messages[6] = new Array('ages/7.jpg','Four lens protective glasses, the sides are screens, unusual, 3rd quarter 19th century');
messages[7] = new Array('ages/8.jpg','Group of beautiful opera glasses, Optisches Museum, Jena, late 19th century');
messages[8] = new Array('ages/9.jpg','Chinese spectacles, decorative case, mid-late 19th century');
messages[9] = new Array('ages/10.jpg','Spyglass fan, draw spyglass in the pivot, French, circa 1780');
messages[10] = new Array('ages/11.jpg','Group of assorted optical aids 19th - early 20th century');
messages[11] = new Array('ages/12.jpg','Steel, German, late 18th century, adjustable to pupil separation, Optiches Museum, Oberkochen, 1994 calendar, unique');
messages[12] = new Array('ages/13.jpg','Ornamental display spectacles, nickel-silver, extraordinary hand carved mahogany case with inlaid tortoiseshell, Italian, circa late 18th century, unique');
messages[13] = new Array('ages/14.jpg','Masterpiece spectacles, horn, in an original wooden case, circa 1680’s');
messages[14] = new Array('ages/15.jpg','Steel, green lenses, circa 1790');
messages[15] = new Array('ages/16.jpg','Toprtoiseshell inserts, small pupil openings, for strabismus?, French hallmark, circa 1830’s');
messages[16] = new Array('1.jpg','Detail of Lucy Northrup, 1837 painted by William Coburn, Mercer Museum');
messages[17] = new Array('2.jpg','Detail from the Bellowsmaker by Peter Huys, Hieronymus Bosch (1450-1516), Musee ses Beaux-Arts, Tournai, Belgium');
messages[18] = new Array('3.jpg','Temple spectacles, etching from Dr. Bull’s collection, from the American Encyclopedia of Ophthalmology, 1915');
messages[19] = new Array('4.jpg','Retaule de Sant Jeroni, sant Marti de Tours, i sant Sebastia, Jaume Ferrer, 1445-1455, Museu Nacional d\'art de Catalunya (MNAC), Barcelona, Spain');
messages[20] = new Array('5.jpg','Iron helmet of Henry VIII (1491-1547) with metal spectacles, circa 1515');
messages[21] = new Array('6.jpg','Portrait of Peter Cooper 1791-1883, New York Historical Society');
messages[22] = new Array('7.jpg','Pierre Maloeuvre, Les Anglais de 1814, colored lithograph, Brillen, by Rossi');
messages[23] = new Array('8.jpg','Sojourner Truth, photograph, Albany Institute of History and Art (original in the Library of Congress)');
messages[24] = new Array('9.jpg','Hieronymous Brunschwig (c. 1450-1512), Book of Surgery, 1497');
messages[25] = new Array('10.jpg','Thorowgood Smith, wearing Adam’s Patent Spectacles, anonymous, 1808, City of Baltimore');
messages[26] = new Array('11.jpg','Engraving of The Four Last Things of the Human Beings on this World-by Paris chez Simon Duflos - 18th-19th century');
messages[27] = new Array('12.jpg','Carved antler, handle of a fork, 17th century');
messages[28] = new Array('13.jpg','John McAllister advertising card, circa 1800');
messages[29] = new Array('14.jpg','Daguerreotype of Hon. Henry Y. Cranston, Congressman 1827-1854, Newport Historical Society');
messages[30] = new Array('15.jpg','In Europe from the 14th to the 17th centuries, street vendors sold crude spectacles, both for adornment and as an aid to Vision, From their Milestones in Optical History, copyright 1936, B & L, Rochester, NY');
messages[31] = new Array('16.jpg','Engraving (Aquantinta) by Jean-Baptiste Huett (1745-1811), Wayenborgh Publishing');
messages[32] = new Array('1A.jpg','Miniature painting, late 18th century');
messages[33] = new Array('2A.jpg','Multiplying spectacles, crank bridge, c. 1840');
messages[34] = new Array('3A.jpg','Two eyebaths, second half 19th century');
messages[35] = new Array('4A.jpg','Miniature eyeglasses, early 20th century');
messages[36] = new Array('5A.jpg','Detail of Netherlandish Delft tile, late 17th century');
messages[37] = new Array('6A.jpg','Ornate brass chatelaine case, late 19th century');
messages[38] = new Array('7A.jpg','Group of spyglasses and optical charms, first half 19th century');
messages[39] = new Array('8A.jpg','From their Milestones in Optical History, copyright 1936, B & L, Rochester, NY    (According to legend, spectacles were worn in the time of Confucius – 500 BC Marco Polo reported them in General use in China about 1275 A.D).');
messages[40] = new Array('9A.jpg','Colored lenses, as used to create the style of Claude Lorrain');
messages[41] = new Array('10A.jpg','Leather-framed spectacles, mid 18th century');
messages[42] = new Array('11A.jpg','Various spectacle cases, 1840-1910');
messages[43] = new Array('12A.jpg','Cute young fellow wearing silver framed Martin Margins, c. 1830');
messages[44] = new Array('13A.jpg','Deamer, New York, maker’s mark on a pair of coin silver spectacles, circa 1830');
messages[45] = new Array('14A.jpg','Oldest eyeglasses in the world with known provenance, ivory, used by Shogun Ashikaga in the 15th century and then handed down to the twelfth Shogun Yoshiharu Ashikaga (1511-1550), at the The Daisenin Temple (Kyoto)');
messages[46] = new Array('15A.jpg','Tibetan snow goggles, 19th century, Friedenwald-Romano Library, Wilmer, Baltimore');
messages[47] = new Array('16A.jpg','Nose spectacles; left – silver frame with shagreen figure of eight case, right – folding silver and tortoiseshell in shagreen banjo style case first quarter 18th century');

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// preload images that are to appear in tooltip
// from arrays above
if (document.images) {
	var theImgs = new Array();
	for (var i=0; i<messages.length; i++) {
  	theImgs[i] = new Image();
		theImgs[i].src = messages[i][0];
  }
}

// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function
// startStr goes before image, midStr goes between image and text
var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</td></tr></table>';

////////////////////////////////////////////////////////////
//  initTip	- initialization for tooltip.
//		Global variables for tooltip. 
//		Set styles for all but ns4. 
//		Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
	if (nodyn) return;
	tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
	tipcss = (ns4)? document.tipDiv: tooltip.style;
	if (ie4||ie5||ns5) {	// ns4 would lose all this on rewrites
		tipcss.width = tipWidth+"px";
		tipcss.fontFamily = tipFontFamily;
		tipcss.fontSize = tipFontSize;
		tipcss.color = tipFontColor;
		tipcss.backgroundColor = tipBgColor;
		tipcss.borderColor = tipBorderColor;
		tipcss.borderWidth = tipBorderWidth+"px";
		tipcss.padding = tipPadding+"px";
		tipcss.borderStyle = tipBorderStyle;
	}
	if (tooltip&&tipFollowMouse) {
		if (ns4) document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove = trackMouse;
	}
}

window.onload = initTip;

/////////////////////////////////////////////////
//  doTooltip function
//			Assembles content for tooltip and writes 
//			it to tipDiv
/////////////////////////////////////////////////
var t1,t2;	// for setTimeouts
var tipOn = false;	// check if over tooltip link
function doTooltip(evt,num) {
	if (!tooltip) return;
	if (t1) clearTimeout(t1);	if (t2) clearTimeout(t2);
	tipOn = true;
	// set colors if included in messages array
	if (messages[num][2])	var curBgColor = messages[num][2];
	else curBgColor = tipBgColor;
	if (messages[num][3])	var curFontColor = messages[num][3];
	else curFontColor = tipFontColor;
	if (ns4) {
		var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + curBgColor + '"width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<center>' + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';
		tooltip.write(tip);
		tooltip.close();
	} else if (ie4||ie5||ns5) {
		var tip = startStr + messages[num][0] + midStr + '<center>' + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
		tipcss.backgroundColor = curBgColor;
	 	tooltip.innerHTML = tip;
	}
	if (!tipFollowMouse) positionTip(evt);
	else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
	mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
	mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	if (tipOn) positionTip(evt);
}

/////////////////////////////////////////////////////////////
//  positionTip function
//		If tipFollowMouse set false, so trackMouse function
//		not being used, get position of mouseover event.
//		Calculations use mouseover event position, 
//		offset amounts and tooltip width to position
//		tooltip within window.
/////////////////////////////////////////////////////////////
function positionTip(evt) {
	if (!tipFollowMouse) {
		mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
		mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	}
	// tooltip width and height
	var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
	var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
	// document area in view (subtract scrollbar width for ns)
	var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
	var winHt = (ns4||ns5)? window.innerHeight-20+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;
	// check mouse position against tip and window dimensions
	// and position the tooltip 
	if ((mouseX+offX+tpWd)>winWd) 
		tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
	else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px";
	if ((mouseY+offY+tpHt)>winHt) 
		tipcss.top = (ns4)? winHt-(tpHt+offY): winHt-(tpHt+offY)+"px";
	else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
}

function hideTip() {
	if (!tooltip) return;
	t2=setTimeout("tipcss.visibility='hidden'",100);
	tipOn = false;
}

//-->





