﻿// 用户信息提示
// 杨东明 20060125
//WebrootUr网站根目录
function TipUserListClass(CallFunName, picRootUrl, getFaceUrl, WebrootUrl) {
	this.CallFunName = CallFunName;
	this.picRootUrl = picRootUrl;
	this.getFaceUrl = getFaceUrl;
	this.WebrootUrl = WebrootUrl;
	this.UserList = new Array();
	this.thisUserid = "";
	document.write("<div id='UserInfoTtip' name='UserInfoTtip' class='UserInfoTip' onmouseover='tUserInfoClass.stip();' onmouseout='tUserInfoClass.hidetip();' style='position:absolute;visibility:hidden'></div>");
	TipUserListClass.tipEle = document.getElementById("UserInfoTtip");
	xAddEventListener(document, 'click', TipUserListClass.OnClick, false);
}

TipUserListClass.tipEle = null;
TipUserListClass.trgEle = null;
TipUserListClass.ishow = false;

//接收回调
//"userid:{0},state:'OK',username:'{1}',handphone:'{2}',email:'{3}',face:'{4}','nickname':'{5}',allin:'{6}',allout:'{7}',usertype:'{8}',usertypename:'{9}'"
TipUserListClass.prototype._getUserInfoWithCallBack = function(backInfo) {
	//alert(backInfo);
	try {
		if (backInfo && backInfo != "") {
			var userobj;
			var tmpJS = "userobj={" + backInfo + "}";
			eval(tmpJS);
			if (userobj) {
				this.UserList[userobj.usertype + "_" + userobj.userid + "_" + userobj.grpid] = userobj;

				if (this.thisUserid.toString() == userobj.userid.toString()) {

					if (userobj.state == "OK") {
						TipUserListClass.tipEle.innerHTML = this.getUserInfoHtml(userobj);

					}
					else {
						TipUserListClass.tipEle.innerHTML = this.getNoUserHtml(userobj.usertype, userobj.userid);
					}
				}
			};
			return true;
		}
		return false;
	}
	catch (err) {
		return false;
	}
};

TipUserListClass.prototype.checkUserIsLoad = function(_usertype, _userid, _grpid) {
	var keyname = _usertype + "_" + _userid + "_" + _grpid;
	if (this.UserList[keyname]) {
		if (this.UserList[keyname].state == "OK")
			return this.getUserInfoHtml(this.UserList[keyname]);
		else if (this.UserList[keyname].state == "WT")
			return this.getWatieHtml(_usertype, _userid);
		else
			return this.getNoUserHtml(_usertype, _userid);
	}
	else {
		//启动回调
		this.UserList[keyname] = { "usertype": _usertype, "userid": _userid, "state": "WT" };
		this.CallFunName(keyname);
		return this.getWatieHtml(_usertype, _userid);
	}
};

TipUserListClass.prototype.getWatieHtml = function(_usertype, _userid) {
	var outhtml = "";
	outhtml = "<table width=100% height=100><tr><td class=baseFontBold  align='center' style='font-size:9pt'>正在加载用户资料请稍等... <a href='javascript:void(0);' onclick='tUserInfoClass.hidetip();' id='closeTxt1'>关闭</a></td></table>";
	return outhtml;
}

TipUserListClass.prototype.getNoUserHtml = function(_usertype, _userid) {
	var outhtml = "";
	outhtml = "<table width=100% height=100><tr><td class=baseFontBold  align='center' style='font-size:9pt'>没有找到用户资料 <a href='javascript:void(0);' onclick='tUserInfoClass.hidetip();' id='closeTxt2'>关闭</a></td></table>";
	return outhtml;
}

TipUserListClass.prototype.getUserInfoHtml = function(uObj) {
	var outhtml = "";
	if (uObj) {
		var toUserInfoScript = "";
		toUserInfoScript = "showuserinfo(" + uObj.userid + ");void(0);"

		outhtml = "<table width='100%' height='156' border='0' cellpadding='0' cellspacing='0' style='font-size:9pt' >" +
				"<tr>" +
				"<td width='6' rowspan='2'></td>" +
				"<td height='6' valign='top'></td>" +
				"<td width='10' rowspan='2'></td>" +
				"</tr>" +
				"<tr>" +
				"<td valign='top'><table width='100%' border='0' cellspacing='1' cellpadding='1'>" +
				"<tr>" +
				"<td width='84%' height='19' valign='bottom' style='font-size:9pt'><a href='javascript:void(0);'  style='FONT-SIZE: 9pt; COLOR: #003399; TEXT-DECORATION: none'><strong>" + uObj.username + " " + (uObj.nickname != "" ? "(" + uObj.nickname + ")" : "") + "</strong></a></td>" +
				"<td width='16%' rowspan='2' align='right' style='font-size:9pt'><img src='" + uObj.face + "' width='32' height='32' border='0'></td>" +
				"</tr>" +
				"<tr>" +
				"<td style='font-size:9pt'>" + uObj.subtitle + "&nbsp;</td>" +
				"</tr>" +
				"<tr>" +
				"<td colspan='2' style='font-size:9pt'>" + "</td>" +
				"</tr>" +
				"<tr>" +
				"<td colspan='2'><table width='100%' border='0' cellspacing='0' cellpadding='0'>" +
				"<tr>" +
				"<td height='1' bgcolor='#e6e6e6'></td>" +
				"</tr>" +
				"</table></td>" +
				"</tr>" +
				"</table>" +
				"<table width='100%' border='0' cellspacing='0' cellpadding='0'>" +

				"<tr>" +
				"<tr style='font-size:9pt'>" +
				"<td align='left' nowrap>" + (uObj.usertype != '1' ? "接收捐助" : "捐助总额") + "：</td>" +
				"<td class='baseFont'>" + uObj.allin + "</td>" +
				"</tr>";
		if (uObj.usertype != '1') {
			outhtml += "<tr style='font-size:9pt'>" +
				"<td align='left' nowrap >支出总额：</td>" +
				"<td class='baseFont'>" + uObj.allout + "</td>" +
				"</tr>";
			outhtml += "<tr style='font-size:9pt'>" +
				"<td align='left' nowrap >捐款余额：</td>" +
				"<td  class='baseFont'>" + (uObj.allmon) + "</td>" +
				"</tr>";
		}
		else {
			outhtml += "<tr style='font-size:9pt'>" +
				"<td align='left' nowrap >捐物合计：</td>" +
				"<td colspan='2' class='baseFont'>" + uObj.allgoods + "件</td>" +
				"</tr>";
			outhtml += "<tr style='font-size:9pt'>" +
				"<td align='left' nowrap ></td>" +
				"<td  class='baseFont'>&nbsp;</td>" +
				"</tr>";
		}

		outhtml += "<tr><td height='22' colspan='2' align='right' valign='bottom'><table width='100%' border='0' cellspacing='0' cellpadding='3'>" +
				"<tr><td colspan='2' style='height:8px;'></td></tr>" +
				"<tr>" +
				"<td align='left'>";
		if (uObj.usertype != '1') {
			outhtml += "+<a href='" + this.WebrootUrl + "Children/" + uObj.userid + "/Donation.aspx' target='_blank'>捐助明细</a>&nbsp;&nbsp;";
			outhtml += "+<a href='" + this.WebrootUrl + "Children/" + uObj.userid + "/story.aspx' target='_blank'>孩子故事</a>";
		}
		else {
			outhtml += "+<a href='QueryDonation.aspx?su=" + encodeURIComponent(uObj.username) + "'>捐助明细</a>&nbsp;&nbsp;";
		}
		
		outhtml += "</td>" +
				"<td align='right'><a href='javascript:void(0);' onclick='tUserInfoClass.hidetip()' title='关闭'><Img id='closeimg' src='" + this.WebrootUrl + "_adminmanage/images/sc_icon.gif' width='13' height='13'border=0/></a>&nbsp;</td>" +
				"</tr>" +
				"</table> </td>" +
				"</tr>" +
				"</table></td>" +
				"</tr>" +
				"</table>";
	}
	else {
		outhtml = this.getNoUserHtml(uObj.usertype, uObj.userid);
	}
	return outhtml;
}


//主框架提示
TipUserListClass.prototype.showMainFrameTip = function(usertype, userid, evt, ScrollTop, gid) {
	var e = new xEvent(evt);
	var targetObj = e.target;
	var mX = e.pageX;
	var mY = e.pageY;
	var DIVobj = TipUserListClass.tipEle;
	var popWidth = xWidth(DIVobj);
	var popHeight = xHeight(DIVobj);
	if (userid) {
		DIVobj.innerHTML = this.checkUserIsLoad(usertype, userid, gid);
		this.thisUserid = userid;
	}
	if (TipUserListClass.trgEle != targetObj || !TipUserListClass.ishow) {
		//alert("mY="+mY+"ScrollTop="+ScrollTop+"popHeight="+popHeight+"xClientHeight()="+xClientHeight()+"xScrollTop()="+xScrollTop());
		TipUserListClass.trgEle = e.target;
		var popLeftAdjust = 0, popTopAdjust = 0;
		if (mX + 12 + popWidth > xClientWidth()) popLeftAdjust = -popWidth - 12;
		var y = 0
		var x = mX + 6 + popLeftAdjust;
		if (xIE4Up) {
			if (mY + 6 + popHeight > xClientHeight() - 20 + xScrollTop()) popTopAdjust = -popHeight - 6;
			y = mY + popTopAdjust + 20 + 6;
		}
		else {
			if (mY + 6 - ScrollTop + popHeight > xClientHeight() - 20 + xScrollTop()) popTopAdjust = -popHeight - 6;
			y = mY - ScrollTop + popTopAdjust + 20 + 6;
		}
		xMoveTo(TipUserListClass.tipEle, x, y);
		xShow(TipUserListClass.tipEle);
	}
	TipUserListClass.ishow = true;
}

//弹出窗口提示
TipUserListClass.prototype.showOpenWinTip = function(usertype, userid, evt, gid) {
	var e = new xEvent(evt);
	var targetObj = e.target;
	var mX = e.pageX;
	var mY = e.pageY;
	var DIVobj = TipUserListClass.tipEle;
	var popWidth = xWidth(DIVobj);
	var popHeight = xHeight(DIVobj);
	if (userid) {
		DIVobj.innerHTML = this.checkUserIsLoad(usertype, userid, gid);
		this.thisUserid = userid;
	}
	if (TipUserListClass.trgEle != targetObj || !TipUserListClass.ishow) {
		TipUserListClass.trgEle = e.target;
		var popLeftAdjust = 0, popTopAdjust = 0;
		if (mX + 12 + popWidth > xClientWidth()) popLeftAdjust = -popWidth - 12;
		if (mY + popHeight > xClientHeight() + xScrollTop()) popTopAdjust = -popHeight;
		var x = mX + 6 + popLeftAdjust;
		var y = mY + popTopAdjust;
		xMoveTo(TipUserListClass.tipEle, x, y);
		xShow(TipUserListClass.tipEle);
	}
	TipUserListClass.ishow = true;
}

TipUserListClass.prototype.hidetip = function() {
	if (TipUserListClass.tipEle && TipUserListClass.ishow) {
		TipUserListClass.ishow = false;
		setTimeout('if(!TipUserListClass.ishow){xMoveTo(TipUserListClass.tipEle, -1000, -1000);}', 350);
	}
}

TipUserListClass.prototype.stip = function() {
	if (TipUserListClass.tipEle) {
		TipUserListClass.ishow = true;
		xShow(TipUserListClass.tipEle);
	}
}

TipUserListClass.prototype.keepshowTip = function() {
	if (TipUserListClass.ishow) {
		xShow(TipUserListClass.tipEle);
	}
	else {
		TipUserListClass.ishow = false;
	}
}
TipUserListClass.OnClick = function(oEvent) {
	var e = new xEvent(oEvent);
	if (e.target && (e.target.id == "closeimg" || e.target.id == "closeTxt1" || e.target.id == "closeTxt2")) {
		TipUserListClass.ishow = false;
		xMoveTo(TipUserListClass.tipEle, -1000, -1000);
	}
	else if (e.target && e.target.src && (e.target.src.indexOf("402.gif") > 0 || e.target.src.indexOf("zhusi_icon.gif") > 0)) {
		;
	}
	else if (e.target && testInEle(e.target, TipUserListClass.tipEle)) {
		tUserInfoClass.stip();
	}
	else {
		tUserInfoClass.hidetip();
	}
}
function testInEle(obj1, tarObj) {
	var theElement = obj1;
	while (theElement != null) {
		if (theElement == tarObj)
			return true;
		else
			theElement = theElement.parentNode;
	}
	return false;
}