var offsetxpoint=-200 //Customize x offset of tooltip
var offsetypoint=20 //Customize y offset of tooltip
var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
var divAlbName = '';
var ajaxProcess = false;

if (ie||ns6)
	var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""
	
function ietruebody() {
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thecolor, thewidth) {
	if (ns6||ie) {
		if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
		if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
		tipobj.innerHTML=thetext
		enabletip=true
		return false
	}
}

function positiontip(e) {
	if (enabletip) {
		var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
		var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
		//Find out how close the mouse is to the corner of the window
		var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
		var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20
		var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000
		//if the horizontal distance isn't enough to accomodate the width of the context menu
		if (rightedge<tipobj.offsetWidth)
			//move the horizontal position of the menu to the left by it's width
			tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
		else if (curX<leftedge)
			tipobj.style.left="5px"
		else
			//position the horizontal position of the menu where the mouse is positioned
			tipobj.style.left=curX+offsetxpoint+"px"
		
		//same concept with the vertical position
		if (bottomedge<tipobj.offsetHeight)
			tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
		else
			tipobj.style.top=curY+offsetypoint+"px"
		tipobj.style.visibility="visible"
		tipobj.style.display="inline"
	}
}

function hideddrivetip() {
	if (ns6||ie){
		enabletip=false
		tipobj.style.visibility="hidden"
		tipobj.style.left="-1000px"
		tipobj.style.backgroundColor=''
		tipobj.style.width=''
	}
}

// get info from face
function ddrivetip2(albumVal) {
	var thetext = '';

	if (ajaxProcess === false)
	{
		divAlbName = 'divAlb'+ albumVal;
		var checkDiv = document.getElementById(divAlbName);
		if (!checkDiv)
		{
			var mainDivAlbumTmp = document.getElementById('divAlbumPlace');
			var newDivAlb = document.createElement('textarea');
			newDivAlb.id = divAlbName;
			newDivAlb.style.width = "1px";
			mainDivAlbumTmp.appendChild(newDivAlb);

			ajaxProcess = true;
			// set loading div
			ddrivetip('<div id="bookmark_info_message"></div>','yellow', 300);
			getFile(serviceURL,'rd=FaceInfo&album='+ albumVal, 'bookmarkFaceInfo');
		}
		else
		{
			thetext = document.getElementById(divAlbName).innerHTML;
			thetext = thetext.replace(new RegExp("\n", "g"), "<br />");
			thetext = thetext.replace(new RegExp("&lt;", "g"), "<");
			thetext = thetext.replace(new RegExp("&gt;", "g"), ">");
			ddrivetip('<div style="text-align: left;">'+ thetext +'</div>','yellow', 300);
		}
	}
}

function setBookMarkAlbInfo(response) {

	var divAlbAlbum = document.getElementById(divAlbName);
	if (divAlbName)
	{
		var textResponse = document.createTextNode(response);
		divAlbAlbum.appendChild(textResponse);
	}

	ajaxProcess = false;
	ddrivetip2(divAlbName.replace('divAlb', ''));
}

document.onmousemove=positiontip