

var requests = new Object();
function fetch(requestName,url,processChangeMethodStr,fetchAsyc){
	requests[requestName]=null;
	if (window.XMLHttpRequest) {
		requests[requestName]=new XMLHttpRequest();
		if(fetchAsyc==true)requests[requestName].onreadystatechange=eval(processChangeMethodStr);
		requests[requestName].open("GET",url,fetchAsyc);
		requests[requestName].send(null);
	} else if (window.ActiveXObject) {
		requests[requestName] = new ActiveXObject("Microsoft.XMLHTTP");
		if(fetchAsyc == true)requests[requestName].onreadystatechange=eval(processChangeMethodStr);
		requests[requestName].open("GET", url, fetchAsyc);
		requests[requestName].send();
	}
	if(fetchAsyc==false)eval(processChangeMethodStr);
}
function getXMLData(request,pathEls){
	path=new Array();
	path=pathEls;
	if(isValidXML(request)){
		currEl=request.responseXML;i=0;
		if(path.length%2==0){
			while(i<path.length){
				thisElName=path[i];
				thisElIndex=path[i+1];
				i+=2;
				if(!currEl)return null;
				currEl=currEl.getElementsByTagName(thisElName);
				if(!currEl||currEl.length<thisElIndex)return null;
				currEl=currEl.item(thisElIndex);
			}
			return(currEl?currEl.firstChild.nodeValue:null);
		}else{return null;}
	}	
}
function isValidXML(request){
	return((request && request.readyState==4 && request.status==200)?true:false);
}

var pc_ie="Microsoft Internet Explorer";var pc_nn="Netscape"; var pc_ns="Netscape";var pc_browser=navigator.appName;var pc_mac="MacPPC";var pc_os=navigator.platform;
function eventObj(){return(pc_browser==pc_nn?'event':'\'\'');}
// DHTML CONTROLS
var layerRef = '';var styleSwitch = '';var layerRefOther = '';
if (document.getElementById) {
	layerRef='document.getElementById(layer)';
	layerRefOther='document.getElementById(referenceLayer)';
	styleSwitch='.style';
}else if(pc_browser==pc_nn){
	layerRef='document.layers[layer]';
	layerRefOther='document.layers[referenceLayer]';
}else if(pc_browser == pc_ie){
	layerRef='document.all[layer]';
	layerRefOther='document.all[referenceLayer]';
	styleSwitch='.style';
}
function move(layer, top, left) {
	px=pc_browser==pc_nn?'px':'';
	eval(layerRef + styleSwitch).top=top+px;
	eval(layerRef + styleSwitch).left=left+px;
}
function moveToMouse(e, layer, offset_x, offset_y) {
	x=getPointerX(e);
	y=getPointerY(e);
	move(layer,eval(y)+ eval(offset_y),eval(x)+eval(offset_x));
}
function getPointerX(e) {
	return(e != ''?e.pageX:getRealLeftByObj(window.event.srcElement));
}
function getPointerY(e) {
	return(e != ''?e.pageY:getRealTopByObj(window.event.srcElement));
}
function getRealLeft(layer) {
	thisObj=document.getElementById(layer);
	xPos=getRealLeftByObj(thisObj);
	return xPos;
}
function getRealTop(layer) {
	thisObj=document.getElementById(layer);
	yPos=getRealTopByObj(thisObj);
	return yPos;
}
function getRealLeftByObj(thisObj) {
	xPos=0;
	if(thisObj){
		xPos=thisObj.offsetLeft;
		tempEl=thisObj.offsetParent;
		while(tempEl!=null){
			xPos+=tempEl.offsetLeft;
			tempEl=tempEl.offsetParent;
		}
	}
	return xPos;
}
function getRealTopByObj(thisObj){
	yPos = 0;
	if(thisObj){
		yPos=thisObj.offsetTop;
		tempEl=thisObj.offsetParent;
		while(tempEl!=null){
			yPos+=tempEl.offsetTop;
			tempEl=tempEl.offsetParent;
		}
	}
	return yPos;
}
var popcardObj=null;
function getPopcardObj(){ return (popcardObj==null?document.getElementById("popcarddiv"):popcardObj); }
function pc(e,url,requestName,fetchOnce){
	hpc();

	if(!fetchOnce||!requests[requestName])
	{
		fetch(requestName,url,'formatpopcard(\''+requestName+'\')',false)
	}
	else
	{
		eval('formatpopcard(\''+requestName+'\')')
	}
	yoff=pc_browser==pc_ie?12:0;
	xoff=pc_browser==pc_ie?0:-5;
	moveToMouse(e,'popcarddiv',xoff,yoff);
	getPopcardObj().style.visibility='visible';
	popcardVisible=true;popcardCurrReq=requestName;
}
function hpc(){
	getPopcardObj().style.visibility='hidden';
}
function formatpopcard(requestName) {
	request=requests[requestName];
	if(isValidXML(request)){
		fmtMethod=getXMLData(request,['pcdata',0,'method',0]);
		if(fmtMethod)eval(fmtMethod+'(request);');
	}	
}

function fmtpopcard_player(request){
	getPopcardObj().style.font = '10px Verdana';
	getPopcardObj().style.padding = '4px';
	getPopcardObj().style.backgroundColor = '#ccc';
	getPopcardObj().style.border = 'solid 1px #999';
	pcbody = '<table border=0><tr valign=top><td><img src="http://espn.starwave.com/i/nba/profiles/players/small/' + getXMLData(request,['pcdata',0,'player',0,'playerId',0]) + '.jpg" border=0 width=35 height=48></td>';
	pcbody = pcbody + '<td><b>' + getXMLData(request,['pcdata',0,'player',0,'name',0]) + '</b><br>' + getXMLData(request,['pcdata',0,'player',0,'proteam',0]) + '&nbsp;&nbsp;' + getXMLData(request,['pcdata',0,'player',0,'position',0]);
	hasStats = getXMLData(request,['pcdata',0,'player',0,'hasstats',0]);
	if(hasStats==1)pcbody = pcbody + '<br><br>' + getXMLData(request,['pcdata',0,'player',0,'pointspergame',0])+' PPG, '+getXMLData(request,['pcdata',0,'player',0,'assistspergame',0])+' APG, '+getXMLData(request,['pcdata',0,'player',0,'reboundspergame',0])+' RPG<br>'; 
	pcbody = pcbody + '</td></tr></table>';
	getPopcardObj().innerHTML = pcbody;
}
function fmtpopcard_team(request){
	getPopcardObj().style.font = '10px Verdana';
	getPopcardObj().style.padding = '4px';
	getPopcardObj().style.backgroundColor = '#ccc';
	getPopcardObj().style.border = 'solid 1px #999';
	pcbody = '<table border=0><tr valign=top><td><img src="http://espn.go.com/i/teamlogos/nba/sml/trans/' + getXMLData(request,['pcdata',0,'team',0,'abbrev',0]) + '.gif" border=0 width=50 height=50></td>';
	pcbody = pcbody + '<td><b>' + getXMLData(request,['pcdata',0,'team',0,'name',0]) + '</b><br><br>' + getXMLData(request,['pcdata',0,'team',0,'record',0]);
	pcbody = pcbody + '</td></tr></table>';
	getPopcardObj().innerHTML = pcbody;
}
//STUBS TO RUN APPROPRIATE XML URL
function pcp(e,plyrId){pc(e,'/nba/fantasy/popcardxml?v=1&playerId='+plyrId,'pcRequest_plyr'+plyrId,true);}
function pct(e,tmId){pc(e,'/nba/fantasy/popcardxml?v=1&teamId='+tmId,'pcRequest_tm'+tmId,true);}