// JavaScript Document

/***********************************************
* 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= 400;
var offX= 15;	// how far from mouse to show tip
var offY= -10; 
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= "#333333";
var tipBgColor= "#d0d0d0"; 
var tipBorderColor= "#CCCCCC";
var tipBorderWidth= 1;
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('','Let us know how many people you\'d like us to massage at your office, event, conference or function. Our Massages range from 5 to 15 minutes. To find out more <click here>. One Angel can do 10 of our trademark 5 Minute Neck and Shoulder Halo&#8482; Massages in 1 Hour.<br>- Our Minimum call out per Angel is 2 hours.',"#f0f0f0");
messages[1] = new Array('','Let us know the number of Angels you would like on site and we will calculate how many hours our Angels will massage for you. One Angel can do 10 of our trademark 5 Minute Neck and Shoulder Halo&#8482; Massages in 1 Hour.<br>- Our Minimum call out per Angel is 2 hours.',"#f0f0f0");
messages[2] = new Array('','Let us know when you would like us to massage. You can select more than one date. If you are unsure of your date please enter a tentative one. Please note an additional 10% surcharge will be applied for bookings within 7 days. For a booking within 3 days please call 1300 622 022.',"#f0f0f0");
messages[3] = new Array('','Please select the start time for your Angels. Please make sure you have selected the correct AM or PM time.',"#f0f0f0");
messages[14] = new Array('','Please tell us the Postcode where our Angels will massage for you. We compensate our Angels for their travel time if it is outside a 45 minute radius from the CBD of your capital city.<br><br>- The CBD Metro is defined as anywhere that can be reached from each city\'s Town Hall/Central Station by public transport within a 45 minute radius. Travel fees apply per hour outside this.',"#f0f0f0");

messages[4] = new Array('','The Halo&#8482; Massage is our trademark seated 5-minute neck and shoulder massage. <br> <br> It is non-remedial and uses no oils. This is our most popular product and well known across Australia',"#f0f0f0");
messages[5] = new Array('','Five minutes of Angel Hand Massage, focusing on hand and wrist for 2.5 minutes each hand. <br> <br> Designed to make you relax and relieve pain across the entire body. <br> <br> Can be used to relieve tired hands at work or in a truely pampering style at a Hens party or indulgent function',"#f0f0f0");
messages[6] = new Array('','The Double Halo Massage gives you the same unique neck and shoulder massage as our Regular Halo, but with one important difference  it&rsquo;s twice as long! <br> <br> That\'s ten minutes of Angel heaven!',"#f0f0f0");
messages[7] = new Array('','The Stress Buster is our most luxurious treatment. <br> <br> It combines the Double Halo with the Hand Halo for fifteen minutes of pure indulgent bliss! <br> <br> A great choice for smaller workplaces, Hen&rsquo;s Nights and other private functions.',"#f0f0f0");


messages[8] = new Array('','For more information about our massages visit <a href="http://www.3minuteangels.com/OurHaloMassage/550/1171/3/0/0/" target="_blank">Our Halo</a> page.',"#f0f0f0");

messages[9] = new Array('','This title is used as a reference for your booking. <br> <br> Try to be as specific as possible. For example, "YourCompany Office Massages Chatswood" or "Angela Smith Hens Party"',"#f0f0f0");

messages[10] = new Array('','It would be great if you can give us a description of your workplace, function or event and why you are booking our massage service. <br> <br> It helps us ensure we provide you with a service that matches your requirements and expectations as closely as possible. ',"#f0f0f0");


messages[11] = new Array('','We have automatically included the billing address, but if the shift location is different from the billing address please update now',"#f0f0f0");
messages[12] = new Array('','Please give our Angels some instructions on how to find the venue and what you would like them to talk about when they are giving the massages',"#f0f0f0");
messages[13] = new Array('','This person will greet the Angel, show them where they will be working and be the main contact at the location for the day',"#f0f0f0");

////////////////////  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>';

var startStr = '';
var midStr = '';
var endStr = '';

////////////////////////////////////////////////////////////
//  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>')
