function rhtml(str) {
	reg = /<|&lt;|>|&gt;/;
	while (reg.test(str)) {
		str = str.replace(reg, "");
	}
	return str;
}
function getStyleObject(objectId) {
    if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
		return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
		return document.layers[objectId];
    } else {
		return false;
    }
}
function getDivObject(objectId) {
    if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId);
    } else if (document.all && document.all(objectId)) {
		return document.all(objectId);
    } else if (document.layers && document.layers[objectId]) {
		return document.layers[objectId];
    } else {
		return false;
    }
}
function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.visibility = newVisibility;
		return true;
    } else {
		return false;
    }
}
function moveObject(objectId, newXCoordinate, newYCoordinate) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
		styleObject.left = newXCoordinate;
		styleObject.top = newYCoordinate;
		return true;
    } else {
		return false;
    }
}
var xOffset = 30;
var yOffset = -5;

function showP(objId, event, s) {
	var x, y;
	
	d = getDivObject(objId);
	d.innerHTML = s;
    if(event) {
		hideP();
		event.cancelBubble = true;
		
		if (browser.isIE) {
			x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
			y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
		} else if (browser.isNS) {
			x = event.clientX + window.scrollX;
			y = event.clientY + window.scrollY;
		}
		
		var newXCoordinate = x + xOffset;
		var newYCoordinate = y + yOffset;
		
		if (document.body.clientWidth-newXCoordinate-400 < 0)
			newXCoordinate -= 460;
		moveObject(objId, newXCoordinate, newYCoordinate);
		if( changeObjectVisibility(objId, 'visible') ) {
		    window.currentlyVisiblePopup = objId;
		    return true;
		} else {
		    return false;
		}
    } else {
		return false;
    }
}
function showPt(objId, event, text) {
	var x, y;
	d = document.all[objId];
	s = "<table width=400 border=0><tr><td width=0 valign=center>"+text+"</td></tr></table>";
	d.innerHTML = s;
    if(event) {
		hideP();
		event.cancelBubble = true;
		
		if (browser.isIE) {
			x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
			y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
		} else if (browser.isNS) {
			x = event.clientX + window.scrollX;
			y = event.clientY + window.scrollY;
		}
		
		var newXCoordinate = x + xOffset;
		var newYCoordinate = y + yOffset;

		if (newXCoordinate > 700)
			newXCoordinate -= 450;

		moveObject(objId, newXCoordinate, newYCoordinate);
		if( changeObjectVisibility(objId, 'visible') ) {
		    window.currentlyVisiblePopup = objId;
		    return true;
		} else {
		    return false;
		}
    } else {
		return false;
    }
}
function hideP() {
    if (window.currentlyVisiblePopup) {
		changeObjectVisibility(window.currentlyVisiblePopup, 'hidden');
		window.currentlyVisiblePopup = false;
    }
}
document.onclick = hideP;
function createFakeEventObj() {
    if (!window.event) {
		window.event = false;
    }
}
