$(document).ready(function(e){
	$(document).focus();	
	$(document).keydown(function(event){
	if (event.keyCode == 39)
	{
			shiftcomp(50);
	}
	else if(event.keyCode == 37)
	{
		shiftcomp(-50);
	}
});

	eventInitialize();
	$("#qualifierpanel div").each(function(i){
				this.onclick = function (){selectquailfier(i);};
																																								});
	$(".response_time").mouseover(function(){clearTimeout(hideResCtrlTimer);$(this).show();});
	//$(".response_time").mouseout(function(){$(this).hide();});
	
	$("#response_holder .dd_img").click(showresponsequalifier);
	$("#input_big").val("");
	
	$(function() {
		$("#datepicker").datepicker();
	});	
	$("#raamount").keypress(function (e) {																																
   if (e.which ==8 || e.which ==0 || (e.which >=48 && e.which <=57))
			{
				return true;
			}
			else if (e.which == 46)
			{
					var amount = $("#raamount").val();
					if (amount.indexOf(".") == -1)
						return true;
			}
	
			return false;
			});
	
  $("#raamount").keydown(function (e) {e.stopPropagation();});
		$(".cmp_back_to_today:div").click(function(event){
					var elements = $('.block_cnt');
					var el = elements[0];
					var left = parseInt(el.style.left);
					var offset = left - 50;
					shiftcomp(offset);event.stopPropagation();});
		$("#leftarrowp:div").click(function(){shiftcomp(-160);});
		$("#rightarrowp:div").click(function(){shiftcomp(160);});
		
});

function compLayout()
{
	this.leftOffset = 50;
	this.highOffset = 21;
	this.level1Coverrange = 0;
	this.level2Coverrange = 0;
	this.level3Coverrange = 0;
	this.level4Coverrange = 0;
}
var layoutInfo = new compLayout();
var currentdatelabel;
var messageinfo;
var checkIndex = 0;
var userinfo;
function goldInfo()
{
	this.type = 0;
	this.moreData = false;
	this.userId = "";
	this.knownUser = "";
	this.startProcess = false;
	this.gMessagePageOffset = 0;
}

var gInfo = new goldInfo ();
function getFullyMessage(userid,offset)
{
	var knownuser = "";
	for (key in FRIENDS)
	{
		knownuser += key + ",";
	}
	for (key in FANS)
	{
		knownuser += key + ",";
	}
	if (knownuser != "")
	{
		knownuser = knownuser.substr(0,knownuser.length - 1) ;
	}
	
	gInfo.type = 0;
	gInfo.userId = userid;
	gInfo.moreData = false;
	gInfo.knownUser = knownuser;
	gInfo.startProcess = true;
	var dummy =new Date().getTime();
	var offset = "";
	if (typeof(offset) == "undefined")
		offset = "";
	$.ajax({
							url:"gmb/getfullhutonginfo.jsp",
							data:{"userid":userid,"knownuser":knownuser,"offset":offset,"privacy":0,"gettop":1,dummy:dummy},
							beforeSend:function(){bb.loadingPanel.block();},
							error:function(){bb.loadingPanel.unblock_failure();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){bb.loadingPanel.unblock_success();}
								});
	
//	var param="userid="+userid+"&knownuser="+knownuser+"&privacy=0&gettop=1";
//	bb.net.asyncPost("gmb/getfullhutonginfo.jsp",param,getMessageFeedBack);
}

function getOwnerData(userid)
{
	gInfo.type = 1;
	gInfo.userId = userid;
	gInfo.moreData = false;
	gInfo.startProcess = true;
	var dummy =new Date().getTime();	
	$.ajax({
							url:"gmb/gethutonginfo.jsp",
							data:{"userid":userid,dummy:dummy},
							beforeSend:function(){bb.loadingPanel.block();},
							error:function(){bb.loadingPanel.unblock_error();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){bb.loadingPanel.unblock_success();}
								});
}

function getNextData()
{
	if (gInfo.moreData == false)
	{
		gInfo.startProcess = false;
		return;
	}
	if (messageinfo.length == 0)
		return;
	var lastmessage = messageinfo[messageinfo.length -1];
	var lastposted = lastmessage.posted;
 var offset = lastposted.getFullYear() + "-" + (lastposted.getMonth() + 1) + "-" + lastposted.getDate()+ " " + lastposted.getHours() + ":" +lastposted.getMinutes() + ":"+lastposted.getSeconds();
	
	var dummy =new Date().getTime();
	var knownUser = gInfo.knownUser;
	var userid = gInfo.userId;
	if (gInfo.type == 0 || gInfo.type ==2)
	{
		var privacy = gInfo.type == 0?0:1;
		$.ajax({
							url:"gmb/getfullhutonginfo.jsp",
							data:{"userid":userid,"knownuser":knownUser,"offset":offset,"privacy":privacy,gettop:0,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show()},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();}
								});
	}
	else if (gInfo.type ==1)
	{
		$.ajax({
							url:"gmb/gethutonginfo.jsp",
							data:{"userid":userid,"offset":offset,"gettop":0,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show()},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();}
								});
	}
	else if (gInfo.type ==3)
	{
			var offset = (gInfo.gMessagePageOffset + 1) *20;
			$.ajax({
							url:"gmb/latestmessage.jsp",
							data:{"offset":offset,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show()},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();}
								});
	}
	else if (gInfo.type ==5)
	{
		$.ajax({
							url:"gmb/getfinancemessage.jsp",
							data:{"userid":userid,"offset":offset,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show()},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();}
								});
	}
}

function resetandGet()
{
	eventInitialize();
	layoutInfo.leftOffset = 50;
	layoutInfo.highOffset = 21;
	layoutInfo.level1Coverrange = 0;
	layoutInfo.level2Coverrange = 0;
	layoutInfo.level3Coverrange = 0;
	layoutInfo.level4Coverrange = 0;
	currentdatelabel = "";
	messageinfo = null;
	checkIndex = 0;
	$("#qualifierpanel").hide();
	$("#sharetypselpanel").hide();
	$("#response_holder").hide();
	$(".response_time").hide();
	$("#timeline_cnt > *:not(#officialshoppanel)").remove();
	$("#timeline_bg > *").remove();
	
	if (gInfo.type != 5)
		$("#financereplink").hide();
	else
		$("#financereplink").show();
	$("#officialshoppanel").css("left","-954px");
	var userid = gInfo.userId;
	var knownUser = gInfo.knownUser;
	var dummy =new Date().getTime();
	if (gInfo.type == 0 || gInfo.type ==2)
	{
		var privacy = gInfo.type == 0?0:1;
		$.ajax({
							url:"gmb/getfullhutonginfo.jsp",
							data:{"userid":userid,"knownuser":knownUser,"privacy":privacy,"gettop":1,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show();gInfo.startProcess = true;},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();gInfo.startProcess = false;}
								});
	}
	else if (gInfo.type ==1)
	{
		$.ajax({
							url:"gmb/gethutonginfo.jsp",
							data:{"userid":userid,"gettop":1,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show();gInfo.startProcess = true;},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();gInfo.startProcess = false;}
								});
	}
	else if (gInfo.type ==3)
	{
			var offset = (gInfo.gMessagePageOffset + 1) *20;
			$.ajax({
							url:"gmb/latestmessage.jsp",
							data:{"offset":0,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show();gInfo.startProcess = true;},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();gInfo.startProcess = false;}
								});
	}
	else if (gInfo.type ==4)
	{
			$.ajax({
							url:"gmb/latermessage.jsp",
							data:{dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show();gInfo.startProcess = true;},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();gInfo.startProcess = false;}
								});
	}
	else if(gInfo.type ==5)
	{
				$.ajax({
							url:"gmb/getfinancemessage.jsp",
							data:{gettop:1,dummy:dummy},
							beforeSend:function(){$("#ajx-loader").show();gInfo.startProcess = true;},
							error:function(){$("#ajx-loader").hide();gInfo.startProcess = false;},
							success:getMessageFeedBack,
							complete:function(){$("#ajx-loader").hide();gInfo.startProcess = false;}
								});
	}
}

function getMessageFeedBack(result)
{
	try
	{
		gInfo.startProcess = false;
		var data = "var ownerdata =" + result;	
		eval(data);
		
		userinfo = ownerdata.users;
		if (gInfo.type != 3 && ownerdata.topinfo.length > 0)
		{
			generateTopInfoLabel(ownerdata.topinfo);
		}
		if (gInfo.type == 3)
		{
			gInfo.gMessagePageOffset=ownerdata.offset;
		}
		
		messageinfo = ownerdata.hutongs;
		if (messageinfo.length == 0)
			return;
		
		gInfo.moreData = ownerdata.moredata;
		GenerateDateTimeLabel(new Date(messageinfo[0].posted));
		checkIndex = 0;
			while (checkIndex < messageinfo.length)
			{
				IterateParsing(checkIndex);
			}
	}
	catch (e)
	{
		alert(e.message);
	}
		
	$(".pictureservices").click(function (event){
			if (typeof(event.stopPropagation) == "undefined")
				event.cancelBubble = true;
			else
				event.stopPropagation();
				
			var s='<div ><table class="header" style="background-image: url(images/mb/header_bg.gif);">';
			s+='<tr><td class="caption">图片</td><td class="close"><div><span>.</span></div></td></tr>';
			s+='<tr><td colspan="2"><div class="content" style="margin-left: -1px;"><div class="iframe_holder">';
			s+='<img src="'+$(this).attr("href") + '" /></iframe></div>';
			s+='<div></div></div></td></tr></table></div>';
	
	$("#notifypanel").html(s);
	$("#notifypanel").show();
	$("#notifypanel .close").click(function (event) {$("#notifypanel").html("");$("#notifypanel").hide();});
	
				return false;
			});
	
	$(".funlang_cnt a").click(function (event) { 
		if (typeof(event.stopPropagation) == "undefined")
			event.cancelBubble = true;
		else
			event.stopPropagation();
	});
	
	$("div.block_cnt").each(function (i){this.style.zIndex = (9999-i);});
		$("#timeline_holder .funlang:div").mousedown(function (e){ 	
			if (typeof(e.stopPropagation) == "undefined")
			e.cancelBubble = true;
		else
			e.stopPropagation();
			 return true;});
	$("#timeline_holder .funlang:div").mouseup(function (e){
		if (typeof(e.stopPropagation) == "undefined")
			e.cancelBubble = true;
		else
			e.stopPropagation(); return true;});
	$("#timeline_holder .funlang:div").mousemove(function (e){
		if (typeof(e.stopPropagation) == "undefined")
			e.cancelBubble = true;
		else
			e.stopPropagation(); return true;});

}

function generateTopInfoLabel(topInfo)
{
	var timecntholder = $id("timeline_cnt");
	var timebgholder = $id("timeline_bg");
	var s = "";
	var daycntElement = createEl('div', a = {'class':'block_cnt day_start'},{'left':layoutInfo.leftOffset +'px'});
 s += '<div class="div_one_line"></div>';
	s += '<div><div class="div_inner"></div><div class="div_bottom"></div></div>';
	daycntElement.innerHTML = s;
	timecntholder.appendChild(daycntElement);
	
	var daybgElement = createEl('div', {'class':'block_bg day_start'},{'visibility': 'visible','left':layoutInfo.leftOffset +'px'});
		
	var label = "置顶";
	 s = '<div class="div_one_line" style="width: 46px;"></div>';
		s += '<div class="day_bg1" style="width: 46px;">';
		s += '<div class="div_inner"></div>';
		s += '<div class="div_bottom"><span class="bottom_start">' + label + '</span>';
		s += '</div>';
		s += '</div>';
		daybgElement.innerHTML = s;
		
		timebgholder.appendChild(daybgElement);
		layoutInfo.leftOffset += 46;
		
		var startposition = layoutInfo.leftOffset;
		var compwidth = 220;
		var blockcntElement;
		var position = layoutInfo.leftOffset;
		blockcntElement = createEl('div', {'class':'block_cnt hh_mm'},
					{'visibility': 'visible','left':startposition +'px'});
	
		s = "";
		s += '<div class="div_one_line"></div>';
		s += '<div>';
		s += '<div class="div_inner"></div>';
		s += '<div class="div_bottom"></div>';
		s += '</div>';
		for (i = 0 ; i < topInfo.length; i++)
		{ 
			var target = topInfo[i];
			var id = target.messageid;
			var posttime = target.posted;
		
			messagerange = startposition;
			var top = 21;
			if (i == 0)
			{
				layoutInfo.level1Coverrange = messagerange + 265;
				top = 21;
			}
			else if (i == 1)
			{
				layoutInfo.level2Coverrange = messagerange + 265;
				top = 111;
			}
			else if (i == 2)
			{
				layoutInfo.level3Coverrange = messagerange + 265;
				top = 201;
			}
		
			if (target.ownername	== SETTINGS["user_name"])
			{
				s += '<div class="funlang" id="p' + id + '" posted="'+ posttime + '" onmouseover="return msgmouesover(event,this,1,1);" onmouseout="return msgmouesout(event,this,1);" style="visibility: visible; left:0px; top:'+top + 'px;">';
			}
			else
			{
					s += '<div class="funlang" id="p' + id + '" posted="'+ posttime + '" onmouseover="msgmouesover(event,this,0,1);" onmouseout="return msgmouesout(event,this,0);" style="visibility: visible; left:0px; top:'+top + 'px;">';
			}
		
			if (target.privacy == 1)
			{
				s += '<div class="private"><img width="16" height="16" src="images/mb/private-lock.gif"/></div>';
			}
			else if (target.privacy == 2)
			{
				s += '<div class="private"><img width="16" height="16" src="images/mb/private-lock1.gif"/></div>';
			}
				else if (target.privacy == 3)
			{
				s += '<div class="private"><img width="16" height="16" src="images/mb/private-lock2.gif"/></div>';
			}
			
			var image = getUserProfileImage(target.ownerid);
			if (image == "")
			{
				image = "user/profileimage/po1024768.jpg";
			}
		var nickname = getUserNickname(target.ownerid);
		s += '<table><tr><td class="td_img"><div class="p_img"><img src="';
		s+= image + '"/></div><img width="22" height="16" src="images/mb/headtopic_1.gif"/></td><td><div class="funlang_cnt" id="msg_cnt_'+id+'" onclick="showresponse(this,\'' + id + '\');"><table><tr><td class="td_qual"><div><a href="' + target.ownername + '" class="name">' +nickname +'</a><span class="qualifier ';
		var qualifier = target.qualifier;
		var qualifierobj = $("#qualifierpanel div:eq("+qualifier+")");
		var qclassname = qualifierobj.parent().attr('class');
		var qtext = qualifierobj.text();
		var content = target.content;
		var amount = target.amount;
		var currency = target.currency;
		if (qualifier == 7)
		{
			if (amount > 0)
			{
				qtext= "收入";
				qclassname = "q_income";
			}
			else
			{
				qtext= "支出";
				qclassname = "q_record";
			}
		//	formatCurrency(Math.abs(amount));
			content = formatCurrency(Math.abs(amount),currency) + " " + content;
		}
		
		$("#hiddenevalcomp").html(content);
		var textWidth = $("#hiddenevalcomp").width();
		$("#hiddenevalcomp").html("");
		var contenhasimage = content.indexOf("<img mode='1'");
		
		if (textWidth > 160)
	 {
			if (contenhasimage != -1)
				s+= qclassname + '">' + qtext + '</span></div></td><td class="td_cnt"><div class="text_holder truncated">';
			else
				s+= qclassname + '">' + qtext + '</span></div></td><td class="td_cnt"><div class="text_holder truncated">';
	 }
		else
			s+= qclassname + '">' + qtext + '</span></div></td><td class="td_cnt"><div class="text_holder">';
		
		s += content + '</div>';
		if (target.ownername == SETTINGS["user_name"])
		{
				s+='<div class="manager" style="display:none;"><a class="delete" onclick="return removemessage(event,\'' + id + '\');">删除</a>-<a class="action" onclick="return editMessage(event,\'' + id + '\');">编辑</a>-<a class="settop" onclick="return removeTop(event,\'' + id + '\');">取消置顶</a></div>';
				
				s+='<div class="edit" style="display:none"><div><textarea rows="3" style="width: 254px;" onclick="stopMessageTranslate(event);">' + target.rawcontent +'</textarea></div>';
				s+='<div class="manager"><a class="cancel"  onclick="return cancelEdit(event,\'' + id + '\');">取消</a>-<a class="action" onclick="return updateMessage(event,\'' + id + '\');">更新</a></div><span style="display:none">更新中</span></div>';
		}
					
		s += '</td></tr></table></div></td><td class="td_response_count"><span class="response_count">';
		if (target.reponsese_count > 0)
			s += target.reponsese_count;
		s += '</span></td></tr></table></div></div>';
	}
	blockcntElement.innerHTML = s;
	timecntholder.appendChild(blockcntElement);

	$(".pictureservices").click(function (event){
			if (typeof(event.stopPropagation) == "undefined")
				event.cancelBubble = true;
			else
				event.stopPropagation();
				
			var s='<div ><table class="header" style="background-image: url(images/mb/header_bg.gif);">';
			s+='<tr><td class="caption">图片</td><td class="close"><div><span>.</span></div></td></tr>';
			s+='<tr><td colspan="2"><div class="content" style="margin-left: -1px;"><div class="iframe_holder">';
			s+='<img src="'+$(this).attr("href") + '" /></iframe></div>';
			s+='<div></div></div></td></tr></table></div>';
	
	$("#notifypanel").html(s);
	$("#notifypanel").show();
	$("#notifypanel .close").click(function (event) {$("#notifypanel").html("");$("#notifypanel").hide();});
	
				return false;
			});
	
	layoutInfo.leftOffset += compwidth;
}

function GenerateDateTimeLabel(datevalue)
{
	var timecntholder = $id("timeline_cnt");
	var timebgholder = $id("timeline_bg");
	var s = "";
	var daycntElement = createEl('div', a = {'class':'block_cnt day_start'},{'left':layoutInfo.leftOffset +'px'});
 s += '<div class="div_one_line"></div>';
	s += '<div><div class="div_inner"></div><div class="div_bottom"></div></div>';
	daycntElement.innerHTML = s;
	timecntholder.appendChild(daycntElement);
	
	var daybgElement = createEl('div', {'class':'block_bg day_start'},{'visibility': 'visible','left':layoutInfo.leftOffset +'px'});
		
		var today = new Date();
		today.setHours(0,0,0,0);
		datevalue.setHours(0,0,0,0);
		var yesterdate= new Date() 
		yesterdate.setDate(yesterdate.getDate()-1) ;
		yesterdate.setHours(0,0,0,0);
		var label = "";
		if (datevalue -today == 0)
			label = "今日";
		else if (datevalue - yesterdate == 0)
			label = "昨日";
		else
			label = (datevalue.getMonth()+1) + "月" +  datevalue.getDate() +"日";
	 s = '<div class="div_one_line" style="width: 46px;"></div>';
		s += '<div class="day_bg" style="width: 46px;">';
		s += '<div class="div_inner"></div>';
		s += '<div class="div_bottom"><span class="bottom_start">' + label + '</span>';
		s += '</div>';
		s += '</div>';

		daybgElement.innerHTML = s;
		timebgholder.appendChild(daybgElement);
		currentdatelabel  = datevalue;
		layoutInfo.leftOffset += 46;
}

function IterateParsing(index)
{
	if (index >= messageinfo.length)
		return;
	var datevalue = new Date(messageinfo[index].posted);
	datevalue.setHours(0,0,0,0);
	if (datevalue < currentdatelabel)
		GenerateDateTimeLabel(datevalue);
	
	var starthour = new Date(messageinfo[index].posted);
	var endhour = new Date(starthour);
	starthour.setHours(starthour.getHours(),0,0,0);
	endhour.setHours(starthour.getHours() + 1,0,0,0);
	
	TimelineParsing(starthour,endhour,0);
}

function TimelineParsing(start,end,level)
{
		var count = getMessageNoinSection(start,end,level);
		var i = 0;
		if (count >= 3) 
		{
		 if (level == 0) {
					for (i = 0; i < 3; i++) {
						var innerstarttime = new Date(start);
						innerstarttime.setHours(start.getHours(),60-(i+1)*20,0,0);
						var innerendtime = new Date(start);
						innerendtime.setHours(start.getHours(),60-(i)*20,0,0);
						TimelineParsing(innerstarttime,innerendtime,1);
					}
				}
				else if (level == 1){
						for (i = 0; i < 6; i++){
							var innerstarttime = new Date(start);
							innerstarttime.setHours(start.getHours(),60-(i+1)*10,0,0);
							var innerendtime = new Date(start);
							innerendtime.setHours(start.getHours(),60-(i)*10,0,0);
							TimelineParsing(innerstarttime,innerendtime,2);
					}
				}
				else if (level == 2)
				{
					for (i = 0; i < 12; i++)
						{
							var innerstarttime = new Date(start);
							innerstarttime.setHours(start.getHours(),60-(i+1)*5,0,0);
							var innerendtime = new Date(start);
							innerendtime.setHours(start.getHours(),60-(i)*5,0,0);		
							TimelineParsing(innerstarttime,innerendtime,3);
					}
				}
				else if (level == 3)
				{
					for (i = 0; i < 60; i++)
						{
							var innerstarttime = new Date(start);
							innerstarttime.setHours(start.getHours(),60-(i+1)*1,0,0);
							var innerendtime = new Date(start);
							innerendtime.setHours(start.getHours(),60 - (i)*1,0,0);		
							TimelineParsing(innerstarttime,innerendtime,4);
					}
				}		
				else if (level == 4)
				{
				generateComponent(checkIndex,count,start,end,level);
				checkIndex += count;
				}		
		}	
		else
		{
			if (count > 0)
			{
				generateComponent(checkIndex,count,start,end,level);
				checkIndex += count;
			}
			if (level == 0)
			{
			//	IterateParsing(checkIndex);
			}
		}
}

function getMessageNoinSection(starttime,endtime,level)
{
		var count = 0;
		var index = checkIndex;
		var totalItemNo = messageinfo.length;
		while (index < totalItemNo){
			var item = messageinfo[index];
			var posttime = item.posted;
			if (starttime < posttime && endtime >= posttime)
			{
					count++;
			}
			else if (starttime > posttime)
				break;
			index++;
		}

		return count;
}

var messagerange = 0;
var pretimelabeltxt = "";
function generateComponent(start,datano,starttime,endtime,level)
{
	var timecntholder = $id("timeline_cnt");
	var compwidth = 220;
	if (level== 0)
	{
		compwidth = 175;
	}
	
	var blockcntElement;
	var startposition = layoutInfo.leftOffset;
	if (level== 0)
	{
		blockcntElement = createEl('div', {'class':'block_cnt hh_mm small_hh'},
					{'visibility': 'visible','left':startposition +'px'});	
	}
	else
	{
			blockcntElement = createEl('div', {'class':'block_cnt hh_mm'},
					{'visibility': 'visible','left':startposition +'px'});
	}

	var blockno = 1;
	var s = "";
	s += '<div class="div_one_line"></div>';
	s += '<div>';
	s += '<div class="div_inner"></div>';
	s += '<div class="div_bottom"></div>';
	s += '</div>';
	for (i = 0 ; i < datano; i++)
	{ 
		var target = messageinfo[start + i];
		var id = target.messageid;
		var posttime = target.posted;
		var range = endtime - starttime;
		var diff = posttime - starttime;
		var rate = diff/range;
		var relativepos = compwidth - compwidth * rate;
		
		messagerange = startposition + relativepos;
		var fllevel = caltopposition(messagerange);
		var top = 21;
		if (fllevel == 1)
		{
			layoutInfo.level1Coverrange = messagerange + 275;
			top = 21;
		}
		else if (fllevel == 2)
		{
			layoutInfo.level2Coverrange = messagerange + 275;
			top = 111;
		}
		else if (fllevel == 3)
		{
			layoutInfo.level3Coverrange = messagerange + 275;
			top = 201;
		}
		else if (fllevel == 4)
		{
			layoutInfo.level4Coverrange = messagerange + 275;
			top = 291;
		}
		else if (fllevel == 5)
		{
			blockcntElement.innerHTML = s;
			timecntholder.appendChild(blockcntElement);
			s = "";
			s += '<div class="div_one_line"></div>';
			s += '<div>';
			s += '<div class="div_inner"></div>';
			s += '<div class="div_bottom"></div>';
			s += '</div>';
			blockno++;
			i=i-1; // rearrange current mesage
			startposition += compwidth;
			blockcntElement = createEl('div', {'class':'block_cnt hh_mm'},
					{'visibility': 'visible','left':startposition +'px'});
			continue;
		}
		
		if (target.ownername	== SETTINGS["user_name"])
		{
		s += '<div class="funlang" id="p' + id + '" posted="'+ posttime + '" onmouseover="return msgmouesover(event,this,1);" onmouseout="return msgmouesout(event,this,1);" style="visibility: visible; left: ' + relativepos + 'px; top:'+top + 'px;">';
		}
		else
		{
					s += '<div class="funlang" id="p' + id + '" posted="'+ posttime + '" onmouseover="msgmouesover(event,this,0);" onmouseout="return msgmouesout(event,this,0);" style="visibility: visible; left: ' + relativepos + 'px; top:'+top + 'px;">';
		}
		
		if (target.privacy == 1)
		{
			s += '<div class="private"><img width="16" height="16" src="images/mb/private-lock.gif"/></div>';
		}
		else if (target.privacy == 2)
		{
			s += '<div class="private"><img width="16" height="16" src="images/mb/private-lock1.gif"/></div>';
		}
		else if (target.privacy == 3)
			{
				s += '<div class="private"><img width="16" height="16" src="images/mb/private-lock2.gif"/></div>';
			}
			
		var image = getUserProfileImage(target.ownerid);
		if (image == "")
		{
			image = "user/profileimage/po1024768.jpg";
		}
	
		var nickname = getUserNickname(target.ownerid);
		s += '<table><tr><td class="td_img"><div class="p_img"><img src="';
		s+= image + '"/></div></td><td><div class="funlang_cnt" id="msg_cnt_'+id+'" onclick="showresponse(this,\'' + id + '\');"><table><tr><td class="td_qual"><div><a href="' + target.ownername + '" class="name">' +nickname  +'</a><span class="qualifier ';
		var qualifier = target.qualifier;
		var qualifierobj = $("#qualifierpanel div:eq("+qualifier+")");
		var qclassname = qualifierobj.parent().attr('class');
		var qtext = qualifierobj.text();
		var content = target.content;
		var amount = target.amount;
		var currency = target.currency;
		if (qualifier == 7)
		{
			if (amount > 0)
			{
				qtext= "收入";
				qclassname = "q_income";
			}
			else
			{
				qtext= "支出";
				qclassname = "q_record";
			}
					content = formatCurrency(Math.abs(amount),currency) + " " + content;
		}
	
		$("#hiddenevalcomp").html(content);
		var textWidth = $("#hiddenevalcomp").width();
		$("#hiddenevalcomp").html("");
		var contenhasimage = content.indexOf("<img mode='1'");	
		if (textWidth > 160)
	 {
			if (contenhasimage != -1)
				s+= qclassname + '">' + qtext + '</span></div></td><td class="td_cnt"><div class="text_holder truncated">';
			else
				s+= qclassname + '">' + qtext + '</span></div></td><td class="td_cnt"><div class="text_holder truncated">';
	 }
		else
			s+= qclassname + '">' + qtext + '</span></div></td><td class="td_cnt"><div class="text_holder">';
		
		//content = contenttransfer(content);
		s += content + '</div>';
		if (target.ownername == SETTINGS["user_name"])
		{
				s+='<div class="manager" style="display:none"><a class="delete" onclick="return removemessage(event,\'' + id + '\');">删除</a>-<a class="action" onclick="return editMessage(event,\'' + id + '\');">编辑</a>-<a class="settop" onclick="return setasTop(event,\'' + id + '\');">置顶</a></div>';
				
				s+='<div class="edit" style="display:none"><div><textarea rows="3" style="width: 254px;" onclick="stopMessageTranslate(event);">' + target.rawcontent +'</textarea></div>';
				s+='<div class="manager"><a class="cancel"  onclick="return cancelEdit(event,\'' + id + '\');">取消</a>-<a class="action" onclick="return updateMessage(event,\'' + id + '\');">更新</a></div><span style="display:none">更新中</span></div>';
		}
					
		s += '</td></tr></table></div></td><td class="td_response_count"><span class="response_count">';
	if (target.reponsese_count > 0)
		s += target.reponsese_count;
		s += '</span></td></tr></table></div></div>';
	}
	blockcntElement.innerHTML = s;
	timecntholder.appendChild(blockcntElement);
	
	var timebgholder = $id("timeline_bg");
	var bgElement;
	startposition = layoutInfo.leftOffset;
 for (i =0; i <blockno;i++)
	{
		if (level == 0)
		{
			bgElement = createEl('div', {'class':'block_bg hh_mm small_hh'},
    {'visibility': 'visible','left':startposition +'px'});
		}
		else
		{
			bgElement =createEl('div', {'class':'block_bg hh_mm'},
    {'visibility': 'visible','left':startposition +'px'});
		}
		s = "";
		s += '<div class="div_one_line"></div>';
		s += '<div>';
		s += '<div class="div_inner"></div>';
		s += '<div class="div_bottom">';
		var stmtext = starttime.getHours();
		var sl = "am";
		if (stmtext > 12){
		 stmtext = (stmtext - 12);
			sl = "pm";
		}
		var etmtext = endtime.getHours();
		var el = "am";
		if (etmtext > 12){
		 etmtext= (etmtext - 12);
			el = "pm";
	}

	if (level == 0)
	{
			stmtext = stmtext  + sl;		
			etmtext = etmtext + el;
	}
	else
	{
		stmtext = stmtext  + ':' + starttime.getMinutes() + sl;		
		etmtext = etmtext + ':' + endtime.getMinutes() + el;
	}
	
	if (i == blockno -1)
	{
		s += '<span class="bottom_end">' + stmtext + '</span>';
	}
	if (i == 0 && etmtext != pretimelabeltxt)
	{
		s += '<span class="bottom_start">' + etmtext + '</span>';
	}
	if (i == blockno -1)
		pretimelabeltxt = stmtext;
	
	s += '</div>';
	s += '</div>';
	bgElement.innerHTML = s;
	timebgholder.appendChild(bgElement);
	startposition += compwidth;
	}
	layoutInfo.leftOffset += blockno*compwidth;
}

function caltopposition(xpos)
{
	if (xpos > layoutInfo.level1Coverrange)
		return 1;
	else if (xpos > layoutInfo.level2Coverrange)
		return 2;
	else if (xpos > layoutInfo.level3Coverrange)
		return 3;
	else if (xpos > layoutInfo.level4Coverrange)
		return 4;
	else
		return 5;
}

function msgmouesover(event,target,edit,top)
{	
	var b= isMouseLeaveOrEnter(event,target);
	if (b == false)
		return;
	
	var actresmsgid = $id("responsemessageid").value;
	var editDiv = getElementsByClass("edit",target,"div");
	
	if(editDiv.length > 0 && editDiv[0].style.display != "none")
		return;
		
	if (target.id != "p" + actresmsgid)
	{
		if (edit == 1)
		{
			var editpanel = getElementsByClass("manager",target,"div");
			editpanel[0].style.display = "";
		}
	
		var str = $("#"+target.id+" .text_holder").text();
		$("#hiddenevalcomp").html($("#"+target.id+" .text_holder").html());
		var textWidth = $("#hiddenevalcomp").width();
		$("#hiddenevalcomp").html("");
		if (textWidth > 160)
			target.className = "funlang display link_extend";
		else
			target.className = "funlang link_extend";
	}
	
	var targettime = new Date(target.getAttribute("posted"));	
	if (targettime)
	{
		var hour = targettime.getHours();
		if (hour > 18)
			$id("time_show").className = "night";
		else
			$id("time_show").className = "morning";
			
		var l = "am";
		if (hour > 12){
				hour= (hour - 12);
				l = "pm";
		}
		
		var date = (targettime.getMonth() + 1) + "/" + targettime.getDate() + " "; 	
		var minute = targettime.getMinutes();
		if(minute < 10)
			minute  = "0"+minute ;
		if (typeof(top) == "undefined")
			$id("time_show").innerHTML = "<span>" + hour  + ":" + minute + l + "</span>";
		else
			$id("time_show").innerHTML = "<span>" + date + hour  + ":" + minute + l + "</span>";
			
		var pos = findPos(target);
		$id("time_show").style.left = pos[0] + "px";
		$id("time_show").style.display = "";
	}	
}

function msgmouesout(event,target,edit)
{
	var b= isMouseLeaveOrEnter(event,target);
	if (b == false)
		return;
		
	var actresmsgid = $id("responsemessageid").value;
	if (target.id != "p" + actresmsgid)
	{
		if (edit == 1)
		{
			var editpanel = getElementsByClass("manager",target,"div");
			editpanel[0].style.display = "none";
		}
		target.className = "funlang";
	}
	
	$id("time_show").style.display = "none";
}

function getUserProfileImage(uid)
{
		var udata;
		if (typeof(userinfo[uid]) == "undefined")
		{
			if (typeof(FRIENDS[uid]) == "undefined")
			{
					if (typeof(FANS[uid]) == "undefined")
						return "";
					else
						udata = FANS[uid];
			}			
			else
				udata = FRIENDS[uid];
		}
		else
			udata = userinfo[uid];
		
		var pimage = udata.profileimage;
		return pimage;
}

function getUserNickname(uid)
{
		var udata;
		if (typeof(userinfo[uid]) == "undefined")
		{
			if (typeof(FRIENDS[uid]) == "undefined")
			{
					if (typeof(FANS[uid]) == "undefined")
						return "";
					else
						udata = FANS[uid];
			}			
			else
				udata = FRIENDS[uid];
		}
		else
			udata = userinfo[uid];
		
		var nickname = udata.nick_name;
		return nickname;
}

function showresponse(target,messageid)
{
	var param = "messageid=" + messageid;
	bb.net.asyncPost("gmb/getresponse.jsp",param,getresponseFeedBack);
	$id("responsequalifier").value = "0";
}

var hideResCtrlTimer = -1;
function getresponseFeedBack(result)
{
	try
	{
		eval(result);
		if (result.res == 0)
		{
			 var messageid = result.messageid;
				$id("p" + messageid).className = "funlang display function_box";
				if ($id("responsemessageid"))
				{
					$id("responsemessageid").value = messageid;
					$id("pageurl").href = "p/" + messageid;
				}
				if($id('input_small'))
				{
					$id('input_small').value = "";
				}
				
				var alignobj = $id("msg_cnt_" + messageid);
				var pos = findPos(alignobj);
				
				var height = getElementHeight("msg_cnt_" + messageid);
				var width = getElementWidth("msg_cnt_" + messageid);
				var yfinal = pos[1] + height;
				$id('response_holder').style.top = yfinal + 'px';
				$id('response_holder').style.width =  width  + 'px';
					
				var respanelrange = pos[0] + width;
				var limit = getElementWidth("timeline_holder");
				var diff = limit - respanelrange;
				if (diff < 0)
				{
					var offset = Math.abs(diff) + 30;
					shiftcomp(offset);
					$id('response_holder').style.left = (pos[0] - offset) + 'px';
				}
				else
					$id('response_holder').style.left = pos[0] + 'px';
				
				$id('response_holder').style.display = 'block';
					
				if (result.data.length == 0)
				{
					$id('responsemain').innerHTML = '<div class="empty">还没有回复 - 来发第一条回复 :)</div>';
				}
				else
				{
				var s = "";
				for (var i = 0; i < result.data.length; i++)
				{
					var item = result.data[i];
					var poster = item.poster;
					var content = item.content;
				 s += '<div class="funlang highlight_owner" id="ma_' + item.id + '"><table><tr><td><div class="funlang_cnt" id="funlang_cnt_">';
					s += '<table><tr><td class="td_qual"><div><a href="'+ poster+'" class="name">'+ poster+'</a>';
					var qualifier = item.qualifier;
					var qualifierobj = $("#qualifierpanel div:eq("+qualifier+")");
					var qclassname = qualifierobj.parent().attr('class');
					s+='<span class="qualifier ' + qclassname +'">' +qualifierobj.text() +'</span></div></td><td class="td_cnt"><div class="text_holder">' + content+'</div>';
					s+='</td></tr></table></div></td></tr></table></div>';
				}
					$id('responsemain').innerHTML = s;
					
					for (var i = 0; i < result.data.length; i++)
					{
						var item = result.data[i];
						var poster = item.poster;
						var content = item.content;
						var id = item.id;
						$("#ma_"+id).attr("posterid",item.posterid);
						$("#ma_"+id).attr("posted",item.posted);
						$("#ma_"+id).attr("responseid",item.id);
						$("#ma_"+id).attr("messageid",messageid);
						
						$("#ma_"+id).mouseover(showMoreResponseInfo);
						$("#ma_"+id).bind("mouseleave",function(){
							hideResCtrlTimer = setTimeout("$('.response_time').hide();",1000);
						});
					}
			}		
		}
	}
	catch (e)
	{
		alert(e.message);
	}
	
		$(".pictureservices").click(function (event){
			if (typeof(event.stopPropagation) == "undefined")
				event.cancelBubble = true;
			else
				event.stopPropagation();
				
			var s='<div ><table class="header" style="background-image: url(images/mb/header_bg.gif);">';
			s+='<tr><td class="caption">图片</td><td class="close"><div><span>.</span></div></td></tr>';
			s+='<tr><td colspan="2"><div class="content" style="margin-left: -1px;"><div class="iframe_holder">';
			s+='<img src="'+$(this).attr("href") + '" /></iframe></div>';
			s+='<div></div></div></td></tr></table></div>';
	
	$("#notifypanel").html(s);
	$("#notifypanel").show();
	$("#notifypanel .close").click(function (event) {$("#notifypanel").html("");$("#notifypanel").hide();});
	
				return false;
			});
	
}

function showMoreResponseInfo()
{
	clearTimeout(hideResCtrlTimer);
	var posterid = $(this).attr("posterid");
	var responseid = $(this).attr("responseid");
	var messageid = $(this).attr("messageid");
						
	var responsepanel = $(".response_time");
	var s = "";
	if (typeof(SETTINGS["user_id"]) != "undefined")
	{
		if (posterid == SETTINGS["user_id"])
		{
				s +='<span style="padding:0px 4px"><img src="images/mb/delresponse.gif" style="cursor:pointer" onclick="removeresponse(\'' + responseid + '\',\'' + messageid + '\')"/></span>';
		}
	}
	s += $(this).attr("posted");
	$(".response_time .holder").html(s);
	var pos = findPos(this);
	var left = pos[0]+$(this).width();
	var top = pos[1] - $(this).parent().scrollTop();

	$(".response_time").css({'left':left,'top':top});
	$(".response_time").show();
}

function removeresponse(responseid,messageid)
{
	$.ajax({
							url:"gmb/removeresponse.jsp",
							beforeSend:function(){$(".response_time img").attr("src","images/ajax-loaderss.gif");},
							data:{responseid:responseid,messageid:messageid},
							error:function(){},
							success:removeResponseFeedBack
								});
}
function removeResponseFeedBack(result)
{
	try
	{
		eval(result);
		if (result.res >= 0)
		{
				$(".response_time").hide();
				var messageid = result.messageid;
				var responseid = result.responseid;
				$("#ma_" + responseid).remove();
				if (result.res >0)
					$("#p"+messageid +" span.response_count").html(result.res);
				else
					$("#p"+messageid +" span.response_count").html("");
		}
	}
	catch (e)
	{
		alert(e.message);
	}
}

function countrResponse(evt)
{
	var content = $id('input_small').value;
	var len = content.length;
	$id("input_small_cu").innerHTML = "还可以编辑 " + (140 - len) + " 个字符. <span style=\"color: rgb(85, 85, 85);\">按回车键添加</span>";
}

function enterresponse(evt)
{
	stopMessageTranslate(evt);
	var content = $id('input_small').value;
	var len = content.length;
	$id("input_small_cu").innerHTML = "还可以编辑 " + (140 - len) + " 个字符. <span style=\"color: rgb(85, 85, 85);\">按回车键添加</span>";
	
	 var keyevent = evt || window.event;    
  var currentKey = keyevent.charCode||keyevent.keyCode;   
		if (currentKey == 13)
		{
			if (len == 0 || len > 140)
				return false;
			var messageid = $id("responsemessageid").value ;
			var qualifier = $id("responsequalifier").value;

			var posterid = SETTINGS["user_id"];
			var postername=SETTINGS["user_name"];
			$.ajax({
							url:"gmb/sendresponse.jsp",
							type:"post",
							data:{content:content,qualifier:qualifier,messageid:messageid,posterid:posterid,postername:postername},
							beforeSend:function(){bb.loadingPanel.block();},
							error:function(){bb.loadingPanel.unblock_failure();},
							success:sendresponseFeedBack,
							complete:function(){bb.loadingPanel.unblock_success();}
								});
		
			return false;					
		}
}

function sendresponseFeedBack(result)
{
	try
	{
		eval(result);
		if (result.res == 0)
		{
			var emptycomp = $('#responsemain .empty');
			var complen = emptycomp.length;
			if (complen > 0)
			{
				$("#responsemain").html("");
			}
						
			$id('input_small').value = "";
			var poster = result.poster;
			var posterid = result.posterid;
			var posted = result.posted;
			var content = result.content;
			var responseid = result.id;
			var messageid = result.messageid;
			
			var Element = createEl('div', a = {'class':'funlang highlight_owner','id':'ma_'+responseid});
 		var s = '<table><tr><td><div class="funlang_cnt" id="funlang_cnt_">';
			s += '<table><tr><td class="td_qual"><div><a href="'+ poster+'" class="name">'+ poster+'</a>';
			
				var qualifier = result.qualifier;
					var qualifierobj = $("#qualifierpanel div:eq("+qualifier+")");
					var qclassname = qualifierobj.parent().attr('class');
				s+='<span class="qualifier ' + qclassname +'">' +qualifierobj.text() +'</span></div></td><td class="td_cnt"><div class="text_holder">' + content+'</div></td></tr></table></div></td></tr></table></div>';

				var holder = $id("responsemain");
				holder.appendChild(Element);
				Element.innerHTML = s;
			
			var responeCntComp = $("#p" + messageid + " .response_count");
			if (complen > 0)
				responeCntComp.html("1");
			else
			{
				var txtCount = responeCntComp.text();
				var responseCount = parseInt(txtCount) + 1;
				responeCntComp.html(responseCount);
			}
				
				$("#ma_"+responseid).attr("posterid",posterid);
				$("#ma_"+responseid).attr("posted",posted);
				$("#ma_"+responseid).attr("responseid",responseid);
				$("#ma_"+responseid).attr("messageid",messageid);
						
				$("#ma_"+responseid).mouseover(showMoreResponseInfo);
				$("#ma_"+responseid).bind("mouseleave",function(){
								hideResCtrlTimer = setTimeout("$('.response_time').hide();",1000);																																												
							
						});
		}
	}
	catch (e)
	{
		alert(e.message);
	}
}

function removemessage(evt,messageid)
{	
	var cf = confirm("确定要删除此信息?");
	if (cf)
	{
		var param = "messageid=" + messageid;
		bb.net.asyncPost("gmb/remove.jsp",param,removeFeedBack);
	}
	
	if (typeof(evt.stopPropagation) == "undefined")
		evt.cancelBubble = true;
	else
	{
		evt.stopPropagation();
	}
		
		return false;
}

function removeFeedBack(result)
{
	try
	{
		eval(result);
		if (res == 0)
		{
			var target = $id("p" + messageid);
			var holder = target.parentNode;
			holder.removeChild(target);
			
			var msgnum = $id("mymessagenum").getAttribute("value");
			msgnum-=1;
			if (msgnum < 0)
				msgnum = 0;
			$id("mymessagenum").setAttribute("value",msgnum);
			$id("mymessagenum").innerHTML = msgnum;
			
		}
	}
	catch (e)
	{
	}
}

function editMessage(evt,messageid)
{
	var targetComp = $("#"+"p"+messageid); 
	var preZindex = targetComp.css("z-index");
	targetComp.attr("predepth",preZindex);
	targetComp.css("z-index",9999);
	
	preZindex = targetComp.parent().css("z-index");
	targetComp.parent().attr("predepth",preZindex);
	targetComp.parent().css("z-index",9999);
	
	$("#"+"p"+messageid + " .text_holder:div").hide();
	$("#"+"p"+messageid + " .manager:div").hide();

	$("#"+"p"+messageid + " .edit").show();
	$("#"+"p"+messageid + " .edit textarea").keydown(function(e){stopMessageTranslate(e);});
	$("#"+"p"+messageid + " .edit .manager").show();
	$("#"+"p"+messageid + " .edit span").hide();

	$('#response_holder').hide();	
	$(".response_time").hide();
	stopMessageTranslate(evt);
		return false;
}

function cancelEdit(evt,messageid)
{
	var targetComp = $("#"+"p"+messageid); 
	var preZindex = targetComp.attr("predepth");
	targetComp.css("z-index",preZindex);
	preZindex = targetComp.parent().attr("predepth");
	targetComp.parent().css("z-index",preZindex);
	
	$("#"+"p"+messageid + " .text_holder:div").show();
	$("#"+"p"+messageid + " .manager:div").show();

	$("#"+"p"+messageid + " .edit").hide();
		
	stopMessageTranslate(evt);
		return false;
}

function updateMessage(evt,messageid)
{
	var rootParent = $id("p" + messageid); 
	var textComp = getElementsByClass("",rootParent,"textarea");	
	var newContent = textComp[0].value;
	var len = newContent;
	if (len > 140)
	{
		alert("超过字数限制!");
		stopMessageTranslate(evt);
		return false;
	}
	
	var targetComp = $("#"+"p"+messageid); 
	var preZindex = targetComp.attr("predepth");
	targetComp.css("z-index",preZindex);
	preZindex = targetComp.parent().attr("predepth");
	targetComp.parent().css("z-index",preZindex);

	$("#"+"p"+messageid + " .edit .manager").hide();
	$("#"+"p"+messageid + " .edit span").show();
	
	$.ajax({
							url:"gmb/updatemessage.jsp",
							type: "post",
							data:{messageid:messageid,content:newContent},
							beforeSend:function(){bb.loadingPanel.block();gInfo.startProcess = true;},
							error:function(){
								bb.loadingPanel.unblock_failure();  
								alert("更新过程发生错误! 请稍候再试一次"); 
								gInfo.startProcess = false;
								$("#"+"p"+messageid + " .edit .manager").show();
								$("#"+"p"+messageid + " .edit span").hide();
							},
							success:updateMessageFeedback,
							complete:function(){bb.loadingPanel.unblock_success(); gInfo.startProcess = false;}
								});
			
	stopMessageTranslate(evt);
	return false;
}

function updateMessageFeedback(result)
{
	try
	{
		eval(result);
		var messageid = result.messageid;
		var rootParent = $id("p" + messageid); 
	
		var textDiv = getElementsByClass("text_holder",rootParent,"div");
		textDiv[0].innerHTML = result.content;
		textDiv[0].style.display="";
		var managerDiv = getElementsByClass("manager",rootParent,"div");
		managerDiv[0].style.display="";
	
		var editDiv = getElementsByClass("edit",rootParent,"div");
		editDiv[0].style.display="none";
	}
	catch(e)
	{
	}
}

function setasTop(evt,messageid)
{	
		var param = "messageid=" + messageid;
		bb.net.asyncPost("gmb/settopmessage.jsp",param,setTopFeedBack);
	
	if (typeof(evt.stopPropagation) == "undefined")
		evt.cancelBubble = true;
	else
	{
		evt.stopPropagation();
	}
		
		return false;
}

function setTopFeedBack(result)
{
	resetandGet();
}

function removeTop(evt,messageid)
{	
		var param = "messageid=" + messageid;
		bb.net.asyncPost("gmb/removetop.jsp",param,removeTopFeedBack);
	
	if (typeof(evt.stopPropagation) == "undefined")
		evt.cancelBubble = true;
	else
	{
		evt.stopPropagation();
	}
		
		return false;
}

function removeTopFeedBack(result)
{
	resetandGet();
}

function isMouseLeaveOrEnter(e, handler) 
{  
		try
		{
   if (e.type != 'mouseout' && e.type != 'mouseover') return false;   
   var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;   
   while (reltg && reltg != handler)   
      reltg = reltg.parentNode;   
  return (reltg != handler);   
		}
		catch(e)
		{
			return false;
		}
}  

function contenttransfer(str)
{
	var temparray = new Array(10);
	var str1 = str.toLowerCase();
	var i = 0;var j = 0;var k=0;var l=0;var m = 0;
	var index = 0;
	i = str1.indexOf("http",i);
	var breaklexicon = [' ',')','\n','[',']','{','}','\t'];
	while (i != -1)
	{
		var min = 1024;		
		for (n = 0; n < breaklexicon.length; n++)
		{
			m = str.indexOf(breaklexicon[n],i);
			if (m != -1 && m < min)
			{
				min = m;
			}
		}
		
		if (min != 1024)
		 j = min;
		else
		  j = -1;
			
		if (j != -1)
		{
			temparray[index] = str.substring(i,j);
			index++;	
		}
		else
		{
			temparray[index] = str.substring(i,str.length);
			index++;
			break;
		}
		
		i = str1.indexOf("http",j);
	}
	
	var replace = "";
	var imageReplace = "";
	var len = 0;
	var newstr = "";
	for(i =0 ;i < index; i++)
	{
		len = temparray[i].length;
		
		var lowercaseStr = temparray[i].toLowerCase();
		var acceptPos = len - 4;
		var acceptPos1 = len - 5;
		if (lowercaseStr.lastIndexOf(".jpg") == acceptPos || lowercaseStr.lastIndexOf(".gif")== acceptPos || lowercaseStr.lastIndexOf(".png")== acceptPos )
		{
			imageReplace = "<a href=\""+ temparray[i] + "\" target=\"_blank\" ><img style=\"max-height: 40px; max-width: 48px;\" src=\"" + temparray[i] + "\" /></a>";
			str = str.replace(temparray[i],imageReplace);
			continue;
		}
		else if (lowercaseStr.lastIndexOf(".jepg") == acceptPos1)
		{
			imageReplace ="<a href=\""+ temparray[i] + "\" target=\"_blank\" ><img style=\"max-height: 40px; max-width: 48px;\" src=\"" + temparray[i] + "\" /></a>";
			str = str.replace(temparray[i],imageReplace);
			continue;	
		}
		
		replace = "<a href=\""+ temparray[i] + "\" target=\"_blank\">" + temparray[i] + "</a>";
		if (len <= 40)
		{
			replace = "<a href=\""+ temparray[i] + "\" target=\"_blank\">" + temparray[i] + "</a>";		
		}
		else
		{
			replace = "<a href=\""+ temparray[i] + "\" target=\"_blank\">" + temparray[i].substr(0,40) + "...</a>";
		}
		str = str.replace(temparray[i],replace);	
	}	
	
	str = str.replace("[s:1]","<img class=\"emoticon\" src=\"images/mb/emotion/a1.gif\" />");
	str = str.replace("[s:2]","<img class=\"emoticon\" src=\"images/mb/emotion/a2.gif\" />");
	str = str.replace("[s:3]","<img class=\"emoticon\" src=\"images/mb/emotion/a3.gif\" />");
	str = str.replace("[s:4]","<img class=\"emoticon\" src=\"images/mb/emotion/a4.gif\" />");
	str = str.replace("[s:5]","<img class=\"emoticon\" src=\"images/mb/emotion/a5.gif\" />");
	str = str.replace("[s:6]","<img class=\"emoticon\" src=\"images/mb/emotion/a6.gif\" />");
	str = str.replace("[s:7]","<img class=\"emoticon\" src=\"images/mb/emotion/a7.gif\" />");
	str = str.replace("[s:8]","<img class=\"emoticon\" src=\"images/mb/emotion/a8.gif\" />");
	str = str.replace("[s:9]","<img class=\"emoticon\" src=\"images/mb/emotion/a9.gif\" />");
	str = str.replace("[s:10]","<img class=\"emoticon\" src=\"images/mb/emotion/a10.gif\" />");
	str = str.replace("[s:11]","<img class=\"emoticon\"  src=\"images/mb/emotion/a11.gif\" />");
	str = str.replace("[s:12]","<img class=\"emoticon\" src=\"images/mb/emotion/a12.gif\" />");
	str = str.replace("[s:13]","<img class=\"emoticon\" src=\"images/mb/emotion/a13.gif\" />");
	str = str.replace("[s:14]","<img class=\"emoticon\" src=\"images/mb/emotion/a14.gif\" />");
	str = str.replace("[s:15]","<img class=\"emoticon\" src=\"images/mb/emotion/a15.gif\" />");
	str = str.replace("[s:16]","<img class=\"emoticon\" src=\"images/mb/emotion/a16.gif\" />");
	str = str.replace("[s:17]","<img class=\"emoticon\" src=\"images/mb/emotion/a17.gif\" />");
	str = str.replace("[s:18]","<img class=\"emoticon\" src=\"images/mb/emotion/a18.gif\" />");
	str = str.replace("[s:19]","<img class=\"emoticon\" src=\"images/mb/emotion/a19.gif\" />");
	str = str.replace("[s:20]","<img class=\"emoticon\" src=\"images/mb/emotion/a20.gif\" />");
	str = str.replace("[s:21]","<img class=\"emoticon\" src=\"images/mb/emotion/a21.gif\" />");
	str = str.replace("[s:22]","<img class=\"emoticon\" src=\"images/mb/emotion/a22.gif\" />");
	str = str.replace("[s:23]","<img class=\"emoticon\" src=\"images/mb/emotion/a23.gif\" />");
	str = str.replace("[s:24]","<img class=\"emoticon\" src=\"images/mb/emotion/a24.gif\" />");
	str = str.replace("[s:25]","<img class=\"emoticon\" src=\"images/mb/emotion/a25.gif\" />");
	str = str.replace("[s:26]","<img class=\"emoticon\" src=\"images/mb/emotion/a26.gif\" />");
	str = str.replace("[s:27]","<img class=\"emoticon\" src=\"images/mb/emotion/a27.gif\" />");
	str = str.replace("[s:28]","<img class=\"emoticon\" src=\"images/mb/emotion/a28.gif\" />");
	str = str.replace("[s:29]","<img class=\"emoticon\" src=\"images/mb/emotion/a29.gif\" />");
	str = str.replace("[s:30]","<img class=\"emoticon\" src=\"images/mb/emotion/a30.gif\" />");
	str = str.replace("[s:31]","<img class=\"emoticon\" src=\"images/mb/emotion/a31.gif\" />");
	str = str.replace("[s:32]","<img class=\"emoticon\" src=\"images/mb/emotion/a32.gif\" />");
	str = str.replace("[s:33]","<img class=\"emoticon\" src=\"images/mb/emotion/a33.gif\" />");
	str = str.replace("[s:34]","<img class=\"emoticon\" src=\"images/mb/emotion/a34.gif\" />");
	str = str.replace("[s:35]","<img class=\"emoticon\" src=\"images/mb/emotion/a35.gif\" />");
	str = str.replace("[s:36]","<img class=\"emoticon\" src=\"images/mb/emotion/a36.gif\" />");
	str = str.replace("[s:37]","<img class=\"emoticon\" src=\"images/mb/emotion/a37.gif\" />");
	str = str.replace("[s:38]","<img class=\"emoticon\" src=\"images/mb/emotion/a38.gif\" />");

	return str;
}

function showallmessage()
{
	var tabel = $id("filter_tab");
	var els = tabel.getElementsByTagName("li");
	for (var i=0; i < els.length;i++)
	{
		var litag = els[i];
		var atag = litag.getElementsByTagName('a')[0];
		atag.className = "off_tab";
	}
	
	var actli=els[0];
	var acta = actli.getElementsByTagName('a')[0];
	acta.className = "filter_selected bottom_line_bg";
	
	gInfo.type = 0;
	resetandGet();
	return false;
	
}
function showmymessage()
{
	var tabel = $id("filter_tab");
	var els = tabel.getElementsByTagName("li");
	for (var i=0; i < els.length;i++)
	{
		var litag = els[i];
		var atag = litag.getElementsByTagName('a')[0];
		atag.className = "off_tab";
	}
	
	var actli=els[1];
	var acta = actli.getElementsByTagName('a')[0];
	acta.className = "filter_selected bottom_line_bg";
	
	gInfo.type =1;
	resetandGet();
	return false;
}

function showprivatemessage()
{
	var tabel = $id("filter_tab");
	var els = tabel.getElementsByTagName("li");
	for (var i=0; i < els.length;i++)
	{
		var litag = els[i];
		var atag = litag.getElementsByTagName('a')[0];
		atag.className = "off_tab";
	}
	
	var actli=els[2];
	var acta = actli.getElementsByTagName('a')[0];
	acta.className = "filter_selected bottom_line_bg";
	
	gInfo.type = 2;
	resetandGet();
	return false;
}

function getPrivateData(userid)
{
	var knownuser = "";
	for (key in FRIENDS)
	{
		knownuser += key + ",";
	}
	for (key in FANS)
	{
		knownuser += key + ",";
	}
	if (knownuser != "")
	{
		knownuser = knownuser.substr(0,knownuser.length - 1) ;
	}
	
	gInfo.type = 2;
	gInfo.moreData = false;
	gInfo.knownUser = knownuser;
	
	var param = "userid=" + userid + "&knownuser=" + knownuser + "&offset=" + "&privacy=1";
	bb.net.asyncPost("gmb/getfullhutonginfo.jsp",param,getOwnerDataFeedBack);
}

function updateVisitno()
{
	bb.net.asyncPost("gmb/updatePageVisitNum.jsp","",upVisitNoFeedback,errorprocess,"",true);
}

function errorprocess()
{
	gInfo.startProcess = false;
}
function upVisitNoFeedback(result)
{
	alert(result);
}
function showtudouvideo(evt,target,iid)
{
	if (typeof(evt.stopPropagation) == "undefined")
		evt.cancelBubble = true;
	else
	{
		evt.stopPropagation();
	}
	
	var s='<object width="420" height="363"><param name="movie" value="http://www.tudou.com/player/skin/plu.swf?iid=' +iid + '">';
	s+='</param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>';
	s+='<param name="wmode" value="opaque"></param><embed src="http://www.tudou.com/player/skin/plu.swf?iid='+iid+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="420" height="363" autostart="true"></embed></object>';
	$id("object_holder").innerHTML = s;
		
	s='直接链接:<a target="_blank" href="http://www.tudou.com/programs/view/'+target +'">http://www.tudou.com/programs/view/'+target+'</a>';

	$id("videodirectlink").innerHTML = s;
	$id("videocontainer").style.display = "";
	return false;
}

function closevideocontainer()
{
	$id("object_holder").innerHTML = "";
	$id("videocontainer").style.display = "none";
}

function stopMessageTranslate(evt)
{
	if (typeof(evt.stopPropagation) == "undefined")
		evt.cancelBubble = true;
	else
	{
		evt.stopPropagation();
	}
}

function showprofile()
{
	var s='<div><table class="header" style="background-image: url(images/mb/header_bg.gif); width: 651px;">';
	s+='<tr><td class="caption">个人资料设置</td><td class="close"><div><span>.</span></div></td></tr></table></div>';
	s+='<div class="content" style="margin-left: -1px;"><div class="iframe_holder"><iframe scrolling="no" frameborder="0" name="GB_frame" class="GB_frame" id="settingFrame" style="width:650px; height:580px;" src="user/profile.jsp"></iframe></div>';
	s+='<div></div></div>';
	$("#notifypanel").html(s);
	$("#notifypanel").show();
	$("#notifypanel .close").click(function (event) {$("#notifypanel").html("");$("#notifypanel").hide();});
	return false;
}

function showAllFriends(pageindex)
{
	if (typeof(pageindex) == "undefined")
		pageindex = 0;
	
	var s='<div><table class="header" style="background-image: url(images/mb/header_bg.gif); width: 651px;">';
	s+='<tr><td class="caption">好友</td><td class="close"><div><span>.</span></div></td></tr></table></div>';
	s+='<div class="content" style="margin-left: -1px;">';
	s+='<div class="iframe_holder" style="width:650px"><img src="images/ajax-loader1.gif"/></div><div></div></div>';
	$("#notifypanel").html(s);
	var alignoffset = $("div.show_all_friends").offset();

	$("#notifypanel").css("top",(alignoffset.top - 260) + "px");
	$("#notifypanel").show();
	$("#notifypanel .close").click(function (event) {$("#notifypanel").html("");$("#notifypanel").hide();});
	
	$.ajax({
							url:"gmb/getfriends.jsp",
							data:{userid:gInfo.userId,page:pageindex},
							error:function(){$("#notifypanel").html("");$("#notifypanel").hide();},
							success:getFriendInfoFeedBack
								});
	
	return false;
}

function getFriendInfoFeedBack(result)
{
	try
	{
		eval(result);
		var s ="";
		s+='<div style="background-color:#f8fbf8;width:100%">';
  s+='<div style="clear:both;width:100%;padding:3px"><div class="pg_holder">';
		var functionName = "";
		if (result.type == 0)
			functionName = "showAllFriends";
		else
			functionName = "showAllFans";
		
		var current = result.page;
		if (current > 0)
			s+='<a class="pg_nav" href="" onclick="return ' + functionName + '('+(current-1)+');">上一页</a>';
		var pageNo = 0;
		if (result.total % 12 == 0)	
			pageNo = parseInt(result.total / 12);
		else
			pageNo = parseInt(result.total / 12 + 1);
			
			var from = current -4;
			if (from < 0)
				from = 0;

			for (var pageIndex = from ; pageIndex < from + 10; pageIndex++)
			{	
				var index = pageIndex + 1;
				if (pageIndex >= pageNo)
					break;
				 if (pageIndex == current)
					{
							s+='<span class="pg_pages"><a href="" class="pg_normal pg_' + index + ' pg_selected" onclick="return ';
							s+= functionName +'(' + pageIndex + ')">' + index + '</a></span>';
					}
					else
					{
						s+='<span class="pg_pages"><a href="" class="pg_normal pg_' + index + '" onclick="return ';
						s+= functionName + '(' + pageIndex +')">' + index + '</a></span>';
					}
			}
			
			if ((current+1) < pageNo)
				s+='<a class="pg_nav" href="" onclick="return ' + functionName + '('+(current+1)+');">下一页</a>';
		s+='</div></div>';
		
		s+='<div><table cellpadding="4">';
		for (key in result.friends)
		{
			var item = result.friends[key];
			s+='<tr><td style="padding:6px"><img style="width:35px;height:35px" src="';
			var profileImage = item.profileimage;
			if (profileImage == "")
					profileImage = 'user/profileimage/po1024768.jpg';
			else
				profileImage = '' + profileImage;
			s+= profileImage + '" /></td><td style="padding:6px"><a href="' + item.display_name +'" class="user_link">'+item.display_name + '</a><span class="nick_name">' + item.nick_name + '</span><div class="friend_moreInfo">';
			
			var sex ="";
			if (item.gender == "m")
   	sex = "男";
   else
    sex = "女";
			s+=sex + ' 来自' + item.location +	 '</div></td>';
			s+='</tr>';
		}
		s+='</table></div>';
		
		s+='</div>';
		
		$("#notifypanel .iframe_holder").html(s);
		
	}
	catch(e)
	{
		alert(e.message);
	}
}

function showAllFans(pageIndex)
{
	if (typeof(pageindex) == "undefined")
		pageindex = 0;
		
	var s='<div><table class="header" style="background-image: url(images/mb/header_bg.gif); width: 651px;">';
	s+='<tr><td class="caption">粉丝</td><td class="close"><div><span>.</span></div></td></tr></table></div>';
	s+='<div class="content" style="margin-left: -1px;">';
	s+='<div class="iframe_holder" style="width:650px"><img src="images/ajax-loader1.gif"/></div><div></div></div>';
	
	
	$("#notifypanel").html(s);
	var alignoffset = $("div.show_all_friends").offset();
	$("#notifypanel").css("top",(alignoffset.top - 260) + "px");
	$("#notifypanel").show();
	$("#notifypanel .close").click(function (event) {$("#notifypanel").html("");$("#notifypanel").hide();});
		
	$.ajax({
							url:"gmb/getfans.jsp",
							data:{userid:gInfo.userId,page:pageindex},
							error:function(){$("#notifypanel").html("");$("#notifypanel").hide();},
							success:getFriendInfoFeedBack
								});
	
	return false;
}

function initFriendandFanHolder()
{
	var s = "<table><tr>";
	var count = 0;
	for (key in FRIENDS)
	{
		if (count % 4 == 0 && count > 0)
				s += "</tr><tr>";
		var frienditem = FRIENDS[key];
		var nickname = frienditem["nick_name"];
		var displayname = frienditem["display_name"];
		var profileimage = frienditem["profileimage"];
		if (profileimage == "")
			profileimage = "user/profileimage/po1024768.jpg";
		count += 1;
		s += '<td><a title="' + displayname + '" href="' + displayname + '" class="user_link"><img src="' + profileimage + '" /></a></td>';
 }
	s += "</tr></table>";
	$id("friend_holder").innerHTML = s;

	s = "<table><tr>";
		count = 0;
	for (key in FANS) {
		if (count % 4 == 0 && count > 0)
		{
				s += "</tr><tr>";
		}
  var fansitem = FANS[key];
		var nickname = fansitem["nick_name"];
		var displayname = fansitem["display_name"];
		var profileimage =fansitem["profileimage"];
		if (profileimage == "")
			profileimage = "user/profileimage/po1024768.jpg";
		count += 1;
		s += '<td><a title="' + displayname + '" href="' + displayname + '" class="user_link"><img src="' + profileimage + '" /></a></td>';
 }
	s += "</tr></table>";
	$id("fan_holder").innerHTML = s;
}

function eventInitialize()
{
	var tmholder = $id("timeline_holder");
	tmholder.onclick = clicktimelineholder;
	
	if (window.addEventListener)/** DOMMouseScroll is for mozilla. */
 	tmholder.addEventListener('DOMMouseScroll', wheel, true);
		/** IE/Opera. */
		tmholder.onmousewheel = wheel;
		$("#timeline_holder").mousedown(tmholderMouseDown);
		$("#timeline_holder").mouseup(tmholderMouseUp);
		$("#timeline_holder").mousemove(tmholderMouseMove);
		$("#timeline_holder").mouseout(function (){tmMouseflag=0;});
		
		$("#input_big").keydown(inputtextkeydown);
		$("#input_big").keyup(countmessage);
		$("#input_small").keydown(enterresponse);
		$("#input_small").keyup(countrResponse);
}

function clicktimelineholder(event)
{
	$("#response_holder").hide();
	$(".response_time").hide();
	var openResmessageId = $("#responsemessageid").val();
	$("#p" + openResmessageId).removeClass();
	$("#p" + openResmessageId).addClass("funlang");
	$("#p" + openResmessageId + " .manager:div").hide();
	$("#responsemessageid").val("");
	$("#emoticon_selecter").hide();
	$("#notifypanel").hide();
	$("#qualifierpanel").hide();
	$("#sharetypselpanel").hide();
}

function wheel(event){
	var delta = 0;
	if (!event) /* For IE. */
		event = window.event;
	if (event.wheelDelta) { /* IE/Opera. */
			delta = event.wheelDelta/120;
	if (window.opera)
			delta = -delta;
	} else if (event.detail) { /** Mozilla case. */
			delta = -event.detail/3;
	}

	if (delta)
	{
		if (delta > 0)
			shiftcomp(-80);
		else
			shiftcomp(+80);
	}

	if (event.preventDefault)
		event.preventDefault();
	event.returnValue = false;
}

function showresponsequalifier()
{
	var quobj = $("#qualifierpanel")
	quobj.addClass("mini_menu");
	var shareobj = $("#sharetypselpanel");
	shareobj.addClass("mini_menu");
	
	var pos = $("#response_holder .dd_img").offset();
	var width = $("#response_holder .dd_img").width();
 var divObj = $("#qualifierpanel div")
	var top = pos.top - divObj.length * 22;
	if (top < 0)
		top = 6;
	
	quobj.css( { "left": (pos.left + width) + "px", "top":top + "px" } );
	shareobj.css( { "left": (pos.left + width + 48) + "px", "top":(top +23)+ "px" } );
	$("#qualifierpanel .q_record").hide();
	$("#qualifierpanel .q_sell").hide();
 quobj.show();
	shareobj.show();
	$("#qualifierpanel").attr("mode","2");
}

function switchSendWhen()
{
	if ($("#sendLaterBlock").css("display") == "none")
	{
		$("#sendLaterBlock").show();
		$("#selposttimeinfo").html("设定发送");
	}
	else
	{
		$("#sendLaterBlock").hide();
		$("#selposttimeinfo").html("立即发送");
	}
	
}

function showlatestmessage()
{
	 $("#filter_tab li a").removeClass();
		$("#filter_tab li a").addClass("off_tab");
		$("#filter_tab li a")[3].className = "filter_selected bottom_line_bg";
	
	gInfo.type = 3;
	gInfo.gMessagePageOffset=0;
	resetandGet();
	return false;
}

function shiftcomp(offset)
{
	if (gInfo.startProcess == true)
		return;
	
	var shoppos = parseInt($("#officialshoppanel").css("left")) - offset;
	$("#officialshoppanel").css("left",shoppos );

	var elements = $('.block_cnt');
	if (elements.length == 0)
		return;
				
	for (i = 0; i < elements.length; i ++)
	{
		var el = elements[i];
		
		var left = parseInt(el.style.left);
		left = left - offset;
		el.style.left = left + 'px';
	}
					
	var elements = $('.block_bg');
	for (i = 0; i < elements.length; i ++)
	{
		var el = elements[i];
		
		var left = parseInt(el.style.left);
		left = left - offset;
		el.style.left = left + 'px';
	}
	
	layoutInfo.leftOffset-=offset;
	layoutInfo.level1Coverrange-=offset;
	layoutInfo.level2Coverrange-=offset;
	layoutInfo.level3Coverrange-=offset;
	layoutInfo.level4Coverrange-=offset;
		
	$("#response_holder").hide();
	$(".response_time").hide();
var lastel = elements[elements.length - 1];
var lastelpos = parseInt(lastel.style.left);

	var windowwidth = document.body.clientWidth;
	
	if (lastelpos < windowwidth)
	{
		
		if (gInfo.startProcess == false)
		{
			gInfo.startProcess = true;
			getNextData();
		}
	}
}

function showLaterMessage()
{
	 $("#filter_tab li a").removeClass();
		$("#filter_tab li a").addClass("off_tab");
		$("#filter_tab li a")[4].className = "filter_selected bottom_line_bg";
	
		gInfo.type = 4;
		resetandGet();
		return false;
}
function showFinanceMessage()
{
	$("#filter_tab li a").removeClass();
	$("#filter_tab li a").addClass("off_tab");
	$("#filter_tab li a")[5].className = "filter_selected bottom_line_bg";
	
		gInfo.type = 5;
		resetandGet();
		return false;
}

function updateProfileImage(newPic)
{
	
	var currentPageOwner = $("title").html;
	if (typeof(SETTINGS["user_id"]) != "undefined")
	{
		if (currentPageOwner != SETTINGS["user_id"])
			return;
		var preImage = $("#dash-profile img.profile-pic").attr("src");
	
		var allReplace = $(".p_img img");
		for (var i = 0; i < allReplace.length;i++)
		{
			if (allReplace[i].src.indexOf(preImage) != -1)
					allReplace[i].src = newPic;
		}
		$("#dash-profile img.profile-pic").attr("src",newPic);
	}
}

function updateProfile(sex,nickname,birthday,location,aboutme)
{
	var currentPageOwner = $("title").html;
	if (typeof(SETTINGS["user_id"]) != "undefine")
	{
		if (currentPageOwner != SETTINGS["user_id"])
			return;
		$("#full_name span").html("("+nickname+")");
		$("#location").html(location);
		$("#about_me").html(aboutme);
	}
}

var tmMouseflag = 0;
var clickXPos = 0;
function tmholderMouseDown(event)
{
	clickXPos= event.pageX;
	tmMouseflag = 1;
		if (typeof(event.stopPropagation) == "undefined")
			event.cancelBubble = true;
		else
			event.stopPropagation();
		if (event.preventDefault)
			event.preventDefault();
		event.returnValue = false;
	return false;
}
function tmholderMouseUp(event)
{
	tmMouseflag= 0;
	if (typeof(event.stopPropagation) == "undefined")
			event.cancelBubble = true;
		else
			event.stopPropagation();
		if (event.preventDefault)
			event.preventDefault();
		event.returnValue = false;
}
function tmholderMouseMove(event)
{
	var tmholder = $id("timeline_holder");
	tmholder.onmousemove = null;		
	setTimeout("$('#timeline_holder').mousemove(tmholderMouseMove);",200);
	
	var mXpos = event.pageX;
	var offset = clickXPos -mXpos;
	if (tmMouseflag == 1)
	{
			shiftcomp(offset);
			clickXPos = mXpos;
	}
	else
	{
		var tmholderwidth = $("#timeline_holder").width();
		var rightLimit = tmholderwidth - 80;
		if (event.pageX < 80)
		{
			$("#leftarrowp:div").show();
		}
		else if (event.pageX > rightLimit)
		{
			$("#rightarrowp:div").show();
			var panPos = tmholderwidth - 92;
			$("#rightarrowp:div").css("left",panPos);
		}
		else
		{
			$("#leftarrowp:div").hide();
			$("#rightarrowp:div").hide();
		}
	}
	
	if (typeof(event.stopPropagation) == "undefined")
		event.cancelBubble = true;
	else
		event.stopPropagation();
	if (event.preventDefault)
		event.preventDefault();
	event.returnValue = false;
}
function showfinancereport(type)
{
	var s='<div><table class="header" style="background-image: url(images/mb/header_bg.gif); width: 651px;">';
	s+='<tr><td class="caption">帐务查询</td><td class="close"><div><span>.</span></div></td></tr></table></div>';
	s+='<div class="content" style="margin-left: -1px;"><div class="iframe_holder" style="padding:12px;height:420px;width: 626px;">';
	
	s+='开始日期: <input type="text" id="formdate" style="padding:3px" />&nbsp;结束日期: <input type="text" id="enddate" style="padding:3px" />&nbsp;<input type="button" value="查询" onclick="generateReport()" /><div id="financeinfo" style="padding:12px 0px"><img style="display:none" src="images/ajax-loader1.gif"/></div>';
	
	s+='</div><div></div></div>';
	$("#notifypanel").html(s);
	$(function() {$("#formdate").datepicker();});	
	$(function() {$("#enddate").datepicker();});	
		var myDate = new Date();
  var month = myDate.getMonth() + 1;
  var prettyDate = myDate.getFullYear() + "-" + month + '-' + myDate.getDate();
  $("#formdate").val(prettyDate);
		$("#enddate").val(prettyDate);
		
	$("#notifypanel").show();
	$("#notifypanel .close").click(function (event) {$("#notifypanel").html("");$("#notifypanel").hide();});
	
	 if (type == 1)
		{
				var premonth = myDate.getMonth();
				var fromyear = myDate.getFullYear();
				var premonthDate = myDate.getDate();
				if (premonth == 0)
				{
					premonth = 12;
					fromyear -= 1;
				}
				if ((premonth == 4 || premonth == 6 || premonth==9 || premonth == 11) && premonthDate > 30)
					premonthDate = 30;	
				else if (premonth ==2 && premonthDate > 28)
					premonthDate =  28;
  		var preMonthDate = fromyear + "-" + premonth + '-' + premonthDate;
 	 	$("#formdate").val(preMonthDate);
		
				$("#notifypanel").css("top","200px");
				generateReport();
		}
	return false;
}
function generateReport()
{
	var startDate = $("#formdate").attr("value");
	var endDate = $("#enddate").attr("value");
		$.ajax({
							url:"gmb/getfinancemessage1.jsp",
							type: "post",
							data:{start:startDate,end:endDate},
							beforeSend:function(){$("#financeinfo").html('<img src="images/ajax-loader1.gif"/>');},
							error:function(){$("#financeinfo img").hide();},
							success:getReport,
							complete:function(){}
								});
}

function getReport(result)
{
	$("#financeinfo img").hide();
	try
	{
		eval(result);
		var totalRMBIncome = 0;
		var totalRMBOutcome = 0;
		var totalNTIncome = 0;
		var totalNTOutcome = 0;
		var totalUSIncome = 0;
		var totalUSOutcome = 0;
		
		var s="";
		if (message.length == 0)
		{
			s += '<p><b>此段期间，您没有纪录任何流水帐信息! 您可以点选主页下方输入信息栏位旁的向下箭头图标<img src="images/mb/qualifiersel.gif" />选择<span style="color:red">流水帐</span>项目，就可以轻松记录您个人的收支出状态。</b></p>';

		}
	
		s += '<table style="width:100%; border:1px solid #eeeeee"><tr><td>类别</td><td>金额</td><td>描述</td><td>时间</td></tr>';
		for (var i = 0; i < message.length; i++)
		{
			var item = message[i];
			var amount = item.amount;
			var currency = item.currency;
			s+="<tr><td>";
			if (amount > 0)
			{
				if (currency == 0)
					totalRMBIncome += amount;
				else if (currency == 1)
					totalNTIncome += amount;
				else if (currency == 2)
					totalUSIncome += amout;
				s+="收入";
			}
			else
			{
				if (currency == 0)
					totalRMBOutcome += Math.abs(amount);
				else if (currency == 1)
					totalNTOutcome += Math.abs(amount);
				else if (currency == 2)
					totalUSOutcome += Math.abs(amount);
					
				s+="支出";
			}
				s+="</td>";
			
				var currencyamount = formatCurrency(Math.abs(amount),currency);
				if (amount >=0)
				s+='<td style="text-align:right">' + currencyamount + '</td>';
				else
				s+='<td style="text-align:right;color:red">' + currencyamount + '</td>';
				s+='<td style="text-align:left">' + item.content + '</td>';
				var posttime = item.posted;
				var minute = posttime.getMinutes();
				if (minute < 10)
						minute = "0"+minute;
				var displaytime = posttime.getFullYear() + "-" + (posttime.getMonth() + 1) + "-" + posttime.getDate()+ " " + posttime.getHours() + ":" +minute + ":"+posttime.getSeconds();
				s+="<td>" + displaytime  + "</td>";
				s+="</tr>";
		}
		s+="</table>";
		var final= totalRMBIncome - totalRMBOutcome;
		var totalInfo = '<div style="padding:6px">币别:<select><option value=0 in="' +totalRMBIncome+'" out="' + totalRMBOutcome + '" >人民币</option><option value=1 in="' +totalNTIncome+'" out="' + totalNTOutcome + '">台币</option><option value=2 in="' +totalUSIncome+'" out="' + totalUSOutcome + '">美元</option></select>&nbsp;<span>总收入:&nbsp;</span><span id="incomeall">'+  formatCurrency(totalRMBIncome,0) + '</span>&nbsp;&nbsp;&nbsp;<span style="color:red">总支出:&nbsp;</span><span id="outcomeall">'+ formatCurrency(totalRMBOutcome,0) + '</span>&nbsp;&nbsp;&nbsp;<span style="color:#1d8d35">加总:&nbsp;</span><span id="finalcalall">' + formatCurrency(final,0) +'</span></div>';
		$("#financeinfo").html(totalInfo +s);
		$("#financeinfo select").change(function() {var income = parseFloat($("#financeinfo option:selected").attr("in"));
			var outcome = parseFloat($("#financeinfo option:selected").attr("out"));var total=income - outcome;
			var currency = $("#financeinfo select").val();
			$("#incomeall").html(formatCurrency(income,currency));
			$("#outcomeall").html(formatCurrency(outcome,currency));
			$("#finalcalall").html(formatCurrency(total,currency));
			
		});
		$("#financeinfo tr").css("text-align","center");
		$("#financeinfo td").css({'border':'1px solid #eeeeee','padding':'6px'});
		$(".iframe_holder:div").css("overflow","auto");
	}
	catch (e)
	{
		alert(e.message);
	}
}
function formatCurrency(num,currency) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
var moneySymbol = "¥";
if (currency == 1)
	 moneySymbol = "NT$";
else if (currency == 2)
	moneySymbol = "US$";

return (((sign)?'':'-') + moneySymbol + num + '.' + cents);
}
