<!--


/***********************************************
* 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= 410;
var offX= 20;	// how far from mouse to show tip
var offY= 12; 
var tipFontFamily= "Verdana, arial, helvetica, 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= "#000000";
var tipBgColor= "#DDECFF"; 
var tipBorderColor= "#000080";
var tipBorderWidth= 3;
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('http://www.gov.bc.ca/bcgov/images/logo_bcgov.gif',                           '<font size="4"> Province of British Columbia</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[1] = new Array('http://www.sasktourism.com/images/header/col1_row2_red_logo_132x92.gif',     '<font size="4"> Province of Saskatchewan</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[2] = new Array('http://www1.travelalberta.com/images/vacationpackages/madetoorder-big.gif',  '<font size="4"> Province of Alberta</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[3] = new Array('/dr/northdakota.jpg',                                                        '<font size="4"> State of North Dakota</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[4] = new Array('http://www.travelsd.com/_images/southdakota.gif',                            '<font size="4"> State of South Dakota</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[5] = new Array('http://wyoming.gov/images/logoteal.jpg',                                     '<font size="4"> State of Wyoming</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[6] = new Array('http://www.state.id.us/media/logo2.jpg',                                     '<font size="4"> State of Idaho</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[7] = new Array('/logowhite.bmp',                                                             '<font size="4"> To Spokane, Seattle,WA</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[8] = new Array('/logowhite.bmp',                                                             '<font size="4"> To Calgary, Canada</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[9] = new Array('/logowhite.bmp',                                                             '<font size="4"> To Bismarck Fargo,ND Minneapolis,MN</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[10] = new Array('/logowhite.bmp',                                                            '<font size="4"> To Rapid City,SD - Interstate 25 to Cheyenne,WY Denver,CO</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[11] = new Array('/logowhite.bmp',                                                            '<font size="4"> To Idaho Falls, Salt Lake City</font> <br> <font color="red" size="4"><b>Click for Map</b></font> ',"yellow");
messages[12] = new Array('/dr/drspec61.Yellow6.jpg',                                                  '<font size="4"> Yellowstone National Park</font> <br> Home of Old Faithful <br> <font color="red" size="4"><b>Click for further writeup <br> & more pictures of area</b></font> ',"yellow");
messages[13] = new Array('/dr/dr6000.yellow.jpg',                                                     '<font size="4"> To Yellowstone National Park </font> <br> From Hwy 90, between Whitehall and Billings, there are 4 roads south to Yellowstone Park (287, 191, 89 & 212). Off State Hwy 2 leading to 287 you can enjoy the Lewis and Clark Caverns and learn more about the adventures of the Corps of Discovery. (We think these guys would have enjoyed our maps!) Hotel reservations at towns near the park are highly recommended',"yellow");
messages[14] = new Array('/dr/dr6000.HighSky.jpg',                                                    '<font size="4"> Montana Sky</font> <br> Big Sky Country - ominous but beautiful',"yellow");
messages[15] = new Array('http://www.nps.gov/imr/glac/images/GLAC_snowymtns.jpg',                     '<font size="4"> Glacier National Park</font> <br> Pictures of Glacier National Park by National Park Service<br> <font color="red" size="4"><b>Click to view NPS Site</b></font> ',"yellow");
messages[16] = new Array('/affaccom.jpg',                                                             '<font size="4"> Great Falls</font> <br><b> Hotels in Area<br></b></font> <font color="red" size="4"><b>Click to review & book online</b></font>',"yellow");
messages[17] = new Array('/affaccom.jpg',                                                             '<font size="4"> Helena</font> <br><b> Hotels in Area<br></b></font> <font color="red" size="4"><b>Click to review & book online</b></font>',"yellow");
messages[18] = new Array('/affaccom.jpg',                                                             '<font size="4"> Butte</font> <br><b> Hotels in Area<br></b></font> <font color="red" size="4"><b>Click to review & book online</b></font>',"yellow");
messages[19] = new Array('/affaccom.jpg',                                                             '<font size="4"> Bozeman</font> <br><b> Hotels in Area<br></b></font> <font color="red" size="4"><b>Click to review & book online</b></font>',"yellow");
messages[20] = new Array('/affaccom.jpg',                                                             '<font size="4"> Billings</font> <br><b> Hotels in Area<br></b></font> <font color="red" size="4"><b>Click to review & book online</b></font>',"yellow");
messages[21] = new Array('/affaccom.jpg',                                                             '<font size="4"> Miles City</font> <br><b> Hotels in Area<br></b></font> <font color="red" size="4"><b>Click to review & book online</b></font>',"yellow");
messages[22] = new Array('/logowhite.bmp',                                                            '<font size="4"> Internet highlights </font> <br> <b> From the Great Falls / Glacier regions</b> <br> <font color="red" size="4"><b>Click for further selections</b></font>  ',"yellow");
messages[23] = new Array('/logowhite.bmp',                                                            '<font size="4"> Internet highlights </font> <br> <b> From the Butte / Helena regions</b> <br> <font color="red" size="4"><b>Click for further selections</b></font>  ',"yellow");
messages[24] = new Array('/logowhite.bmp',                                                            '<font size="4"> Internet highlights </font> <br> <b> From the Billings / Bozeman regions</b> <br> <font color="red" size="4"><b>Click for further selections</b></font>  ',"yellow");
//////////////////  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;
}

//-->

