/**
 * include this script to for enable achor tooltips.
 * 
 * 1. add #tipBox CSS
 *	#tipBox {
 * 		BORDER-RIGHT: black 1pt solid;BORDER-TOP: black 1pt solid;
 * 		Z-INDEX: 100;BACKGROUND-IMAGE: none;VISIBILITY: hidden;
 * 		BORDER-LEFT: black 1pt solid;WIDTH: 150px;
 * 		COLOR: #191970;BORDER-BOTTOM: black 1pt solid;
 * 		BACKGROUND-REPEAT: repeat;POSITION: absolute;BACKGROUND-COLOR: #c0c0c0
 *	}
 *
 * 
 * 2. add the hidden DIV to anywhere in the document:
 * 	<DIV ID=tipBox></DIV>
 *
 * 3. add the onMouseOver event to the achor
 *	<a href="#" onMouseOver="this._tip='my tooltip text';">...</a>
 * 
 * @author <a href="mailto:mtsai@extractable.com">Ming Tsai</a>
 * Extractable Solutions
 * @version $ID: tblHightlight.js, v0.1 2001/1/31 11:00pm mingster Exp $
 */


// Support for all collection
var allSupport = document.all!=null;

function setupEventObject(e) {
	// Map NS event object to IEs
	if (e==null) return // IE returns
	window.event = e
	window.event.fromElement = e.target
	window.event.toElement = e.target
	window.event.srcElement = e.target
	window.event.x = e.x
	window.event.y = e.y;
	
	// Route the event to the original element
	// Necessary to make sure _tip is set.
	window.event.srcElement.handleEvent(e);
}


function checkName(src) {
	// Look for tooltip in IE
	while ((src!=null) && (src._tip==null))
		src = src.parentElement
		
	return src
}

function getElement(elName) {
	// Get an element from its ID
	if (allSupport) return document.all[elName]
	else return document.layers[elName]
}

function writeContents(el, tip) {
	// Replace the contents of the tooltip
	if (allSupport) el.innerHTML = tip
	else {
		// In NS, insert a table to work around
		// stylesheet rendering bug.
		// NS fails to apply style sheets when writing
		// contents into a positioned element.
		
		el.document.open()
		el.document.write("<TABLE WIDTH=200 BORDER=1 bordercolor=black><TR><TD WIDTH=100% BGCOLOR=yellow>")
		el.document.write(tip)
		el.document.write("</TD></TR></TABLE>")
		el.document.close()
	}
}

function getOffset(el, which) {
	// Function for IE to calculate position of an element.
	var amount = el["offset" + which]
	
	if (which=="Top") amount += el.offsetHeight+12;
	
	el = el.offsetParent
	
	while (el!=null) {
		amount+=el["offset"+which]
		el = el.offsetParent
	}
	
	return amount
}
  

function setPosition(el) {
	// Set the position of an element
	src = window.event.srcElement;
	if (allSupport) {
		el.style.pixelTop = getOffset(src, "Top")
		el.style.pixelLeft = getOffset(src, "Left")
	} 
	else {
		el.top = src.y + 20;
		el.left = src.x;
	}
}
      
function setVisibility(el, bDisplay) {
	// Hide or show to tip
	if (bDisplay)
		if (allSupport) el.style.visibility = "visible" 
		else el.visibility = "show";
	else
		if (allSupport) el.style.visibility = "hidden"
		else el.visibility = "hidden"
}

function displayContents(tip) {
	// Display the tooltip. 
	var el = getElement("tipBox");
	
	writeContents(el, tip)
	setPosition(el);
	setVisibility(el, true);
}


function doMouseOver(e) {
	// Mouse moves over an element
	setupEventObject(e);
	
	var el, tip
	if ((el = checkName(window.event.srcElement))!=null) {
		if  (!el._display) {
			displayContents(el._tip);
			el._display = true;
		}
	}	
}

function doMouseOut(e) {
	// Mouse leaves an element
	setupEventObject(e)
	el = checkName(window.event.srcElement)
	
	var el, tip
	if ((el = checkName(window.event.srcElement))!=null) {
		if (el._display) {
			if ((el.contains==null) || (!el.contains(window.event.toElement))) {
				setVisibility(getElement("tipBox"), false)
				el._display = false
			}
		}	
	}	
}

function doLoad() {
	// Do Loading
	if ((window.document.captureEvents==null) && (!allSupport))
		return // Not IE4 or NS4
		
	if (window.document.captureEvents!=null)  // NS - capture events
		window.document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT)
		
	window.document.onmouseover = doMouseOver;
	window.document.onmouseout = doMouseOut;
}

var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all

// IE only.
if (ns4 || ns6){
	//don't load
}
else{
	window.onload = doLoad
}
