// <script type="text/javascript">

/***********************************************
* 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
***********************************************/

// May 22/07 - slight mods. Remove reference to images and added background-color to <span>
// June 1/07 - added more tips.
// Apr 15/10

/* 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
var tipWidth= 235;
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 (description, optional bgColor, optional textcolor)
var messages = new Array();
// multi-dimensional arrays containing:
// text for tooltip
// optional: bgColor and color to be sent to tooltip
messages[0] = new Array('Scroll down for purchasing and online ordering information.',"#DDECFF");

messages[1] = new Array('Wed-Use images are 300px by 450px. Suggested maximum print sizes are: 5"x7" (Low-Res, 900px by 1350px), 8"x12" (Med-Res, 1440px by 2160px) and 11"x16" (Hi-Res, 2000px by 3000px). You can make larger prints if you like but you may notice some degradation.',"#DDECFF");

messages[2] = new Array('Fee represents total amount to be charged and includes any applicable sales taxes, delivery or media charges, travel expenses, additional equipment rental, etc.',"#DDECFF");

messages[3] = new Array('Prints without additional backing material are known as unmounted.',"#DDECFF");

messages[4] = new Array('Having a print mounted adds to the durability of the print and prevents it from curling over time. The print is mounted on an acid free board and <strong>Dry</strong> simply refers to the process since there aren&acute;t any liquid adhesives involved. Mounted prints are ready for framing.',"#DDECFF");

messages[5] = new Array('A Laminate is applied to the front of the print after it has been mounted and protects the photograph from fingerprints, moisture, etc. Prints that have been laminated can be framed without the need for a piece of glass in the frame.',"#DDECFF");

messages[6] = new Array('Your print is mounted onto a custom piece of high density press wood, then permanently sealed with a clear vinyl matte laminate. The edges of the plak are bevelled, coloured and a slot in the back allows for easy hanging flush to the wall. Delivery is approx 2-3 weeks for Plak mounted prints.',"#DDECFF");

messages[7] = new Array("<b>Photo Info</b> will show you the date & time the photo was taken, along with some camera and exposure settings.","#DDECFF");

messages[8] = new Array("Wondering what this photo would look like as a Black and White?<br>Press <b>Show as B&amp;W</b> to find out. This is an advanced feature and may not work with all browsers.<br>When placing your order, please let us know if you'd like the photo printed as a B&W.","#DDECFF");

messages[9] = new Array("<b>Restore Colour</b> will return the photo to it's original colour settings.<br>This is an advanced feature and may not work with all browsers.","#DDECFF");

messages[10] = new Array("All images of your son, daughter, spouse or yourself from one event for $125 (plus 8% PST). Images will be saved on a CD as high quality JPG's (600x900 px) and sent via Canada Post.<br>Simply enter the race details (GS, SG or SL), their bib number (or numbers if the same type of race covered 2 days), choose the event and click on the shopping cart.<br><br>If the bib number is not available or the event spanned several days, please select via EMail under details and send us a list of photo numbers (or competitor details) using the <strong>via e-mail</strong> link. Don't forget to click on the shopping cart to complete the ordering process.","#DDECFF");

messages[11] = new Array("Check it out... Air2You's blog contains notes on some of the behind the scenes activities and other goings on. Air2You uses a high-tech Unmanned Aerial Vehicle for the majority of their aerial work.","#DDECFF");

messages[12] = new Array("Test description","black","white");

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////


// 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 valign="top" width="100%" style="text-align:left;">';
var midStr = '';
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][1])	var curBgColor = messages[num][1];
	else curBgColor = tipBgColor;
	if (messages[num][2])	var curFontColor = messages[num][2];
	else curFontColor = tipFontColor;
	if (ie4||ie5||ns5) {
		var tip = startStr + '<span style="font-family:' + tipFontFamily + '; background-color:' + tipBgColor + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][0] + '</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) {
		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>')

// </script>

