var curParentTag;
var curMeetingInfoTag;
var isCurMeetingInfoHold;

var isCurMeetingInfoHold = false;

// 显示会议信息浮动窗口
// parentTag：父标签
// tagId：浮动窗口标签ID
// isShow：是否显示
// meetingId：会议号
function showMeetingInfo(ev,parentTag,tagId,meetingId)
{	
	ev = ev || window.event;
	ExpUtil.stopEvent(ev);
	
	isCurMeetingInfoHold = false;
	doHidenMeetingInfo();	
	isCurMeetingInfoHold = true;
	
	if (meetingId == 0)
	{
		return;
	}
	
	curParentTag = parentTag;
	curMeetingInfoTag = $$(tagId);

	if ($$("hidMeetingInfoId").value != meetingId)
	{
		$$("hidMeetingInfoId").value = meetingId;
		getMeetingInfo(meetingId);			
	}
	else
	{
		doShowMeetingInfo();
	}		
}
	
// 获取基金统计数据
function getMeetingInfo(meetingId)
{          
    if (meetingId == null|| meetingId == "" || meetingId == "0")
    {
        return;
    } 
	
	MeetingInfo.GetMeetingInfo(meetingId,getMeetingInfoCallBack);
}

// 获取基金统计数据回调函数
function getMeetingInfoCallBack(response)
{
              
    var lblMeetingTypeName = $$("lblMeetingTypeName");
    var lblStartTime = $$("lblStartTime");
    var lblPlace = $$("lblPlace");
    var lblSubject = $$("lblSubject");
    var lblAttendeeTypeName= $$("lblAttendeeTypeName");
    var lnkMeetingInfo = $$("lnkMeetingInfo"); 
    
    
    if (response.value != null)
	{					
		var ds = response.value;
		if(ds != null 
		    && typeof(ds) == "object" 
		    && ds.Tables != null 
		    && ds.Tables[0].Rows.length > 0)
		{
			ExpUtil.setElementInnerText(lblMeetingTypeName,(ds.Tables[0].Rows[0]["meeting_type_name"] == null ? "" : ds.Tables[0].Rows[0]["meeting_type_name"]) );
			ExpUtil.setElementInnerText(lblPlace,(ds.Tables[0].Rows[0]["place"] == null ? "" : ds.Tables[0].Rows[0]["place"]));
			ExpUtil.setElementInnerText(lblSubject,(ds.Tables[0].Rows[0]["subject"] == null ? "" : ds.Tables[0].Rows[0]["subject"]));
			ExpUtil.setElementInnerText(lblAttendeeTypeName,(ds.Tables[0].Rows[0]["attendee_type_name"] == null ? "" : ds.Tables[0].Rows[0]["attendee_type_name"]));
			
			if (ds.Tables[0].Rows[0]["start_time"] == null)
			{
				ExpUtil.setElementInnerText(lblStartTime,"");
			}
			else
			{
				var startTime = ds.Tables[0].Rows[0]["start_time"];
				var startTimeStr = startTime.format("hh:mm");
				startTimeStr = (startTimeStr == "00:00") ? "" : startTimeStr;
				ExpUtil.setElementInnerText(lblStartTime,startTimeStr);
			}
			
			lnkMeetingInfo.href = "/inv_meeting/meeting_info.aspx?id=" + ds.Tables[0].Rows[0]["id"];	
			
			doShowMeetingInfo();            
		}		  
		else 
		{
			ExpUtil.setElementInnerText(lblMeetingTypeName,"");
			ExpUtil.setElementInnerText(lblStartTime,"");
			ExpUtil.setElementInnerText(lblPlace,"");
			ExpUtil.setElementInnerText(lblSubject,"");
			ExpUtil.setElementInnerText(lblAttendeeTypeName,"");
			
			lnkMeetingInfo.href = "javascript:void(0)";		
		}      
	}
}

function doShowMeetingInfo()
{
	if (!curParentTag || !curMeetingInfoTag)
	{
		return;
	}
	
	var parentTag = curParentTag;
	var tag = curMeetingInfoTag;

	// 浮动窗口定位
	// 浮动窗口离页面右边距不足50px时，与父标签右对齐，否则左对齐				
	var left = parentTag.offsetLeft;
	var top = parentTag.offsetTop;
	var obj = parentTag;
	while (obj.offsetParent) 
	{ 
		obj　= obj.offsetParent; 
		left += obj.offsetLeft; 
		top += obj.offsetTop; 
	}
					
	var width = parseInt(tag.style.width);
	if ((document.body.offsetWidth - left - width) <  50)
	{				
		tag.style.left = left - width + parentTag.offsetWidth + "px";
	}
	else
	{
		tag.style.left = left + "px";
	}

	tag.style.top = top + parentTag.offsetHeight + "px";	
					
	tag.style.display = "";	
}

function hidenMeetingInfo()
{
	isCurMeetingInfoHold = false;
	window.setTimeout("doHidenMeetingInfo();",1000);
}

function doHidenMeetingInfo()
{
	if (!curMeetingInfoTag)
	{
		return;
	}
	
	if (!isCurMeetingInfoHold)
	{
		var tag = curMeetingInfoTag;
		tag.style.display = "NONE";
	}
}

function holdMeetingInfo(isHold)
{
	isCurMeetingInfoHold = isHold;
}

Date.prototype.format = function(format)  
{  
   var o = {  
     "M+" : this.getMonth()+1,
     "d+" : this.getDate(),
     "h+" : this.getHours(),
     "m+" : this.getMinutes(),
     "s+" : this.getSeconds(), 
     "q+" : Math.floor((this.getMonth()+3)/3),
     "S" : this.getMilliseconds()
   }  
   if(/(y+)/.test(format)) format=format.replace(RegExp.$1,  
     (this.getFullYear()+"").substr(4 - RegExp.$1.length));  
   for(var k in o)if(new RegExp("("+ k +")").test(format))  
     format = format.replace(RegExp.$1,  
       RegExp.$1.length==1 ? o[k] :   
         ("00"+ o[k]).substr((""+ o[k]).length));  
   return format;  
}  
