﻿/*---------------------------------------------------------------------------*\
|  NameSpace:  Csdn.Forum.UserOnline
|  Author:     yizhu
|  Version:    2007-11-13
\*---------------------------------------------------------------------------*/
  
showUserCard.database = {}; //global userinfo database
    
resourcePath="/u/ui/scripts/System/_resource";
  
window._stopMouseOver=function(e){(window.event||e).cancelBubble=true;}
function UserCardCallback(json)
{	
    if(typeof(json)=="undefined" || !json.username) return;
    showUserCard.database[json.username] = json;
    bindData(json.username);
}

function showUserCard(e, user)
{
    e = (window.event||e); e.cancelBubble=true;
    var img = e.srcElement || e.target; 
    if(!user) return;
    var layer=document.getElementById("UserCard_layer");
    if(!layer)
    return; 
    layer.style.display="";
    var xy;
    if(navigator.userAgent.toLowerCase().indexOf("opera")<0)
    { xy=realOffset(img); layer.style.left = (xy.x+img.offsetWidth-2) +"px";}
    else//is opera
    { xy=getEventXY(e); layer.style.left = xy.x +"px";}
    layer.style.top  = (xy.y) +"px";
    var right = "<iframe frameborder='0' src='{0}.asp' width='200' height='300'></iframe>"
    document.getElementById("UserCard_right").innerHTML = right.format(user);

    if(typeof(showUserCard.database[user])=="undefined")
    {
        SendRequest(document.getElementById("hf_cardUrl").value + user);
    }
    else bindData(user);
}


function bindData(username)
{
    var json = showUserCard.database[username];
    $("UserCard_nickname").innerHTML = json.nickname;
    for(var s="", i=0; i<json.topicList.length; i++)
    {
        s += "<li><a href='{0}' title='{2}' target='_blank'>{1}</a></li>".format(json.topicList[i].url, json.topicList[i].text.subByte(20), json.topicList[i].text.replace(/</g, "&lt;").replace(/\'/, "&#39;"));
    }
    if(s!="") $("UserCard_topiclist").innerHTML = "<ol>"+s+"</ol>";
}
document.attachEvent("onmouseover", function(){try{document.getElementById("UserCard_layer").style.display="none";}catch(ex){}});

function SendRequest(url){	
	if(this.element){this.element.parentNode.removeChild(this.element)};
	this.element=document.createElement("SCRIPT");	 
	this.element.type="text/javascript";
	this.element.id = "MzJsonElement";
	this.element.src=url;
	document.getElementsByTagName("HEAD")[0].appendChild(this.element);
}



