// ** Popup box hover thingy (c)2005 by Ralph Capper
// ** Free for you to use - but please credit me - www.ralpharama.co.uk

// Start trapping mouse
if (document.layers) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=mtrack;
var ent; // Our floating div
var signupMenuDiv; // Our floating div
var posx=0; // Our mouseX
var posy=0; // Our mouseY
var offsetX=16; // Offset X away from mouse
var offsetY=16; // Offset Y
var popUp = false; // Is it showing right now??!
var charEditIsOpen = false;

// Run upon load
function initHoverBoxes() {
// Set up div we will use to hover our text
ent = document.createElement("div");
// Change these to customise your popup
ent.setAttribute("class", "signupPopUpBox"); 
ent.setAttribute("className", "signupPopUpBox"); 
ent.id = "signupPopUpBox";
// Don't, however, change these
ent.style.left = "-100px";
ent.style.top = "-100px";
ent.style.position = 'absolute';
ent.innerHTML = '';
ent.style.zIndex = 10;
ent.style.display = 'none';
document.getElementById("thepage").appendChild(ent);


// Set up div we will use to hover our text
signupMenuDiv = document.createElement("div");
// Change these to customise your popup
signupMenuDiv.setAttribute("class", "admin_signupCharacterEdit"); 
signupMenuDiv.setAttribute("className", "admin_signupCharacterEdit"); 
signupMenuDiv.id = "admin_signupCharacterEdit";
// Don't, however, change these
signupMenuDiv.style.left = "-100px";
signupMenuDiv.style.top = "-100px";
signupMenuDiv.style.position = 'absolute';
signupMenuDiv.innerHTML = '';
signupMenuDiv.style.zIndex = 12;
signupMenuDiv.style.display = 'none';
document.getElementById("thepage").appendChild(signupMenuDiv);
}

// Keeps mouse x and y in posx and posy
function mtrack(e) {
	if (popUp) {
		if (!e)
			var e = window.event;
		if (e.pageX || e.pageY) {
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY) {
			posx = e.clientX + document.body.scrollLeft;
			posy = e.clientY + document.body.scrollTop;
		}
		var newX=posx+offsetX;
		var newY=posy+offsetY;
		ent.style.left = newX+"px";
		ent.style.top = newY+"px";
	}
}

// Change floating div to correct text on mouseover
function doText(t, e) {
popUp = true;
ent.style.display = 'block';
ent.innerHTML = t;
}

var updateInnerHTML = true;
var reserve = "";
var group = "";
var c;
function doCharBox(name, guild, level, race, clas, role, admin, avatarurl, r, groupnbr, e) {
	popUp = true;
	ent.style.display = 'block';
	
	if(updateInnerHTML) {
		reserve = "";
		group = "";
		if(r == 1)
			reserve = "Reserve.";
		if(groupnbr != -1)
			group = "Group "+groupnbr+". ";
		c = clas.toLowerCase();
		c = c.replace(" ","");
		ent.innerHTML = '<div><img src="images/icons/wowavatars/'+avatarurl+'.gif" alt="'+clas+'" class="classAvatarBigFloat" /><div class="signupPopUpTextBox '+c+'"><p class="classColoredName">'
						+name+'</p><p class="guildTag">&lt;'+guild+'&gt;</p><p>Level '+level+' '+race+' '+clas+'</p><p>'+group+''+role+'. '+reserve+'</p></div></div>'
		if(admin != -1) {
			ent.innerHTML = '<div><img src="images/icons/wowavatars/'+avatarurl+'.gif" alt="'+clas+'" class="classAvatarBigFloat" /><div class="signupPopUpTextBox '+c+'"><p class="classColoredName">'
							+name+'</p><p class="guildTag">&lt;'+guild+'&gt;</p><p>Level '+level+' '+race+' '+clas+'</p><p>'+group+''+role+'. '+reserve+'</p></div></div>'
							+ '<div class="c"/></div><div class="signupPopUpInfoBox">Click name to mark/unmark player.<br/>Click class icon to edit player.</div></div>';
		}
		updateInnerHTML = false;
	}
}

// Change back to nothing
function doClear() {
popUp = false;
updateInnerHTML = true;
ent.style.left = "-100px";
ent.style.top = "-100px";
ent.innerHTML = "";
ent.style.display = 'none';
}

//open admin signup meny
var tmpCharid = 0;
function admin_signupCharacterEdit(charid, name, guild, level, race, clas, role, e) {
	if(charEditIsOpen) {
		hideMenu();
		charEditIsOpen = false;
	}
	if(tmpCharid == charid) {
		hideMenu();
		tmpCharid = 0;
	}
	else {
		tmpCharid = charid;
		if (!e)
			var e = window.event;
		if (e.pageX || e.pageY) {
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY) {
			posx = e.clientX + document.body.scrollLeft;
			posy = e.clientY + document.body.scrollTop;
		}
		var newX=posx;
		var newY=posy+offsetY;
		signupMenuDiv.style.left = newX+"px";
		signupMenuDiv.style.top = newY+"px";
		
		signupMenuDiv.innerHTML = '<form><div class="infoBox"><p class="classColoredName">'
									+name+
									'</p><p class="guildTag">&lt;'
									+guild+
									'&gt;</p><p>Level '+level+' '+race+' '+clas+'</p><p>'
									+'Primary role: '+role+'</p>'
									+'<a onclick="hideMenu()">Close</a></div></form>';
		
		charEditIsOpen = true;
		signupMenuDiv.style.display = 'block';
	}
}

function hideMenu() {
	signupMenuDiv.style.display = 'none';
}
