/*
	Usage: 
	Assign an id to the element to be rolled over.
	DO a:
		onMouseOver = "showAlt(event,this.id,'title of the message','Main contents of the message')"
		onMouseOut	= "hideAlt()"
*/
var objPopUp = null;
var objPopTrig = null;
var objTextMessage = "";
//
//
//
var objRollerEventHolder = null;
var objRollerTgt = null;
var objRollerObjID = "alternateMessage";
//
var currentXMouse;
var currentYMouse;
function showAlt( evt, tgt , tt, txt ){
	try{
		//objRollerEventHolder = evt;
		objRollerTgt = tgt;
	} catch(e){
		alert("Could not hold event");
	}
	try{
		var objectID = "alternateMessage";
		var IE = document.all?true:false;
		if (IE) { // grab the x-y pos.s if browser is IE
			objRollerEventHolder = event;
	    	var tempX = event.clientX + document.body.scrollLeft;
	    	var tempY = event.clientY + document.body.scrollTop;
	  	} else {  // grab the x-y pos.s if browser is NS
			objRollerEventHolder = evt;
	    	var tempX = evt.pageX;
	    	var tempY = evt.pageY;
		}
		currentXMouse = tempX;
		currentYMouse = tempY;
	}catch(e){
	}
	try{
		objPopTrig = document.getElementById(tgt);
		//
		//objPopTrig.style.border = "1px solid #FF0000";
		//objPopTrig.style.background = "#DDEEEE";
		//
		objPopUp = document.getElementById(objectID);
		objPopTrig.style.visibility = "visible";
	}catch(e){
		//
	}
	try{
		var xPos	= (tempX+25);
		var yPos	= (tempY+15);
		if (xPos+objPopUp.offsetWidth > document.body.clientWidth) {
			xPos = xPos - objPopUp.offsetWidth - 20;
		}
		if (yPos+objPopUp.offsetHeight > document.body.clientHeight) {
			yPos = yPos - objPopUp.offsetHeight - 20;
		}	
		objPopUp.style.left = xPos + "px";
		objPopUp.style.top = yPos + "px";
		objPopUp.style.visibility = "visible";
		//
		_rollOut();
	}catch(e){
		//alert(e);
	}
	//
	try{
		objTextMessage = objPopUp.innerHTML = "<div style='font-size:11px; padding-bottom:8px'>" + "<span style='font-family:Arial;font-size:12px;font-weight:bold'>"+tt+"</span><br><span style='font-family:Verdana;font-size:9px'>"+txt+"</span></div>";
	}catch(e){
		//alert(e);
	}
	//
}
//
//
//
	function altRealign() {
		if ( objRollerEventHolder != null ) {
			//
			//
			try{
				objPopTrig = document.getElementById(objRollerTgt);
				objPopUp = document.getElementById(objRollerObjID);
				objPopTrig.style.visibility = "visible";
			}catch(e){
				//
			}
			try{
				var xPos	= (currentXMouse+15);
				var yPos	= (currentYMouse+25);
				if (xPos+objPopUp.offsetWidth > document.body.clientWidth) {
					xPos = xPos - objPopUp.offsetWidth - 20;
				}
				if (yPos+objPopUp.offsetHeight > document.body.clientHeight) {
					yPos = yPos - objPopUp.offsetHeight - 20;
				}	
				objPopUp.style.left = xPos + "px";
				objPopUp.style.top = yPos + "px";
			}catch(e){
				//alert(e);
			}
		}
	}
//
//
//
function hideAlt(){
	objTextMessage = "";
	try{
		objRollerEventHolder = null;
		//objPopTrig.style.border = "1px solid #BBB";
		//objPopTrig.style.background = "#FFF";
	}catch(e){
		alert(e);
	}
	try{
		_rollIn();
		//objPopUp.style.visibility = "hidden";
		objPopUp = null;
	}catch(e){
		//alert(e);
	}
}
//
//
//
function showHint( evt, tgt , text ){
	var objectID = "alternateMessage";
	var IE = document.all?true:false;
	if (IE) { // grab the x-y pos.s if browser is IE
    	var tempX = event.clientX + document.body.scrollLeft;
    	var tempY = event.clientY + document.body.scrollTop;
  	} else {  // grab the x-y pos.s if browser is NS
    	var tempX = evt.pageX;
    	var tempY = evt.pageY;
	}
	objPopTrig = document.getElementById(tgt);
	objPopUp = document.getElementById(objectID);
	//
	try{
		objPopUp.innerHTML = text;
	}catch(e){
		alert(e);
	}
	//
	var xPos	= (tempX+25);
	var yPos	= (tempY+15);
	if (xPos+objPopUp.offsetWidth > document.body.clientWidth) {
		xPos = xPos - objPopUp.offsetWidth - 20;
	}
	if (yPos+objPopUp.offsetHeight > document.body.clientHeight) {
		yPos = yPos - objPopUp.offsetHeight - objPopTrig.offsetHeight - 20;
	}
	objPopUp.style.left = xPos + "px";
	objPopUp.style.top = yPos + "px";
	objPopUp.style.visibility = "visible";
}
//
//
var _rollTimeout;
var _lastHt;
var showSpeed = 10;
var _rollfactor = 4;
function _rollOut(){
	obj.style.width = "2";
	obj.style.height = "20";
	obj = document.getElementById("alternateMessage");
	clearTimeout(_rollTimeout);
	_rollTimeout = setTimeout(_stepOut_,showSpeed);
}
function _rollIn(){
	obj = document.getElementById("alternateMessage");
	obj.style.height = "20";
	clearTimeout(_rollTimeout);
	setTimeout(_stepIn_,showSpeed);
}
function _stepOut_(){
	obj = document.getElementById("alternateMessage");
	//obj.style.whiteSpace = "normal";
	var ow = obj.offsetWidth;
	
	//
	//
	//
	obj.style.width = ow + (150 - ow)/_rollfactor;
	if (ow <= 50){
		obj.style.height = "20";	
	}else{
		obj.style.height = "auto";
	}
	altRealign();
	_lastHt = obj.offsetHeight;
	clearTimeout(_rollTimeout);
	if (obj.offsetWidth<=150) {
		_rollTimeout = setTimeout(_stepOut_,showSpeed);
	}else{
		try{
			obj.innerHTML = objTextMessage;
		// try realigning...
		}catch(e){
			//
		}
	}
}
function _stepIn_(){
	obj = document.getElementById("alternateMessage");
	var ow = obj.offsetWidth;
	var oh = obj.offsetHeight;
	obj.style.width = ow - (ow)/_rollfactor;
	clearTimeout(_rollTimeout);
	//
	obj.style.height = "20";
	if (obj.offsetWidth>=30) {	
		_rollTimeout = setTimeout(_stepIn_,showSpeed);
	}else{
		obj.style.visibility = "hidden";
		_lastHt = "";
	}
}