/************************************************ Image w/ description tooltip- By Dynamic Web Coding (www.dyn-web.com)* Copyright 2002-2007 by Sharon Paine* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code***********************************************//* IMPORTANT: Put script after tooltip div or 	 put tooltip div just before </BODY>. */var dom = (document.getElementById) ? true : false;var ns5 = (!document.all && dom || window.opera) ? true: false;var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;var ie4 = (document.all && !dom) ? true : false;var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false;var origWidth, origHeight;// 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= true;	// Be sure to set tipWidth wide enough for widest imagevar tipWidth= 610;var offX= 20;	// how far from mouse to show tipvar offY= 20; var tipFontFamily= "Verdana, arial, helvetica, sans-serif";var tipFontSize= "9pt";// 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= "#000000";var tipBgColor= "#FFFFFF"; var tipBorderColor= "#d5d5d5";var tipBorderWidth= 1;var tipBorderStyle= "solid";var tipPadding= 0;// 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// Home Pagemessages[0] = new Array('/Portals/0/building1.jpg','Weatherface Building Wall',"#FFFFFF");messages[1] = new Array('/Portals/0/building2.jpg','Cherokee Brown & Gray',"#FFFFFF");messages[2] = new Array('/Portals/0/building3.jpg','Timber Ridge Wall',"#FFFFFF");messages[3] = new Array('/Portals/0/building4.jpg','Seneca Buff Ashlar',"#FFFFFF");messages[4] = new Array('/Portals/0/building6.jpg','Huntington Gray',"#FFFFFF");messages[5] = new Array('/Portals/0/cobble1.jpg','',"#FFFFFF");messages[6] = new Array('/Portals/0/cobble2.jpg','',"#FFFFFF");messages[7] = new Array('/Portals/0/cobble3.jpg','',"#FFFFFF");messages[8] = new Array('/Portals/0/garden1.jpg','Bluestone Garden Path',"#FFFFFF");messages[9] = new Array('/Portals/0/garden2.jpg','Garden Path',"#FFFFFF");messages[10] = new Array('/Portals/0/garden3.jpg','Weatherface',"#FFFFFF");messages[11] = new Array('/Portals/0/garden4.jpg','Dove Grey',"#FFFFFF");messages[12] = new Array('/Portals/0/garden5.jpg','Laurel Mountain',"#FFFFFF");messages[13] = new Array('/Portals/0/garden6.jpg','Pennsylvania Fieldstone',"#FFFFFF");messages[14] = new Array('/Portals/0/garden7.jpg','Tumbled Bluestone',"#FFFFFF");messages[15] = new Array('/Portals/0/cobble4.jpg','5x5x9 Cobblestones',"#FFFFFF");messages[16] = new Array('/Portals/0/cobble5.jpg','10x4x7 Cobblestones',"#FFFFFF");messages[17] = new Array('/Portals/0/irregular1.jpg','Bluestone',"#FFFFFF");messages[18] = new Array('/Portals/0/irregular2.jpg','Bluestone',"#FFFFFF");messages[19] = new Array('/Portals/0/irregular3.jpg','South Bay',"#FFFFFF");messages[20] = new Array('/Portals/0/irregular4.jpg','Southwest',"#FFFFFF");messages[21] = new Array('/Portals/0/irregular5.jpg','Southwest',"#FFFFFF");messages[22] = new Array('/Portals/0/irregular6.jpg','Tennessee Gray',"#FFFFFF");messages[23] = new Array('/Portals/0/irregular7.jpg','Laurel Mountain',"#FFFFFF");messages[24] = new Array('/Portals/0/irregular8.jpg','Mega Slate',"#FFFFFF");messages[25] = new Array('/Portals/0/irregular9.jpg','Van Tassell',"#FFFFFF");messages[26] = new Array('/Portals/0/building7.jpg','Pennyslvania Fieldstone',"#FFFFFF");messages[27] = new Array('/Portals/0/building8.jpg','Seneca Buff Ashlar Building',"#FFFFFF");messages[28] = new Array('/Portals/0/building9.jpg','Timber Ridge Building',"#FFFFFF");messages[29] = new Array('/Portals/0/building10.jpg','Virginia Building',"#FFFFFF");messages[30] = new Array('/Portals/0/building11.jpg','Weatherface Building',"#FFFFFF");messages[31] = new Array('/Portals/0/pattern1.jpg','Rainbow Pattern',"#FFFFFF");messages[32] = new Array('/Portals/0/pattern7.jpg','Bluestone Varigated Pattern (Dry)',"#FFFFFF");messages[33] = new Array('/Portals/0/pattern3.jpg','Montauk Pattern Stone',"#FFFFFF");messages[34] = new Array('/Portals/0/pattern4.jpg','Blue Select Bluestone',"#FFFFFF");messages[35] = new Array('/Portals/0/pattern5.jpg','Montauk Pattern Stone',"#FFFFFF");messages[36] = new Array('/Portals/0/pattern6.jpg','Rainbow',"#FFFFFF");messages[37] = new Array('/Portals/0/thin1.jpg','Winchester Blend',"#FFFFFF");messages[38] = new Array('/Portals/0/thin2.jpg','Winchester Blend',"#FFFFFF");messages[39] = new Array('/Portals/0/thin3.jpg','Weatherface',"#FFFFFF");messages[40] = new Array('/Portals/0/thin4.jpg','South Bay Thin Wall Stone',"#FFFFFF");messages[41] = new Array('/Portals/0/thin5.jpg','Dove Gray',"#FFFFFF");messages[42] = new Array('/Portals/0/thin6.jpg','Blue Ridge',"#FFFFFF");messages[43] = new Array('/Portals/0/thin7.jpg','Carolina Rose',"#FFFFFF");messages[44] = new Array('/Portals/0/thin8.jpg','Chocolate Grey',"#FFFFFF");messages[45] = new Array('/Portals/0/thin9.jpg','Mountain Fieldstone Wall Stone',"#FFFFFF");messages[46] = new Array('/Portals/0/thin10.jpg','Palomino',"#FFFFFF");messages[47] = new Array('/Portals/0/thin11.jpg','Tumbled Bluestone',"#FFFFFF");messages[48] = new Array('/Portals/0/thin12.jpg','Van Tassell Thin Wallstone',"#FFFFFF");messages[49] = new Array('/Portals/0/wall1.jpg','Southbay Thin',"#FFFFFF");messages[50] = new Array('/Portals/0/wall2.jpg','Southbay Thin',"#FFFFFF");messages[51] = new Array('/Portals/0/wall3.jpg','Van Tassell',"#FFFFFF");messages[52] = new Array('/Portals/0/wall4.jpg','Bluestone Split Veneer',"#FFFFFF");messages[53] = new Array('/Portals/0/wall5.jpg','Fieldstone Ledgerock',"#FFFFFF");messages[54] = new Array('/Portals/0/wall6.jpg','Germantown',"#FFFFFF");messages[55] = new Array('/Portals/0/wall7.jpg','Germantown Ashlar',"#FFFFFF");messages[56] = new Array('/Portals/0/wall8.jpg','Southbay Cottage',"#FFFFFF");messages[57] = new Array('/Portals/0/boulder1.jpg','Virginia Fieldstone',"#FFFFFF");messages[58] = new Array('/Portals/0/boulder2.jpg','Weatherface',"#FFFFFF");messages[59] = new Array('/Portals/0/boulder3.jpg','Virginia Fieldstone',"#FFFFFF");messages[60] = new Array('/Portals/0/boulder4.jpg','Canadian Boulder',"#FFFFFF");messages[61] = new Array('/Portals/0/boulder5.jpg','Canadian Boulder',"#FFFFFF");messages[62] = new Array('/Portals/0/boulder6.jpg','Canadian Boulder',"#FFFFFF");messages[63] = new Array('/Portals/0/stone1.jpg','Tsunami Table Set',"#FFFFFF");messages[64] = new Array('/Portals/0/stone2.jpg','Bench',"#FFFFFF");messages[65] = new Array('/Portals/0/stone3.jpg','Owls',"#FFFFFF");messages[66] = new Array('/Portals/0/stone4.jpg','Bird Baths',"#FFFFFF");messages[67] = new Array('/Portals/0/Bluestone Treads.jpg','Bluestone Treads',"#FFFFFF");messages[68] = new Array('/Portals/0/Bluestone Varigated Pattern Stone & Montauk Treads.jpg','Bluestone Varigated Pattern Stone & Montauk Treads',"#FFFFFF");messages[69] = new Array('/Portals/0/Golden Sunset Treads.jpg','Golden Sunset Treads',"#FFFFFF");messages[70] = new Array('/Portals/0/Limestone Treads.jpg','Limestone Treads',"#FFFFFF");messages[71] = new Array('/Portals/0/Noce Travertine Treads 1.JPG','Noce Travertine Treads',"#FFFFFF");messages[72] = new Array('/Portals/0/Noce Travertine Treads.JPG','Noce Travertine Treads',"#FFFFFF");messages[73] = new Array('/Portals/0/Rainbow-Rockfaced-Tread.jpg','Rainbow Rockfaced Treads',"#FFFFFF");messages[74] = new Array('/Portals/0/Scabos Travertine Treads.JPG','Scabos Travertine Treads',"#FFFFFF");messages[75] = new Array('/Portals/0/Shawnee Buff Treads.JPG','Shawnee Buff Treads',"#FFFFFF");messages[76] = new Array('/Portals/0/Sheffield Black Rockface Detail.jpg','Sheffield Black Rockface Detail',"#FFFFFF");messages[77] = new Array('/Portals/0/Sheffield Blue Radius Tread Material.jpg','Sheffield Blue Radius Tread',"#FFFFFF");messages[78] = new Array('/Portals/0/Sheffield Blue Rockfaced Tread .jpg','Sheffield Blue Rockfaced Tread',"#FFFFFF");messages[79] = new Array('/Portals/0/Sheffield Blue Rockfaced Tread2.jpg','Sheffield Blue Rockfaced Tread ',"#FFFFFF");messages[80] = new Array('/Portals/0/pattern8.jpg','Bluestone Varigated Pattern (Wet)',"#FFFFFF");messages[81] = new Array('/Portals/0/pattern9.jpg','Golden Sunset Pattern',"#FFFFFF");messages[82] = new Array('/Portals/0/pattern10.jpg','Noce Pattern Travertine',"#FFFFFF");messages[83] = new Array('/Portals/0/pattern11.jpg','Scabos Gold',"#FFFFFF");messages[84] = new Array('/Portals/0/garden8.jpg','Colonial Steppers',"#FFFFFF");messages[85] = new Array('/Portals/0/garden9.jpg','Allegheny Rose Tumbled Garden Path',"#FFFFFF");messages[86] = new Array('/Portals/0/wall9.jpg','Allegheny Rose Tumbled Wall Stone',"#FFFFFF");messages[87] = new Array('/Portals/0/wall10.jpg','Colonial 1-3 Full Color Range',"#FFFFFF");messages[88] = new Array('/Portals/0/wall11.jpg','Colonial 1-3 Lilac',"#FFFFFF");messages[89] = new Array('/Portals/0/wall12.jpg','Laurel Mountain Thin Wall Stone',"#FFFFFF");messages[90] = new Array('/Portals/0/wall13.jpg','Timber Ridge',"#FFFFFF");messages[91] = new Array('/Portals/0/wall14.jpg','Virginia Fieldstone',"#FFFFFF");messages[92] = new Array('/Portals/0/thin13.jpg','South Bay Mosaic',"#FFFFFF");messages[93] = new Array('/Portals/0/thin14.jpg','Pennsylvania Fieldstone',"#FFFFFF");messages[94] = new Array('/Portals/0/thin15.jpg','Heather Gray',"#FFFFFF");messages[95] = new Array('/Portals/0/thin16.jpg','Falcon Mist',"#FFFFFF");messages[96] = new Array('/Portals/0/thin17.jpg','Allegheny Rose',"#FFFFFF");messages[97] = new Array('/Portals/0/flag1.jpg','Mountain Fieldstone',"#FFFFFF");messages[98] = new Array('/Portals/0/flag2.jpg','Mega Slate',"#FFFFFF");messages[99] = new Array('/Portals/0/flag3.jpg','Germantown',"#FFFFFF");messages[100] = new Array('/Portals/0/flag4.jpg','Dove Gray',"#FFFFFF");messages[101] = new Array('/Portals/0/flag5.jpg','Bluestone Select',"#FFFFFF");messages[102] = new Array('/Portals/0/flag6.jpg','Blue Ridge',"#FFFFFF");messages[103] = new Array('/Portals/0/flag7.jpg','Black Regency',"#FFFFFF");messages[104] = new Array('/Portals/0/flag8.jpg','Black Slate',"#FFFFFF");messages[105] = new Array('/Portals/0/flag9.jpg','Allegheny Rose 2-3',"#FFFFFF");messages[106] = new Array('/Portals/0/build1.jpg','Split Fieldstone Corners',"#FFFFFF");messages[107] = new Array('/Portals/0/build2.jpg','Foxfield Blend',"#FFFFFF");messages[108] = new Array('/Portals/0/build3.jpg','Elk Gray Split',"#FFFFFF");messages[109] = new Array('/Portals/0/build4.jpg','Dove Gray',"#FFFFFF");messages[110] = new Array('/Portals/0/build5.jpg','Chocolate Gray',"#FFFFFF");////////////////////  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//		Set up mousemove capture if tipFollowMouse set true.////////////////////////////////////////////////////////////var tooltip, tipcss;function initTip() {	if (nodyn) return;	tooltip = (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;	tipcss = 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) {		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 (ie4||ie5||ns5) {		var tip = startStr + messages[num][0] + midStr + '<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) {	standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes	mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;	mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.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) {		standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body		mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft;		mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop;	}	// tooltip width and height	var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;	var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;	// document area in view (subtract scrollbar width for ns)	var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft;	var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop;	// check mouse position against tip and window dimensions	// and position the tooltip 	if ((mouseX+offX+tpWd)>winWd) 		tipcss.left = mouseX-(tpWd+offX)+"px";	else tipcss.left = mouseX+offX+"px";	if ((mouseY+offY+tpHt)>winHt) 		tipcss.top = winHt-(tpHt+offY)+"px";	else tipcss.top = mouseY+offY+"px";	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);}function hideTip() {	if (!tooltip) return;	t2=setTimeout("tipcss.visibility='hidden'",100);	tipOn = false;}document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>')