/***********************************************
* 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= 330;
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= "#8dd8f8"; 
var tipBorderColor= "#000080";
var tipBorderWidth= 0;
var tipBorderStyle= "ridge";
var tipPadding= 0;

var baseURL = '/skin/frontend/noodoll/default/images/media/';

// 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(baseURL + 'riceowl.gif','<h3>RICEOWL, RICE(DEMON)TREE, RICEPUDDING & RICECAKE</h3><p>Riceowl is the oldest and wisest creature in the whole forest.  He is the only one who can live in Rice (demon) Tree without being eaten.  Ricecake and Ricepudding are not half as wise but they ain\'t half tubby!</p>');
messages[1] = new Array(baseURL + 'ricehead.gif','<h3>RICEHEAD</h3><p>Ricehead loves to spy on Noodle Town!  He is mean, jealous and always mangaes to get into trouble with Ricebill and Ricemutt.  His loyal cacti is always by his side.</p>');
messages[2] = new Array(baseURL + 'ricebuddah.gif','<h3>RICEBUDDAH</h3><p>Ricehead\'s spiritual guidance.  Ricebuddah, despairs at Ricehead\s lack of morals, tut tut!</p>');
messages[3] = new Array(baseURL + 'ricecream.gif','<h3>MR RICECREAM</h3><p>Mr Ricecream\'s scrumptious Ricecreams are Riceworld famous.  They are so creamy and delicious that kids come running when they hear the melodic tinkling of his Ricecream van!</p>');
messages[4] = new Array(baseURL + 'riceparents.gif','<h3>RICEPAPA & RICEMAMA</h3><p>The proud parents of Ricehead are completely unaware of their son\'s evil streak and totally spoil him!  They lead a luxurious lifestyle, Ricepapa is the Rice Town governor and Ricemama was Miss Rice Town.</p>');
messages[5] = new Array(baseURL + 'ricepod.gif','<h3>RICEPOD</h3><p>Ricepod loves to boogie on his own whilst listening to the latest tunes from RiceT, Rice Cude, and Vanilla Rice!</p>');
messages[6] = new Array(baseURL + 'ricepea.gif','<h3>RICEPEA</h3><p>These Eco-kids are determined to make Rice Town a cleaner place to live with no pollution.  \'Green and Clean\' is their motto.</p>');
messages[7] = new Array(baseURL + 'rj.gif','<h3>RJ</h3><p>Whenever there\s a party in Rice Town you can be sure that RJ will be on the wheels of steel spinning the hottest new tunes around!</p>');
messages[8] = new Array(baseURL + 'ricejelly.gif','<h3>RICEJELLY</h3><p>If you\'re looking for the best Ricerooms then Ricejelly\'s your gal!  Be warned though, eat too many and you might begin to feel a little strange!</p>');
messages[9] = new Array(baseURL + 'ricepanda.gif','<h3>RICEPANDA & RICEQUIRREL</h3><p>These two are always playing on their Nootendo occasionally taking a break to eat their favourite food, bamboo and nuts!</p>');
messages[10] = new Array(baseURL + 'riceghost.gif','<h3>RICEGHOST</h3><p>Riceghost lives in the evil forest and can often be seen taking his son to the Dayscare centre or eating his favourite food, spook-ghetti!</p>');
messages[11] = new Array(baseURL + 'ricemon.gif','<h3>RICEMON & RICEAPPLES</h3><p>Ricemon spends most of his days sat under the Riceapple Tree gobbling as many Riceapples as he can fit into his big fat belly!</p>');
messages[12] = new Array(baseURL + 'ricefrank.gif','<h3>RICEFRANK & RICECOUNT</h3><p>These 2 love to play chess, however it\'s a bit one-sided due to the fact that Ricefrank doesn\'t have a brain!</p>');
messages[13] = new Array(baseURL + 'ricewitch.gif','<h3>RICEWITCH, RICEBAT & RICEMOON</h3><p>Ricewitch and Ricebat rule the night sky over Rice Town - they love to cause nocturnal mischief whilst under the watchful eyes of Ricemoon!</p>');
messages[14] = new Array(baseURL + 'ricewolf.gif','<h3>RICERED & RICEWOLF</h3><p>Ricered gets on with Ricewolf pretty well, apart from when Ricewolf is trying to eat her that is!  Ricewolf also has a tendency to wear old lay clothes as a \'disguise\'.  You\'re not fooling anyone Ricewolf!</p>');
messages[15] = new Array(baseURL + 'ricestorm.gif','<h3>RICESTORM</h3><p>Everyone groans when they see Ricestorm coming.  Everyone apart from the passing Nooducks that is!</p>');
messages[16] = new Array(baseURL + 'ricepoohead.gif','<h3>RICEPOOHEAD & RICEGRAINSAW</h3><p>Ricepoohead is always on the lookout for a new hairdresser to sort out his unfortunate hairdo, not sure that Ricegrainsaw is the right man for the job though!</p>');
messages[17] = new Array(baseURL + 'riceroar.gif','<h3>RICEROAR</h3><p>Riceroar is always trying to scare the children of Rice Town but most of the time they don\'t even notice him, Poor old Riceroar!</p>');

////////////////////  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%" style="padding: 5px 0;"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top" style="padding: 0 15px;">';
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>')
