// minicard.js
//
//	Displays a miniature version of the player card when a player name is hovered over
//
// Change Control
// IN - 7/13/09 - TL - Removed beta.simdynasty.com
// IN - 6/04/09 - CL - New file

var offX = 15;             // X offset from mouse position
var offY = 15;             // Y offset from mouse position
var minicardTimeout = 500; // Milliseconds to hover before activation
var minicardActive=false;
var minicardTimerID=0;
var minicardPlayerID=0;
var minicardWidth=420;
var minicardHeight=204;
var viewportwidth;
var viewportheight;
var minicardType=0;		// 1=player, 2=team
var cardsenabled=true;

function disableCards() {
	cardsenabled=false;
}


function getDimensions() {
 
 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
 
 if (typeof window.innerWidth != 'undefined')
 {
      viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
 }
 
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

 else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0)
 {
       viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
 }
 
 // older versions of IE
 
 else
 {
       viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
 }
}

function mouseX(evt) {

	if (!evt) 
		evt = window.event;
	if (evt.pageX) {
		return evt.pageX;
	} 
	if (evt.clientX) {
		return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
	} 
	return 0;
}

function mouseY(evt) {
	if (!evt) 
		evt = window.event; 
	if (evt.pageY) 
		return evt.pageY; 
	else if (evt.clientY)
		return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
	else 
		return 0;
}

function clientmouseX(evt) {

	if (!evt) 
		evt = window.event;
	if (evt.clientX) {
		return evt.clientX;
	} 
	return 0;
}

function clientmouseY(evt) {
	if (!evt) 
		evt = window.event; 
	if (evt.clientY)
		return evt.clientY; 
	else 
		return 0;
}


function showMiniCard() {
	if (document.getElementById) {
		var obj = document.getElementById("minicardDiv").style;
		if(minicardType==1) {
			document.getElementById("minicardIframe").src="player.jsp?mode=mini&id="+minicardPlayerID;
		}
		if(minicardType==2) {
			document.getElementById("minicardIframe").src="teammini.jsp?teamid="+minicardPlayerID;
		}
		obj.visibility = 'visible';
		//obj.left = (parseInt(mouseX(evt))+offX) + 'px';
		//obj.top = (parseInt(mouseY(evt))+offY) + 'px';
		minicardActive=true;
	}
}

function doTeamMiniCard(teamID, evt) {
	minicardType=2;
	doCard(teamID, evt)	
}

function doMiniCard(playerID, evt) {
	minicardType=1;
	doCard(playerID, evt)	
}

function doCard(playerID, evt) {
	var x;
	var y;
	var cx;
	var cy;
	if(playerID!=minicardPlayerID) {
		cancelMiniCard();
		if (!evt) 
			evt = window.event; 
		minicardPlayerID=playerID;
		minicardTimerID=setTimeout("showMiniCard();",minicardTimeout);
		var obj = document.getElementById("minicardDiv").style; 
		obj.visibility = 'hidden';
		x = (parseInt(mouseX(evt))+offX);
		y = (parseInt(mouseY(evt))+offY);
		cx = (parseInt(clientmouseX(evt))+offX);
		cy = (parseInt(clientmouseY(evt))+offY);
		getDimensions();
		if((cx+minicardWidth)>viewportwidth) {
			// Move card to the left
			x=x-(minicardWidth+(offX*2));
		}
		if((cy+minicardHeight)>viewportheight) {
			// Move card up
			y=y-(minicardHeight+(offY*2));
		}
		obj.left = x + 'px';
		obj.top = y + 'px';
	}
}

function cancelMiniCard() {
	if(minicardTimerID!=0) {
		clearTimeout(minicardTimerID);
		minicardTimerID=0;
	}
	if(minicardActive==true) {
		var obj = document.getElementById("minicardDiv").style; 
		obj.visibility = 'hidden';
		document.getElementById("minicardIframe").src=""; 
		minicardActive=false;
	}
	minicardPlayerID=0;
}

