			var sMapTooltipOffX = 0;          // X offset from mouse position
			var sMapTooltipOffY = 0;          // Y offset from mouse position

			var sMapTooltipShadowOffset = 4

			var iMouseX = 0
			var iMouseY = 0

			var sCurrentRegion = '';

			var iCurrentTooltipOpacity = 0;
			var iTargetTooltipOpacity  = 0;
			var iTooltipFadeTimeout;
			var iTooltipOpacityPause = 10;
			var iTooltipOpacityChange = 10;



			function mouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
			function mouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}

			function set_mouse_position(evt) {
				iMouseX = mouseX(evt);
				iMouseY = mouseY(evt);
				//if (positiontip){
				//	positiontip(evt);
				//}
			}
				
			document.onmousemove = set_mouse_position;

			var iHideTooltip;

			function show_map_tooltip(sRegionName){

				if (sCurrentRegion!=sRegionName){

					sCurrentRegion = sRegionName;

					var sRegionURL = '';

					switch(sRegionName){
						case 'Northland':
							sMapTooltipOffX = -100;
							sMapTooltipOffY = 0;
							sRegionURL = 'northland';
							break;
						case 'Auckland':
							sMapTooltipOffX = -100;
							sMapTooltipOffY = 0;
							sRegionURL = 'auckland';
							break;
						case 'Waikato / Coromandel':
							sMapTooltipOffX = -100;
							sMapTooltipOffY = 0;
							sRegionURL = 'waikato-coromandel';
							break;
						case 'Bay of plenty':
							sMapTooltipOffX = -50;
							sMapTooltipOffY = -40;
							sRegionURL = 'bay-of-plenty';
							break;
						case 'Gisborne':
							sMapTooltipOffX = 0;
							sMapTooltipOffY = 0;
							sRegionURL = 'gisborne';
							break;
						case 'Hawkes bay':
							sMapTooltipOffX = 0;
							sMapTooltipOffY = 0;
							sRegionURL = 'hawkes-bay';
							break;
						case 'Manawatu':
							sMapTooltipOffX = -50;
							sMapTooltipOffY = 0;
							sRegionURL = 'manawatu';
							break;
						case 'Taranaki':
							sMapTooltipOffX = -100;
							sMapTooltipOffY = 0;
							sRegionURL = 'taranaki';
							break;
						case 'Wellington':
							sMapTooltipOffX = 0;
							sMapTooltipOffY = 0;
							sRegionURL = 'wellington';
							break;
						case 'Marlborough':
							sMapTooltipOffX = 0;
							sMapTooltipOffY = 0;
							sRegionURL = 'marlborough';
							break;
						case 'Nelson bays':
							sMapTooltipOffX = -50;
							sMapTooltipOffY = -40;
							sRegionURL = 'nelson-bays';
							break;
						case 'Canterbury':
							sMapTooltipOffX = 0;
							sMapTooltipOffY = 0;
							sRegionURL = 'canterbury';
							break;
						case 'West coast':
							sMapTooltipOffX = -100;
							sMapTooltipOffY = 0;
							sRegionURL = 'west-coast';
							break;
						case 'Otago':
							sMapTooltipOffX = 0;
							sMapTooltipOffY = 0;
							sRegionURL = 'otago';
							break;
						case 'Southland':
							sMapTooltipOffX = -50;
							sMapTooltipOffY = 0;
							sRegionURL = 'southland';
							break;
					}

					clearTimeout(iHideTooltip);

					var obj = document.getElementById('map_tooltip_tool_tip');
					var objShadow = document.getElementById('map_tooltip_tool_tip_shadow');

					obj.style.left       = (parseInt(iMouseX)+sMapTooltipOffX) + 'px';
					obj.style.top        = (parseInt(iMouseY)+sMapTooltipOffY) + 'px';
					objShadow.style.left = (parseInt(iMouseX)+sMapTooltipOffX+sMapTooltipShadowOffset) + 'px';
					objShadow.style.top  = (parseInt(iMouseY)+sMapTooltipOffY+sMapTooltipShadowOffset) + 'px';

					sNewContent = sRegionName + "\n<br />\n<a href='find/truck/" + sRegionURL + "/'>Trucks</a> | <a href='find/load/" + sRegionURL + "/'>Loads</a>";

					obj.innerHTML = sNewContent;
					objShadow.innerHTML = sNewContent;

					document.getElementById('map_mask').src = 'img/home/' + sRegionURL + '.gif';

					iTargetTooltipOpacity = 100;
					change_tooptip_opacity();

				}
			}

			function hide_map_tooltop(){
				clearTimeout(iHideTooltip);

				iHideTooltip = setTimeout('do_hide_map_tooltop()', 500);
			}

			function do_hide_map_tooltop(){
				iTargetTooltipOpacity = 0;
				change_tooptip_opacity();

				document.getElementById('map_mask').src = 'img/common/1x1.gif';

				sCurrentRegion = '';
			}


			function change_tooptip_opacity(){
				clearTimeout(iTooltipFadeTimeout);

				if ( iCurrentTooltipOpacity != iTargetTooltipOpacity ){
					if ( iCurrentTooltipOpacity > iTargetTooltipOpacity ){
						iCurrentTooltipOpacity -= iTooltipOpacityChange;
					} else {
						iCurrentTooltipOpacity += iTooltipOpacityChange;
					}

					change_opacity( document.getElementById('map_tooltip_tool_tip'),        iCurrentTooltipOpacity        );
					change_opacity( document.getElementById('map_tooltip_tool_tip_shadow'), iCurrentTooltipOpacity * 0.40 );

					iTooltipFadeTimeout = setTimeout('change_tooptip_opacity()', iTooltipOpacityPause)
				}
			}

			// **** this function will be in common.js when this goes live...
			function change_opacity(objObject, sOpacity){
				if (objObject) {
					objObject.style.filter = "alpha(opacity="+Math.round(sOpacity)+")"; // IE/
					objObject.style.KHTMLOpacity = sOpacity/100;                        // safari<1.2, Konqueror
					objObject.style.MozOpacity = sOpacity/100;                          // Older Mozilla and Firefox
					objObject.style.opacity = sOpacity/100;                             // Safari 1.2, newer Firefox and Mozilla, CSS3

					if (sOpacity==0){
						objObject.style.display = 'none';
					} else {
						objObject.style.display = '';
					}
				}
			}
			// ****

			function newImage(arg) {
				if (document.images) {
					rslt = new Image();
					rslt.src = arg;
					return rslt;
				}
			}

			if (document.images) {
				pre_1  = newImage('img/home/northland.gif');
				pre_2  = newImage('img/home/auckland.gif');
				pre_3  = newImage('img/home/waikato-coromandel.gif');
				pre_4  = newImage('img/home/bay-of-plenty.gif');
				pre_5  = newImage('img/home/gisborne.gif');
				pre_6  = newImage('img/home/hawkes-bay.gif');
				pre_7  = newImage('img/home/manawatu.gif');
				pre_8  = newImage('img/home/taranaki.gif');
				pre_9  = newImage('img/home/wellington.gif');
				pre_10 = newImage('img/home/nelson-bays.gif');
				pre_11 = newImage('img/home/marlborough.gif');
				pre_12 = newImage('img/home/canterbury.gif');
				pre_13 = newImage('img/home/west-coast.gif');
				pre_14 = newImage('img/home/otago.gif');
				pre_15 = newImage('img/home/southland.gif');
			}
