/***********************************************
* 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= 220;
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('/images/white.gif','<b>New Jersey:</b><br />Jobs: 91,379<br />Wages: 2,121,088,000<br />Economic Activity:  9,500,383,000<br />State and Local Taxes: 944,567,000 <p>',"#FFFFFF"); 
messages[1] = new Array('/images/white.gif','<b>Delaware:</b><br />Jobs: 9,035<br />Wages: 208,272,000<br />Economic Activity:  565,182,000<br />State and Local Taxes: 136,271,000 <p>',"#FFFFFF"); 
messages[2] = new Array('/images/white.gif','<b>Maryland:</b><br />Jobs: 46,093<br />Wages: 949,017,000<br />Economic Activity:  4,128,450,000<br />State and Local Taxes: 333,046,000 <p>',"#FFFFFF"); 
messages[3] = new Array('/images/white.gif','<b>Connecticut:</b><br />Jobs: 78,680<br />Wages: 1,630,126,000<br />Economic Activity:  13,364,780,000<br />State and Local Taxes: 576,171,000 <p>',"#FFFFFF"); 
messages[4] = new Array('/images/white.gif','<b>Rhode Island:</b><br />Jobs: 111,078<br />Wages: 192,636,000<br />Economic Activity:  854,524,000<br />State and Local Taxes: 171,364,000 <p>',"#FFFFFF");
messages[5] = new Array('/images/white.gif','<b>Massachusetts:</b><br />Jobs: 69,845<br />Wages: 1,603,148,000<br />Economic Activity:  5,975,977,000<br />State and Local Taxes: 409,716,000 <p>',"#FFFFFF"); 
messages[6] = new Array('/images/white.gif','<b>New Hampshire:</b><br />Jobs: 17,248<br />Wages: 322,057,000<br />Economic Activity:  2,105,023,000<br />State and Local Taxes: 209,392,000 <p>',"#FFFFFF"); 
messages[7] = new Array('/images/white.gif','<b>Vermont:</b><br />Jobs: 6,230<br />Wages: 104,657,000<br />Economic Activity:  591,372,000<br />State and Local Taxes: 90,034,000 <p>',"#FFFFFF");
messages[8] = new Array('/images/white.gif','<b>Pennsylvania:</b><br />Jobs: 141,793<br />Wages: 2,549,889,000<br />Economic Activity:  14,350,721,000<br />State and Local Taxes: 1,226,531,000 <p>',"#FFFFFF");
messages[9] = new Array('/images/white.gif','<b>Maine:</b><br />Jobs: 13,573<br />Wages: 240,289,000<br />Economic Activity:  1,188,263,000<br />State and Local Taxes: 152,037,000 <p>',"#FFFFFF"); 
messages[10] = new Array('/images/white.gif','<b>New York:</b><br />Jobs: 189,538<br />Wages: 4,749,844,000<br />Economic Activity:  18,288,285,000<br />State and Local Taxes: 2,003,060,000 <p>',"#FFFFFF"); 
messages[11] = new Array('/images/white.gif','<b>Ohio:</b><br />Jobs: 112,243<br />Wages: 1,906,219,000<br />Economic Activity:  13,223,954,000<br />State and Local Taxes: 1,071,220,000 <p>',"#FFFFFF");
messages[12] = new Array('/images/white.gif','<b>Indiana:</b><br />Jobs: 50,134<br />Wages: 847,309,000<br />Economic Activity:  5,295,796,000<br />State and Local Taxes: 342,390,000 <p>',"#FFFFFF"); 
messages[13] = new Array('/images/white.gif','<b>Kentucky:</b><br />Jobs: 43,825<br />Wages: 793,582,000<br />Economic Activity:  8,185,472,000<br />State and Local Taxes: 358,381,000 <p>',"#FFFFFF"); 
messages[14] = new Array('/images/white.gif','<b>West Virginia:</b><br />Jobs: 11,557<br />Wages: 181,494,000<br />Economic Activity:  871,017,000<br />State and Local Taxes: 107,206,000 <p>',"#FFFFFF");
messages[15] = new Array('/images/white.gif','<b>Virginia:</b><br />Jobs: 57,454<br />Wages: 1,243,541,000<br />Economic Activity:  7,300,993,000<br />State and Local Taxes: 755,141,000 <p>',"#FFFFFF");
messages[16] = new Array('/images/white.gif','<b>North Carolina:</b><br />Jobs: 59,639<br />Wages: 1,248,889,000<br />Economic Activity:  6,005,497,000<br />State and Local Taxes: 817,795,000 <p>',"#FFFFFF");
messages[17] = new Array('/images/white.gif','<b>South Carolina:</b><br />Jobs: 42,092<br />Wages: 777,161,000<br />Economic Activity:  3,293,405,000<br />State and Local Taxes: 354,466,000 <p>',"#FFFFFF");
messages[18] = new Array('/images/white.gif','<b>Florida:</b><br />Jobs: 190,667<br />Wages: 3,892,572,000<br />Economic Activity:  16,807,165,000<br />State and Local Taxes: 2,118,265,000 <p>',"#FFFFFF"); 
messages[19] = new Array('/images/white.gif','<b>Georgia:</b><br />Jobs: 85,423<br />Wages: 1,758,702,000<br />Economic Activity:  9,308,744,000<br />State and Local Taxes: 829,681,000 <p>',"#FFFFFF"); 
messages[20] = new Array('/images/white.gif','<b>Alabama:</b><br />Jobs: 28,058<br />Wages: 496,295,000<br />Economic Activity:  2,332,507,000<br />State and Local Taxes: 425,968,000 <p>',"#FFFFFF"); 
messages[21] = new Array('/images/white.gif','<b>Tennessee:</b><br />Jobs: 52,000<br />Wages: 1,068,286,000<br />Economic Activity:  5,691,989,000<br />State and Local Taxes: 518,047,000 <p>',"#FFFFFF");
messages[22] = new Array('/images/white.gif','<b>Mississippi:</b><br />Jobs: 20,470<br />Wages: 293,722,000<br />Economic Activity:  1,672,831,000<br />State and Local Taxes: 231,800,000 <p>',"#FFFFFF"); 
messages[23] = new Array('/images/white.gif','<b>Louisiana:</b><br />Jobs: 46,443<br />Wages: 864,650,000<br />Economic Activity:  3,591,148,000<br />State and Local Taxes: 309,240,000 <p>',"#FFFFFF"); 
messages[24] = new Array('/images/white.gif','<b>Illinois:</b><br />Jobs: 131,668<br />Wages: 3,040,852,000<br />Economic Activity:  11,745,166,000<br />State and Local Taxes: 978,795,000 <p>',"#FFFFFF"); 
messages[25] = new Array('/images/white.gif','<b>Michigan:</b><br />Jobs: 83,029<br />Wages: 1,456,019,000<br />Economic Activity:  7,290,638,000<br />State and Local Taxes: 739,778,000 <p>',"#FFFFFF"); 
messages[26] = new Array('/images/white.gif','<b>Arkansas:</b><br />Jobs: 21,718<br />Wages: 335,820,000<br />Economic Activity:  2,110,516,000<br />State and Local Taxes: 143,140,000 <p>',"#FFFFFF"); 
messages[27] = new Array('/images/white.gif','<b>Oklahoma:</b><br />Jobs: 22,296<br />Wages: 341,237,000<br />Economic Activity:  1,917,090,000<br />State and Local Taxes: 198,714,000 <p>',"#FFFFFF");
messages[28] = new Array('/images/white.gif','<b>Kansas:</b><br />Jobs: 27,362<br />Wages: 380,823,000<br />Economic Activity:  2,151,443,000<br />State and Local Taxes: 171,184,000 <p>',"#FFFFFF"); 
messages[29] = new Array('/images/white.gif','<b>Missouri:</b><br />Jobs: 74,289<br />Wages: 1,440,639,000<br />Economic Activity:  3,881,290,000<br />State and Local Taxes: 577,462,000 <p>',"#FFFFFF"); 
messages[30] = new Array('/images/white.gif','<b>South Dakota:</b><br />Jobs: 7,454<br />Wages: 105,143,000<br />Economic Activity:  579,834,000<br />State and Local Taxes: 58,318,000 <p>',"#FFFFFF");
messages[31] = new Array('/images/white.gif','<b>Nebraska:</b><br />Jobs: 16,187<br />Wages: 230,962,000<br />Economic Activity:  1,338,146,000<br />State and Local Taxes: 129,232,000 <p>',"#FFFFFF"); 
messages[32] = new Array('/images/white.gif','<b>Iowa:</b><br />Jobs: 26,674<br />Wages: 380,114,000<br />Economic Activity:  2,160,095,000<br />State and Local Taxes: 256,920,000 <p>',"#FFFFFF"); 
messages[33] = new Array('/images/white.gif','<b>North Dakota:</b><br />Jobs: 8,153<br />Wages: 113,539,000<br />Economic Activity:  584,998,000<br />State and Local Taxes: 68,088,000 <p>',"#FFFFFF");
messages[34] = new Array('/images/white.gif','<b>Minnesota:</b><br />Jobs: 51,910<br />Wages: 927,632,000<br />Economic Activity:  5,278,590,000<br />State and Local Taxes: 591,776,000 <p>',"#FFFFFF"); 
messages[35] = new Array('/images/white.gif','<b>Texas:</b><br />Jobs: 241,839<br />Wages: 4,935,836,000<br />Economic Activity:  23,800,605,000<br />State and Local Taxes: 15,279,488,000 <p>',"#FFFFFF");
messages[36] = new Array('/images/white.gif','<b>New Mexico:</b><br />Jobs: 20,542<br />Wages: 293,832,000<br />Economic Activity:  1,495,921,000<br />State and Local Taxes: 157,977,000 <p>',"#FFFFFF"); 
messages[37] = new Array('/images/white.gif','<b>Arizona:</b><br />Jobs: 55,024<br />Wages: 1,129,215,000<br />Economic Activity:  4,169,000,000<br />State and Local Taxes: 432,757,000 <p>',"#FFFFFF"); 
messages[38] = new Array('/images/white.gif','<b>Utah:</b><br />Jobs: 11,594<br />Wages: 2,232,222,000<br />Economic Activity:  1,046,068,000<br />State and Local Taxes: 183,086,000 <p>',"#FFFFFF");
messages[39] = new Array('/images/white.gif','<b>Colorado:</b><br />Jobs:  78,680<br />Wages:  1,630,126,000<br />Economic Activity:  13,364,780,000<br />State and Local Taxes:  256,674,000<p>',"#FFFFFF");
messages[40] = new Array('/images/white.gif','<b>Wyoming:</b><br />Jobs: 5,442<br />Wages: 77,595,000<br />Economic Activity:  456,432,000<br />State and Local Taxes: 21,884,000 <p>',"#FFFFFF");
messages[41] = new Array('/images/white.gif','<b>Montana:</b><br />Jobs: 11,891<br />Wages: 168,971,000<br />Economic Activity:  867,201,000<br />State and Local Taxes: 65,388,000 <p>',"#FFFFFF"); 
messages[42] = new Array('/images/white.gif','<b>Idaho:</b><br />Jobs: 13,640<br />Wages: 191,868,000<br />Economic Activity:  1,056,172,000<br />State and Local Taxes: 111,737,000 <p>',"#FFFFFF"); 
messages[43] = new Array('/images/white.gif','<b>Nevada:</b><br />Jobs: 42,126<br />Wages: 878,809,000<br />Economic Activity:  3,154,693,000<br />State and Local Taxes: 260,821,000 <p>',"#FFFFFF"); 
messages[44] = new Array('/images/white.gif','<b>Washington:</b><br />Jobs: 79,747<br />Wages: 1,458,936,000<br />Economic Activity:  6,758,291,000<br />State and Local Taxes: 637,082,000 <p>',"#FFFFFF");
messages[45] = new Array('/images/white.gif','<b>Hawaii:</b><br />Jobs: 16,284<br />Wages: 330,020,000<br />Economic Activity:  1,312,333,000<br />State and Local Taxes: 141,812,000 <p>',"#FFFFFF"); 
messages[46] = new Array('/images/white.gif','<b>Alaska:</b><br />Jobs: 8,961<br />Wages: 171,877,000<br />Economic Activity:  704,001,000<br />State and Local Taxes: 72,285,000 <p>',"#FFFFFF"); 
messages[47] = new Array('/images/white.gif','<b>California:</b><br />Jobs: 441,590<br />Wages: 10,076,336,000<br />Economic Activity:  55,524,702,000<br />State and Local Taxes: 3,275,975,000 <p>',"#FFFFFF"); 
messages[48] = new Array('/images/white.gif','<b>Oregon:</b><br />Jobs: 47,763<br />Wages: 805,426,000<br />Economic Activity:  4,246,988,000<br />State and Local Taxes: 287,424,000 <p>',"#FFFFFF");
messages[49] = new Array('/images/white.gif','<b>District of Columbia:</b><br />Jobs:  9,035<br />Wages:  208,272,000<br />Economic Activity:  565,182,000<br />State and Local Taxes:  136,271,000<p>',"#FFFFFF");
messages[50] = new Array('/images/white.gif','<b><u>Excessive Tax Burden</u></b><p>When you buy a typical bottle of spirits 57% of the purchase price goes to taxes and fees!<p><b>Federal Taxes</b><br />$2.15 (18%)<hr><b>State & Local Taxes</b><br />$2.38 (19%)<hr><b>Indirect Taxes</b><br />$2.46 (20%)<hr><b>Private Share</b><br />$5.30 (43%)<p>',"#FFFFFF");


////////////////////  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;
}

document.write('<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>')

