// JavaScript Document
/* 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= 160;
var offX= 10;// 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= "#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('Prices are per person, based on double occupancy, dynamically set and may change according to availability at the time of booking. Air taxes ranging between $85 and $150 are not included.','',"");
messages[1] = new Array('<b>Destination:</b><br>First city may be different than arrival airport.','',"");
messages[2] = new Array('<b>Arrival Date:</b><br>Hotel check-in date for your selected city. May be different than flight departure date.','','','');
messages[3] = new Array('<b>Stay:</b><br>How many days you plan to stay in this city.','','','');
messages[4] = new Array('In your connecting airport you and your bags must move from one airport to another.<br>Example in New York, from Newark to JFK.<br>This will cost you extra time, money and inconvenience.','',"");
messages[5] = new Array('Includes federal, airport and security taxes and fees.<br/>Many airlines file fuel surcharges as taxes rather than as part of the base fare.<br/>This explains possible large differences in taxes between carriers.<p style="font-style:italic;">Always compare TOTAL price including all taxes.</p>','',"");
messages[6] = new Array('Prices are per person, based on double occupancy, dynamically set and may change according to availability at the time of booking.','',"");
////////////////////  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="450" border="0" cellspacing="0" cellpadding="0" bgcolor="FFFFFF"><tr><td width="10%" align="right" valign="bottom" ><img src="images/Top_Left.gif" width="16" height="8"></td><td class="TD-UP-Center"></td><td valign="bottom"><img src="images/Top_Right.gif" width="16" height="8"></td></tr>'
//var midStr 		= '<tr><td align="right"><img src="images/Triangle_Bottom.gif"></td><td><span class="style1">Prices are per person, based on double occupancy, and are dynamic in nature. Prices do not include air taxes, insurance, or delivery charges. Airfare based on economy class, midweek departure. Prices will change according to your options and dates. Air taxes range from $88 to $275+. Air taxes and surcharges vary by airports used and destination. Some airlines add fuel surcharges as a tax and do not add them to the fare</span></td><td class="TD-MID-Right"></td></tr>'
//var endStr		= '<tr><td align="right" valign="top"><img src="images/Bottom_Left.gif" width="16" height="10"></td><td class="TD-BOTT-Center"></td><td valign="top"><img src="images/Bottom_Right.gif" width="16" height="10"></td></tr></table>'

var startStr	= '	<table width="270" border="0" cellspacing="0" cellpadding="0"><tr><td width="10%" align="right" valign="bottom" ><img src="http://www.beachdestinations.com/images/Top_Left.gif" width="16" height="8"></td><td class="TD-UP-Center"></td><td valign="bottom"><img src="http://www.beachdestinations.com/images/Top_Right.gif" width="16" height="8"></td></tr>'
var startStrL	= ' <table width="270" border="0" cellspacing="0" cellpadding="0"><tr><td width="10%" align="right" valign="bottom" ><img src="http://www.beachdestinations.com/images/Top_Left.gif" width="16" height="8"></td><td class="TD-UP-Center"></td><td valign="bottom"><img src="http://www.beachdestinations.com/images/Top_Right.gif" width="16" height="8"></td></tr>'
var startStrF	= ' <table width="400" border="0" cellpadding="4" cellspacing="0" style="border:solid 2px #FFCC00" bgcolor="#FFFFFF"><tr><td>'
var startStrP	= ' <table width="250" border="0" cellpadding="4" cellspacing="0" style="border:solid 2px #FFCC00" bgcolor="#FFFFFF"><tr><td>'

var midStr		= ' <tr><td align="right" valign="top" class="TD-MID-Left"><img src="http://www.beachdestinations.com/images/Triangle_Bottom.gif"></td><td  bgcolor="FFFFFF"><font face="Arial" size="1">'
var midStrL		= ' <tr><td align="right" valign="top" class="TD-MID-Left"></td><td bgcolor="FFFFFF"><font face="Arial" size="1">'
var midStrF		= ' <font face="Arial" size="1">'
var midStrP		= ' <font face="Arial" size="1">'

var endStr 		= '	</font></td><td class="TD-MID-Right"></td></tr><tr><td align="right" valign="top"><img src="http://www.beachdestinations.com/images/Bottom_Left.gif" width="16" height="10"></td><td class="TD-BOTT-Center"></td><td valign="top"><img src="http://www.beachdestinations.com/images/Bottom_Right.gif" width="16" height="10"></td></tr></table>'
var endStrL		= ' </font></td><td valign="top" class="TD-MID-Right"><img src="http://www.beachdestinations.com/images/Triangle_Bottom_Right.gif" width="51" height="76"></td></tr><tr><td align="right" valign="top"><img src="http://www.beachdestinations.com/images/Bottom_Left.gif" width="16" height="10"></td><td class="TD-BOTT-Center"></td><td valign="top"><img src="http://www.beachdestinations.com/images/Bottom_Right.gif" width="16" height="10"></td></tr></table>'				
var endStrF		= ' </font></td></tr></table>'
var endStrP		= ' </font></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;
	
	toolFrame = (ie4)? document.all['tipFrm']: (ie5||ns5)? document.getElementById('tipFrm'): null;
	tipFrame = toolFrame.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) {
		//alert(evt +' | '+ num);
		if (num == 2 || num == 3){
			offX= -250;
			offY= 0;
			var tip = startStrL + midStrL + messages[num][0] + endStrL
		}
		if (num == 4){
			offX= -250;
			offY= 15;
			var tip = startStrF + midStrF + messages[num][0] + endStrF
		}
		if (num == 5){
			offX= -250;
			offY= 15;
			var tip = startStrF + midStrF + messages[num][0] + endStrF
		}
		if (num == 0 || num == 1){
			offX= 10;
			offY= 10;
			var tip = startStrF + midStrF + messages[num][0] + endStrF //'<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + curFontColor + ';">' + messages[num][1] + '</span>' + endStr;
		}
		if (num == 6){
			offX= -200;
			offY= 20;
			var tip = startStrP + midStrP + messages[num][0] + endStrP //'<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);//setTimeout("tipFrame.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; //toolFrame.clientWidth: toolFrame.offsetWidth;
	var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight; //toolFrame.clientHeight: toolFrame.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";
		//tipFrame.left = mouseX-(tpWd+offX)+"px";
	else tipcss.left = mouseX+offX+"px";//tipFrame.left = mouseX+offX+"px";
	if ((mouseY+offY+tpHt)>winHt) 
		tipcss.top = winHt-(tpHt+offY)+"px";//tipFrame.top = winHt-(tpHt+offY)+"px";
	else tipcss.top = mouseY+offY+"px";//tipFrame.top = mouseY+offY+"px";
	if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);//setTimeout("tipFrame.visibility='visible'",100);
}

function hideTip() {
	if (!tooltip) return;
	t2=setTimeout("tipcss.visibility='hidden'",100);//setTimeout("tipFrame.visibility='hidden'",100);
	tipOn = false;
}

document.write('<iframe id="tipFrm" src="javascript:false;" scrolling="no" frameborder="0" style="position:absolute; visibility:hidden; z-index:98; height:100px"></iframe>')
document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100; height:100px" ></div>')
